python2.* 版本 与 3.* 版本中的区别
Unicode编码
- python2.x 解释器默认编码格式:ASCII,因此默认字符串不支持中文
- python3.x 解释器默认编码格式:UTF-8
print函数
print "Hello World" # 2.x版本中格式
print("Hello World") # 3.x版本中格式
''' 2.6版本已可以支持新的print()语法'''
from __future__ import print_function
print("fish", "panda", sep=', ')
raw_input() 和 input( )
python2.x中raw_input()和input( ),两个函数都存在,其中区别为:
- raw_input()---将所有输入作为字符串看待,返回字符串类型
- input()-----只能接收"数字"的输入,在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型(int, float )
在python3.x中raw_input()和input( )进行了整合,去除了raw_input(),仅保留了input()函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
不等运算符
- python2.x 不等于,有两种写法:!= 和 <>
- python3.x 不等于,只有一种写法:!=,去掉了 <> 写法
数据类型
python2.x中数据类型分为:整型(int)和长整型(long)两种类型;
python3.x中去掉了长整型(long),把长整型(long)整合到整型(int)中,保留了一种;
python3.x中新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法;
>>> b = b'china'
>>> type(b)
<type 'bytes'>
str 对象和 bytes 对象可以使用 .encode() (str -> bytes) 或 .decode() (bytes -> str)方法相互转化;
>>> s = b.decode()
>>> s
'china'
>>> b1 = s.encode()
>>> b1
b'china'
除法
python2.x 中一个整数(无小数部分的数)被另外一个整数除,计算结果的小数部分被截除了,只留下了整数部分;
>>> 1/2
0
让Python2.x改变除法的默认执行方式可以在程序中加入以下语句,或者在解释器里执行它:
>>> from __future__ import division
>>> 1/2
0.5
python3.x中变成真除法(无论任何类型都会保持小数部分,即使整除也会表示为浮点数形式)。
>>> 1/2
0.5
map 和 filter
python2.x 中map和filter两者的类型是:内置函数(built-in function),返回值则是列表类型数据;
map(lambda x:x*2, [1,2,3]) >> [2,4,6]
filter(lambda x:x%2==0, range(10)) >>[0,2,4,6,8]
python3.x 中map和filter两者的类型是:类(class),返回结果也从当初的列表成了一个可迭代的对象;
map(lambda x:x*2, [1,2,3]) >> map object at 0x10d8bd400>
filter(lambda x:x%2==0, range(10)) >> filter object at 0x10d8bd3c8>
python2.* 版本 与 3.* 版本中的区别的更多相关文章
- __getattr__在python2.x与python3.x中的区别及其对属性截取与代理类的影响
python2.x中的新类型类(New-style class)与python3.x的类一致,均继承object类,而不继承object的类称为经典类(classic class),而对于这两种类,一 ...
- python的基本知识,range在python2.x中和python3.x中的区别
这些是最开始学习python时的笔记,今天整理一下,在这里记录一下. 各种基础代码解释 for key,item in enumerate(li): print(key,item) inp=input ...
- jQuery中slim版本与普通版本的区别
在jQuery3中,推出了一个slim版本.slim,百度翻译:细长的; 苗条的,纤细的; 微小的; 无价值的. 区别概述: slim即简化版,比普通版本缺少Ajax和特效模块模块. 官方发布地址:h ...
- Ubuntu桌面版本和服务器版本之间的区别(转载)
转载自:http://blog.csdn.net/fangaoxin/article/details/6335992 http://www.linuxidc.com/Linux/2010-11/297 ...
- debug版本和release版本的区别?
好久没有做web项目了,这项目完成了要发布网站,不好忘了 以前操作过的? 还好脑子还是有点印象 现还是 写个文档吧记录吧 免得 以后作别的了又忘了 那可不妙啊 网站发布步骤:1.先将
- 【转】Windows下安装python2和python3双版本
[转]Windows下安装python2和python3双版本 现在大家常用的桌面操作系统有:Windows.Mac OS.ubuntu,其中Mac OS 和 ubuntu上都会自带python.这里 ...
- jQuery3 slim版本和普通版本区别,如何选择?
区别概述: slim即简化版,比普通版本缺少Ajax和特效模块模块. 官方发布地址:http://blog.jquery.com/2017/03/20/jquery-3-2-1-now-availab ...
- Maven中的SnapShot版本和Release版本
# Maven中的SnapShot版本和Release版本 ## 区别 - SnapShot 快照版本- Release 发布版本 ## 重要区别 - 本地获取这些依赖的机制不同,如果是快照版本,Ma ...
- 理解Maven中的SNAPSHOT版本和正式版本
Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...
- 解决VS+opencv中Debug版本与Release版本lib切换的问题
Author: Maddock Date: 2015-03-26 09:34:48 问题来源:http://bbs.csdn.net/topics/390733725 PS: 按照上述方法做的时候,在 ...
随机推荐
- 【Problems】端口被占用 查看是被谁占用并关闭它
文章目录 Windows Linux 经常在Windows.Linux环境下运行JavaWeb项目,Tomcat的端口被占用了. 端口被占用就查看是被谁占用关闭它就行. Windows 在Window ...
- zabbix_server上的问题
不要写成127.0.0.1,要不然一直包zabbix agent没有启动.
- 【Docker】Failed to get D-Bus connection: Operation not permitted解决
------------------------------------------------------------------------------------------------- | ...
- ctfhub技能树—信息泄露—PHPINFO
打开靶机 查看页面,是PHP info界面 只有这一个页面,查找一下有没有flag 拿到flag 浅谈ctf中phpinfo需要关注的点(转自先知社区) 1 https://xz.aliyun.com ...
- Linux—curl命令讲解
命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具 ...
- 关于BAPI_GOODSMVT_CREATE中货物移动相关事务代码说明
BAPI_GOODSMVT_CREATE参数 goodsmvt_code中的GM_CODE是为 BAPI 货物移动分配事务代码 其取值为下面对应的事务代码: 01 MB0102 MB3103 MB1A ...
- day128:MySQL进阶:
目录 1.介绍和安装 2.基础管理 2.1 用户管理 2.2 权限管理 2.3 连接管理 2.4 配置管理 3.MySQL的体系结构 4.SQL 5.索引和执行计划 1.介绍和安装 1.1 数据库分类 ...
- Redis 实战 —— 06. 持久化选项
持久化选项简介 P61 Redis 提供了两种不同的持久化方法来将数据存储到硬盘里面. RDB(redis database):可以将某一时刻的所有数据都写入硬盘里面.(保存的是数据本身) AOF(a ...
- Spring Security 实战干货:分布式对象SharedObject
1. 前言 在上一篇我们对AuthenticationManager的初始化的细节进行了分析,其中里面有一段代码引起了不少同学的注意: ApplicationContext context = htt ...
- Python+Selenium+Unittest实现PO模式web自动化框架(6)
1.TestCases目录下的模块 TestCases目录下是存放测试用例的目录. TestCases目录下的测试用例采用unittest框架来构建. 例如:登录功能的测试用例.(test_1_log ...