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 新手来说,自己升级点东西好担心,万一出错,可能都要重来.... 参照度娘内容和自己摸索,今天晚上 ...
随机推荐
- ubuntu 13.04 tftp服务器建立
本文参考博文:http://blog.chinaunix.net/uid-20718037-id-3194493.html 用tftp下载就需要要我们的主机上先安装tftp服务器. 1.安装软件 ...
- js:setTimeout 与 setInterval 比较
在javascript中有两个非常有用的函数:setTimeout 和setInterval ,都是定时器:但是两者存在着一些区别: 1. setTimeout函数 用法:setTimeout(fn, ...
- MySQL字符集乱码
学数据库,最让人丧气的就是字符集的问题了,一旦出问题,就会有砸电脑的冲动,特别是在修改很多次字符集后依然不成功的时候! 我用的数据库软件是MySQL 5.1.28.最初出问题的时候,是这样的: 情景一 ...
- 第十三周学习笔记(编辑器选错了重发了这一个 原博客的确周天晚上提交了orz)
并发:逻辑控制流在时间上的重叠. 构造并发程序的方法: 进程 I/O多路复用 线程 基于进程的并发编程 假设我们有两个客户端和一个服务器,服务器正在监听一个监听表述符上的请求.现在假设服务器接受了客户 ...
- TCP/IP 协议:链路层概述
我们以一个常见的查看IP指令为出发点(ifconfig -a): 1.链路层是什么 链路层是指硬件层协议.也即网络所使用的硬件,比如:以太网(后文主要讨论对象),令牌环网,FDDI已经RS-232 ...
- mysql控制台操作
显示表结构 : show create table table_name 复制表:insert into table_name1 select * from table_name2
- TextView 跑马灯
首先,写一个类,让其继承自TextView: 重写focus方法,让TextView始终是focus. public class MarqueeText extends TextView { publ ...
- 计算DNA中每种核苷酸的数目
问题描述:计算DNA中每种核苷酸的数目 输入文件内容: 代码: 输出结果:
- hdu4497 GCD and LCM ——素数分解+计数
link:http://acm.hdu.edu.cn/showproblem.php?pid=4497 如果G%L != 0,说明一定无解. 把K = G / L质数分解,G / L = p1^t1 ...
- mysql存储过程详解(入门)
delimiter // #修改结束符号为// create procedure pro_wyx() /*创建存储过程*/ begin declare i int ; #定义变量 set i=1 ...