python 版本问题大全
坑一
一下午的时间又让这个不是问题的问题给白白给浪费了,此片文章仅仅纪念一下浪费掉的宝贵时间
新式类与经典类问题
class qwe:
def __init__(self, name):
self.name = name @property
def f4(self):
temp = self.name
return temp @f4.setter
def f4(self, value):
print '打印的东西'
self.name = value a = qwe("111")
a.f4 = 456
print(a.f4)
在特性的使用过程中,在2.7的版本中如果类不继承object的话,@property将不起作用
坑二
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。
bytes类型在python3中才新加入的,在python2中没有这个函数
python2中
a = 'hello'
print type(a)
print type(bytes(a))
print type(str(a)) <type 'str'>
<type 'str'>
<type 'str'>
python3中
b = 'hello'
print(type(b))
print(type(bytes(b,encoding='utf8')))
print(type(str(b))) <class 'str'>
<class 'bytes'>
<class 'str'>
坑三
人们常常会忽视Python 3在整数除法上的改动,而导致在代码迁移的过程中出现错误,而且在面试题中也有出现,所以值得总结一下
import platform
print (platform.python_version()) print ('=========================')
print ('3 / 2 =', 3 / 2)
print ('3 // 2 =', 3 // 2)
print ('3 % 2 =', 3 % 2)
print ('=========================')
print ('3 / 2.0 =', 3 / 2.0)
print ('3 // 2.0 =', 3 // 2.0)
print ('3 % 2.0 =', 3 % 2.0)
print ('=========================')
print ('3.0 / 2.0 =', 3.0 / 2.0)
print ('3.0 // 2.0 =', 3.0 // 2.0)
print ('3.0 % 2.0 =', 3.0 % 2.0)
print ('=========================')
python 2.7.13
2.7.13
=========================
3 / 2 = 1
3 // 2 = 1
3 % 2 = 1
=========================
3 / 2.0 = 1.5
3 // 2.0 = 1.0
3 % 2.0 = 1.0
=========================
3.0 / 2.0 = 1.5
3.0 // 2.0 = 1.0
3.0 % 2.0 = 1.0
=========================
python 3.2.0
3.2.0
=========================
3 / 2 = 1.5
3 // 2 = 1
3 % 2 = 1
=========================
3 / 2.0 = 1.5
3 // 2.0 = 1.0
3 % 2.0 = 1.0
=========================
3.0 / 2.0 = 1.5
3.0 // 2.0 = 1.0
3.0 % 2.0 = 1.0
=========================
由上面的执行结果可以看出来,两者最主要的不同在于整数除法上的改动,在python2系列中俩个整数间相除得到的结果为整数,而在python3中俩整数相除的结果最少保留一位小数(整除一位小数,非整除该几位就几位)
python 版本问题大全的更多相关文章
- python 库资源大全
偶然的机会翻到这篇文章,很全面,来源: Python 资源大全中文版 哪些 Python 库让你相见恨晚? 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 pyth ...
- python库包大全(转)
python 库资源大全 转自: Python 资源大全中文版 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python ...
- Python常用模块大全
Python常用模块大全 os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.c ...
- python中文资源大全
Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列 ...
- python第三方库大全
环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python 版本管理工具.官网 Vex:可以在虚拟环境中执行命令.官网 v ...
- Python精选库大全,建议收藏留用!
Python为啥这么火,这么多人学,就是因为简单好学,功能强大,整个社区非常活跃,资料很多.而且这语言涉及了方方面面,比如自动化测试,运维,爬虫,数据分析,机器学习,金融领域,后端开发,云计算,游戏开 ...
- 提取bmp图片的颜色信息,可直接framebuffer显示(c版本与python版本)
稍微了解了下linux的framebuffer,这是一种很简单的显示接口,直接写入像素信息即可 配置好的内核,会有/dev/fbn 的接口,于是想能否提前生成一个文件,比如logo.fb,里面仅包含像 ...
- Centos7下安装python,查看python版本
安装Centos的时候,一般会自带默认安装python2.x 一般用python -V可以查看python版本. 我当时安装的时候,运行了那个语句,但是却显示了一大堆出来,虽然里面也带有版本信息,但是 ...
- LInux升级Python版本2.7.11所遇问题汇总
首先请原谅我使用校园网络,基本上打不开谷歌,网络搜取得帮助均来自度娘. 对于我这个linux新手 IT 新手来说,自己升级点东西好担心,万一出错,可能都要重来.... 参照度娘内容和自己摸索,今天晚上 ...
随机推荐
- Bootstrap框架基础
特点:写非常少的代码 即可实现多终端的页面适配 ☑ 简单灵活可用于架构流行的用户界面和交互接口的html.css.javascript工具集. ☑ 基于html5.css3的bootstrap,具 ...
- (转)PhoneGap工作原理及需改进的地方
原文:http://mobile.51cto.com/web-330900.htm PhoneGap工作原理及需改进的地方 2012-04-18 16:42 佚名 网络整理 字号:T | T 目前开发 ...
- html之小积累-.-iframe自适应高度
在做系统框架的时候,常常会用到iframe,当需求是iframe不能出现纵向滚动条,需要根据加载页面的高度,一致延伸,但是iframe的高度自适应问题比较麻烦,当时也是纠结了好久. 方案1:当遇到if ...
- Hive 实战(2)--hive分区分桶实战
前言: 互联网应用, 当Mysql单机遇到性能瓶颈时, 往往采用的优化策略是分库分表. 由于互联网应用普遍的弱事务性, 这种优化效果非常的显著.而Hive作为数据仓库, 当数据量达到一定数量时, 查询 ...
- 2015GitWebRTC编译实录10
2015.07.20 rtc_p2p编译通过[879/1600 ] CXX obj /webrtc/p2p/client/rtc_p2p.httpportallocator.o[880/1600 ] ...
- 将JZ2440的调试串口换成com2
众所周知JZ2440 V3很小巧,精致.今天单就JZ2440的串口来讨论一些问题.我们在用串口进行调试的时候,需要用JZ2440自带的一根USB线连接电脑USB口和开发板的USB-com1口.先来看一 ...
- C/C++的四大内存分区 分类: C/C++ 2015-05-09 01:36 163人阅读 评论(0) 收藏
导读 正确的理解C/C++程序的内存分区,是合格程序猿的基本要求. 网络上流形两大版本内存分区,分别为: 1. 五大内存分区:堆.栈.全局/静态存储区.自由存储区和常量存储区. 2. 五大内存分区:堆 ...
- MySql数据库索引原理
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点.考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录.如果没有索引,查询将 ...
- 解决Ubuntu输入正确密码后无法进入桌面,一直停留在登陆界面的问题
在登陆界面按下Ctrl + Shift + F1 进入命令行模式,输入你的用户名和密码之后,敲入下面几行命令就可以了! $ cd - $ sudo chown 你的用户名:你的用户名 .Xauthor ...
- MQTT服务器搭建-mosquitto1.4.4安装指南
Mosquitto mosquitto是一款实现了 MQTT v3.1 协议的开源的消息代理服务软件. 其提供了非常轻量级的消息数据传输协议,采用发布/订阅模式进行工作,可用于物联设备.中间件.APP ...