教 程 目 录

__future__模块

Python 3.x介绍了一些Python 2不兼容的关键字和功能,可以通过Python 2中内置的__future__模块导入

.如果您计划对代码进行Python 3.x支持,建议使用__future__ imports.

例如,如果我们想在Python 2中使用Python 3.x的整数除法行为,请添加以下导入语句.from __future__ import division

打印功能

Python 3中最值得注意和最广为人知的变化是如何使用print函数.现在必须使用带有打印功能的括号().它在Python 2中是可选的.print "Hello World" #is acceptable in Python 2

print ("Hello World") # in Python 3, print must be followed by ()

print()函数默认在末尾插入一个新行.在Python 2中,可以通过在末尾添加","来抑制它.在Python 3中,"end =''"附加空格而不是换行符.print x, # Trailing comma suppresses newline in Python 2

print(x, end=" ") # Appends a space instead of a newline in Python 3

从键盘读取输入

Python 2有两个版本的输入函数,input()和raw_input(). input()函数将接收的数据视为字符串,如果它包含在引号''或""中,否则数据被视为数字.

在Python 3中,raw_input()函数已弃用.此外,接收的数据始终被视为字符串.In Python 2

>>> x = input('something:')

something:10 #entered data is treated as number

>>> x

10

>>> x = input('something:')

something:'10' #entered data is treated as string

>>> x

'10'

>>> x = raw_input("something:")

something:10 #entered data is treated as string even without ''

>>> x

'10'

>>> x = raw_input("something:")

something:'10' #entered data treated as string including ''

>>> x

"'10'"

In Python 3

>>> x = input("something:")

something:10

>>> x

'10'

>>> x = input("something:")

something:'10' #entered data treated as string with or without ''

>>> x

"'10'"

>>> x = raw_input("something:") # will result NameError

Traceback (most recent call last):

File "", line 1, in

x = raw_input("something:")

NameError: name 'raw_input' is not defined

整数分部

在Python 2中,两个整数除法的结果四舍五入到最接近的整数.结果,3/2将显示1.为了获得浮点除法,必须将分子或分母明确地用作浮点数.因此,3.0/2或3/2.0或3.0/2.0将导致1.5

Python 3默认情况下将3/2评估为1.5,这对新程序员来说更直观.

Unicode表示

Python 2要求您使用au标记字符串,如果要将其存储为Unicode.

默认情况下,Python 3将字符串存储为Unicode.我们有Unicode(utf-8)字符串和2字节类:字节和字节数组.

xrange()函数已删除

在Python 2中range()返回一个列表,xrange()返回一个对象,该对象只在需要时生成范围内的项目,从而节省内存.

在Python 3中,range()函数是已删除,xrange()已重命名为range().此外,range()对象支持Python 3.2及更高版本中的切片.

引发异常

Python 2接受两种符号,'old'和'新'语法;如果我们不在括号中包含异常参数,Python 3会引发一个SyntaxError.raise IOError, "file error" #This is accepted in Python 2

raise IOError("file error") #This is also accepted in Python 2

raise IOError, "file error" #syntax error is raised in Python 3

raise IOError("file error") #this is the recommended syntax in Python 3

异常中的参数

在Python 3中,异常的参数应该用'as'关键字声明.except Myerror, err: # In Python2

except Myerror as err: #In Python 3

next()函数和.next()方法

