python初学笔记(逐步更新),, python2和


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-1Gb2312:共搜录了7445个字符,其中6763个汉字和682个其他字符,1980年产生Gbk 1.0:收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。1995年Gb18030:收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。2000年unicode:万国码,字符和符号用16位的2个字节来表示,2**16Utf-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:%sage:%djob:%ssalary:%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和decode7、列表中的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

python初学笔记(逐步更新)

评论关闭