博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3新特点
阅读量:7155 次
发布时间:2019-06-29

本文共 3852 字,大约阅读时间需要 12 分钟。

#xiaodeng#python 3#1、编码方式和性能'''1、py3运行效率更快2、默认源文件编码ASCII变为UTF-8,以前文件前加入的coding=utf-8不再需要3、针对unicode的处理有了明显的改善,效率明显提升'''#2、数据类型和基本运算'''1、int和long进行了统一,统一为int2、True、False、None都是关键词3、必须以b'...'表示二进制数据,可以使用u'..'表示字符串,不加u也表示字符串4、移除<>不等号,使用“!=”表示不等号关系    1)2!=3    2)2<>3 #出现语法错误5、调整除法符号‘/’的用法,只返回浮点数,要返回整数要使用“//”6、py3运算对数据的类型要求更加的严格'''def foo(test=None):    if test is None:        print (test)foo()print (5/2)   #浮点数print (5//2)   #整数print (1/3)#4、print和exec用法'''1、print是一个函数,不再是一个语句,其中不需要用空格,后面打印的内容需要有括号括起来2、exec函数用法发生变化'''def foo():    _local=locals()    exec('a=4',globals(),_local)    a=_local['a']    print(a)foo()#5、input、bin、oct和for循环'''1、raw_input统一为input    在py2中用法为:    1)a=raw_input('请输入:')       print a    2)a=input('请输入:')  #接收一个有效的表达式,如:2+3,而不能单独接收3       print a2、for循环的变量不再泄露在全局变量中,此bug已修复    1)Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32    Type "copyright", "credits" or "license()" for more information.    >>> i=8    >>> print [i for i in range(5)]    [0, 1, 2, 3, 4]    >>> print i    4   #按照道理来讲for循环中的i与最外面的i=8的i是不同的,但是这里。。。。。    >>>    2)    i=6    print([i for i in range(5)])#结果为[0, 1, 2, 3, 4]    print(i)#结果i=6'''#6、a=input('请输入:')#这里不再需要一个有效的表达式,他的用法和raw_input相同#print(a)#7、range和dict的变化'''1、在python2中,range火xrange会创建一个列表。常出现在for循环、字典、列表中,但是py3中xrange改名为range,在python3中使用使用xrange会触发错误。同时range返回的是可迭代对象而不再是列表形式,要想使range的结果得到一个list数据必须要使用list(range(5))2、字典内的dict.iterkeys(),dict.itervalues(),dict.iteritems()被keys() and values() and items()所替代他们的返回结果类似于集的可迭代对象,而不是键值对的列表。从而在不进行键和值条目复制的情况下就能对其执行set操作'''a=range(6)print(a)#result:range(0,6)对象,不是列表print(list(a))#result:[0, 1, 2, 3, 4, 5]for i in range(6):    print(i)#print(xrange(5))   #报错:提示为name"xrange" is'not defined#dict案例d={
'name':"iaodeng",'sex':28}print(d.items())print(type(d.items())) #
#返回结果 dict_items([('name', 'iaodeng'), ('sex', 28)])#这里不再是列表形式'''Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> d={'name':"iaodeng",'sex':28}>>> print d{'name': 'iaodeng', 'sex': 28}>>> print d.items()[('name', 'iaodeng'), ('sex', 28)]>>> print d.iteritems() #返回一个可迭代对象
>>> for i in d.iteritems():print i('name', 'iaodeng')('sex', 28)>>>'''print('xiaodeng: d.keys():',d.keys()) #xiaodeng: d.keys(): dict_keys(['name', 'sex'])print(type(d.keys()))#
#values()同理print("既然是可迭代对象,那么还可以进行下面操作")for i in d.items(): print(i)for key in d.keys(): print(key)print("values用法同理")print('用list将可迭代对象转化为list数据')print(list(d.values()))#7、python3具有单一的str类型,其类型相当于python2的unicode,python3所有的字符串都是unicode#新增bytes类型a=b"china"print(type(a)) #
#str和tytes对象都可以使用encode和decode来进行转化s=a.decode()print(s) #china 字符串类型s=s.encode()print(s) #b"china", tytes字节类型#8、输入和输出a=open('test.txt','w')a.write("write in something")a.close()b=open("test.txt","r")print(b.read()) #note:注意加括号"""1、如果要对文本执行任何I/O操作,python3会强制用户使用文本模式,打开文件,如果不想使用默认编码utf-8通常需要指明所需的编码2、如果对二进制数据进行I/O操作,必须使用二进制模式打开文件或进行读写操作 eg: f=open("test1.txt","wb+") #二进制追加模式 f.write(b"w love fengmei") #必须加b,以bytes对象的形式进行写入 f.close() file=open(filename,mode) mode: r:只读模式 w:只写,如果文件已存在则会进行覆盖操作,所以格外小心,如果文件不存在则创建新的文件 a:打开文件用于追加,只写如果文件不存在则创建 b:二进制,不能单独使用 经过演变会有很多形式"""#9、迭代器"""1、range在python3中返回颗迭代对象二不是列表,最大限度节约内存2、zip(),map(),filter(),key(),value()返回的均是可迭代对象"""#10、异常错误处理"""1、必须使用关键词as,try 和except NameError as e语句2、案例: python 2 try: something except NameError,err: print err python3 try: something except NameError as err: print(err)3、raise触发语法用法的变化,python3只接受带括号的 1)raise IOError,"file error" #出现语法错误 2)raise IOError("file error")"""#11、面向对象"""1、需要单独深入学习"""#12、模块的变动

 

转载地址:http://xiegl.baihongyu.com/

你可能感兴趣的文章
《0bug-C/C++商用工程之道》节选01--内存栈-1
查看>>
写好一个项目不容易
查看>>
类似微信5.x朋友圈的弹出框评论功能
查看>>
检测到会话cookie中缺少HttpOnly属性
查看>>
Centos 6.5 python 2.6.6 升级到 2.7.3,并安装easy_install和pip工具过程
查看>>
我的友情链接
查看>>
嵌套循环连接,哈希连接,排序合并连接(2015-2-4学习日记)
查看>>
jquery each的用法
查看>>
家庭作业
查看>>
git 入门第一节 创建版本库 及 相关命令使用
查看>>
mysql 5.7 初始密码问题
查看>>
读《HeadFirst设计模式》笔记之单例模式
查看>>
我的友情链接
查看>>
vs下.def文件使用无效问题
查看>>
数字万用表的使用_易天教学
查看>>
Hexo+Github部署自己的博客
查看>>
shell 目录
查看>>
初用 Git 小问题解决备忘录
查看>>
yii 显示调试信息及数据库配置
查看>>
mysql 用户权限操作
查看>>