在Python 2中,next()作为方法允许生成器对象.在Python 2中,也接受了迭代生成器对象的next()函数.然而,在Python 3中,next(0作为生成器方法停止并引发AttributeError.gen = (letter for letter in 'Hello World') # creates generator object

next(my_generator) #allowed in Python 2 and Python 3

my_generator.next() #allowed in Python 2. raises AttributeError in Python 3

2to3 Utility

除了Python 3解释器外,2to3.py脚本通常安装在tools/scripts文件夹中.读取Python 2.x源代码并应用一系列修复程序将其转换为有效的Python 3.x代码.Here is a sample Python 2 code (area.py):

def area(x,y = 3.14):

a = y*x*x

print a

return a

a = area(10)

print "area",a

To convert into Python 3 version:

$2to3 -w area.py

Converted code :

def area(x,y = 3.14): # formal parameters

a = y*x*x

print (a)

return a

a = area(10)

print("area",a)

相关新手教程:

python3在线-Python 3中的新功能相关推荐

  1. python3 2.00gb怎么去掉单位_最值得期待的Python 3.9的新功能

    Python 3.9 beta预计下个月就要发布了,那么3.9有那些让我们期待的新功能和变更呢?本我我们一起来说Python 3.9的新功能的. 安装测试版 为了能够实际探索Python 3.9 的功 ...

  2. python keyshot_带你快速了解KeyShot 6中的新功能

    原标题:带你快速了解KeyShot 6中的新功能 经常有朋友问起好用吗?KeyShot在版本完善的同时增加了强大的新功能,加快了渲染速度和创建高质量的视觉效果,体验一种完整工作流与更快的照明功能和扩展 ...

  3. 新手必看:Python 3.8六大新功能

    2020-01-30 12:10:38 全文共2372字,预计学习时长7分钟 来源:Pexels IT业日新月异,落后的Python 2将在2020年逐渐被淘汰. 2019年,随着数据科学的兴起,Py ...

  4. SQLSERVER2014中的新功能

    SQLSERVER2014中的新功能 转载自:http://blog.csdn.net/maco_wang/article/details/22701087 博客人物:maco_wang SQLSER ...

  5. Java平台,标准版Oracle JDK 9中的新功能

    Java平台,标准版 Oracle JDK 9中的新增功能 版本9 E77563-05 2017年9月 JDK 9中的新功能概述 Java Platform,Standard Edition 9是一个 ...

  6. drx功能开启后_简单实用!小米手机中这些新功能真香

    小米手机作为国产机热销品牌之一,它除了有好看的外观,还有很多隐藏的实用功能,今天小编就来和大家分享5个小米手机里你不知道的功能. Al电话助理 看到陌生号码时,很多人第一反应就是挂掉,不想接听,但又担 ...

  7. python random模块中的指令_10分钟让你掌握python编程中random模块功能使用,非常详细...

    原标题:10分钟让你掌握python编程中random模块功能使用,非常详细 python作为一门高级编程语言,它的定位是优雅.明确和简单.阅读Python编写的代码感觉像在阅读英语一样,这让使用者可 ...

  8. java中怎样定义实数_Java Math 类中的新功能,第 1 部分: 实数

    在这篇由两部分组成的文章中,Elliotte Rusty Harold 与您一起探讨经典 java.lang.Math 类中的"新"功能.第 1 部分主要讨论比较单调的数学函数.第 ...

  9. Windows Server 2012 DHCP 服务器中的新功能:故障转移和策略

    Windows Server 2012 DHCP 服务器中的新功能如下: DHCP 故障转移:此功能提供让两个 DHCP 服务器服务于 同一子网或作用域的 IP 地址和选项配置的能力,前提是 DHCP ...

最新文章

  1. ceph bluestore 源码分析:刷缓存(trim)逻辑
  2. 12岁AI开发者现身DuerOS发布会:得开发者得天下
  3. Android 内存管理 amp;Memory Leak amp; OOM 分析
  4. 融云发送自定义消息_数据源管理 | Kafka集群环境搭建,消息存储机制详解
  5. VTK 7.0 安装中内存读取冲突 no override found for “.. 解决记录
  6. golang 热插拨 插件_从零开始实现一个插件化框架(一)
  7. hash table(完全散列实现的哈希表)
  8. 常用正则表达式和shell命令列表
  9. 深夜遭粉丝质问!4天掌握新东方26年教育精华的方法,你怎么不早说?
  10. 并发测试工具_性能测试工具基本工作原理及基本操作流程
  11. 网易严选搜索推荐实践之:“全能选手”召回表征算法实践.pdf(附下载链接)...
  12. indes.php默认文件,linux-php的编译安装3
  13. php cli运行获取参数,php cli传递参数的方法
  14. 安卓listview控件使用
  15. C++ 输出Unicode字符的正确方法
  16. python手写计算器
  17. 高中计算机会考excel试题及答案,高中计算机会考EXCEL会考练习试题
  18. 火山视频抖音版批量下载,一个脚本就够了,手把手教你批量下载抖音火山高清视频。
  19. SPSS Modeler泰坦尼克号幸存者分析
  20. linux 的源码怎么查看,查看linux源代码

热门文章

  1. 程序猿老公去米国参加 WWDC,顺便想带渡老婆蜜月,如何办签证?
  2. mongodb集群——配置服务器放分片meta信息,说明meta里包含了哪些数据信息
  3. 函数重载和覆盖(重写)的区别
  4. pymysql Key error:255的解决办法
  5. MySQL安装时MySQL server一直安装失败日志显示This application requires Visual Studio 2013 Redistributable...
  6. Java算法测试的输入模板
  7. VirtualBox Ubuntu虚拟机串口编程
  8. centOS+uwsgi+nginx 部署flask项目,问题记录
  9. Python 获取接口数据,解析JSON,写入文件
  10. Hibernate的关联关系映射