python初学笔记(逐步更新)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python初学笔记(逐步更新)相关的知识,希望对你有一定的参考价值。
python2和python3在一小部分有点点区别,但是对于编程来说没有太大的区别,在版本说明中,python2的官方支持到2020年截止,所以学习的时候尽量是用python3的版本:
1、print的区别,在python2中,可以直接使用print “name”,这样的表达式,在python3中就必须加上括号,如:print (“name”),这样更加规范。
2、python字符编码的支持,在python2中,不支持unicode编码(支持直接中文),utf-8是unicode编码的压缩和优化版本,所有字符编码的版本都是向下兼容的,兼容性关系如下:
ASCII<GB2312<GBK1.0<GB18030<UNICODE<UTF-8
各自的特性如下:
ascii:8位表示一个字节,最多表示255个字符,2**8-1=256-1
Gb2312:共搜录了7445个字符,其中6763个汉字和682个其他字符,1980年产生
Gbk 1.0:收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。1995年
Gb18030:收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。2000年
unicode:万国码,字符和符号用16位的2个字节来表示,2**16
Utf-8:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存
3、在python3中的input和python2中的raw_input是一样的效果。
4、格式化输出
info1 = ‘‘‘ -------info of ‘‘‘ + name + ‘‘‘------- name:‘‘‘+ name +‘‘‘ age:‘‘‘+ age + ‘‘‘ job:‘‘‘+ job + ‘‘‘ salary:‘‘‘+ salary + ‘‘‘ ‘‘‘ #字符串拼接的方式 info2 = ‘‘‘ -----info2 of %s------ name:%s age:%d job:%s salary:%f ‘‘‘% (name,name,age,job,salary) # %s中的s表示string,d表示整数类型,f表示浮点类型 info3 = ‘‘‘ ----info3 of {_name}----- name:{_name} age:{_age} job:{_job} salay:{_salary} ‘‘‘.format(_name=name, _age=age, _job=job, _salary=salary) info4 = ‘‘‘ ----info3 of {0}----- name:{0} age:{1} job:{2} salay:{3} ‘‘‘.format(name,age,job,salary)
四种格式,第一种不建议使用,因为会在内存中分配多个内存空间,效率低下。建议使用第三种,格式规范。
5、在循环中,continue是跳出本次循环继续执行,break是跳出整个循环。
6、str类型和bytes类型之间转换,encode和decode
7、列表中的copy方法叫做浅拷贝,只能拷贝列表的第一层。如果需要深层copy需要引入copy模块,import copy,在copy列表的时候需要直接手动指定深copy,如:name1=copy.deepcopy(names),但是需要占用凉快独立的内存空间。
有三种浅copy的方式:
name=copy.copy(names);
name=names[:];
name=list(names)
8、print(range(1,10,2)),步长为2打印1-10的数字。 print(name[0:-1:2]),跳着进行列表切片,0和-1和省略,可以为如下,print(name[::2])
9、元组可以叫做只读列表,只有count和index两个方法
10、字符串的操作中is identifier()方法是判断是不是一个合法的标识符
11、字典是无序的,没有下标。只需要通过key去查找。字典:key-value。字典中添加,直接输入key-value值即可,删除的方式有多种:
del info["number"];
info.pop["number”]
print(info.get(‘number‘))安全的查找字典中内容,如果值存在着返回值,不存在则反馈none