坑一

一下午的时间又让这个不是问题的问题给白白给浪费了,此片文章仅仅纪念一下浪费掉的宝贵时间

新式类与经典类问题

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 版本问题大全的更多相关文章

  1. python 库资源大全

    偶然的机会翻到这篇文章,很全面,来源:  Python 资源大全中文版       哪些 Python 库让你相见恨晚? 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 pyth ...

  2. python库包大全(转)

    python 库资源大全 转自: Python 资源大全中文版 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python ...

  3. Python常用模块大全

    Python常用模块大全 os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.c ...

  4. python中文资源大全

    Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列 ...

  5. python第三方库大全

    环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python 版本管理工具.官网 Vex:可以在虚拟环境中执行命令.官网 v ...

  6. Python精选库大全,建议收藏留用!

    Python为啥这么火,这么多人学,就是因为简单好学,功能强大,整个社区非常活跃,资料很多.而且这语言涉及了方方面面,比如自动化测试,运维,爬虫,数据分析,机器学习,金融领域,后端开发,云计算,游戏开 ...

  7. 提取bmp图片的颜色信息,可直接framebuffer显示(c版本与python版本)

    稍微了解了下linux的framebuffer,这是一种很简单的显示接口,直接写入像素信息即可 配置好的内核,会有/dev/fbn 的接口,于是想能否提前生成一个文件,比如logo.fb,里面仅包含像 ...

  8. Centos7下安装python,查看python版本

    安装Centos的时候,一般会自带默认安装python2.x 一般用python -V可以查看python版本. 我当时安装的时候,运行了那个语句,但是却显示了一大堆出来,虽然里面也带有版本信息,但是 ...

  9. LInux升级Python版本2.7.11所遇问题汇总

    首先请原谅我使用校园网络,基本上打不开谷歌,网络搜取得帮助均来自度娘. 对于我这个linux新手 IT 新手来说,自己升级点东西好担心,万一出错,可能都要重来.... 参照度娘内容和自己摸索,今天晚上 ...

随机推荐

  1. IOS时间传递机制简记

    事件传递顺序:自定义View -- > UIview --> RootViewController --> UIWindow -->UIApplication -->Ap ...

  2. zlhome.com Deal

    using AnfleCrawler.Common; using System; using System.Collections.Generic; using System.Linq; using ...

  3. 在Mac OSX 10.10 上安装opencv

    http://blog.csdn.net/wdkirchhoff/article/details/41910553 在Mac OSX上如果想使用OpenCV,可以通过自己手动编译源码的方式,但比较繁琐 ...

  4. Windows 2012 装 Remote Desktop Organizer 无法连接到其他远程服务器

    一句话,版本太低 换Remote Desktop Organizer 1.4.5版本就ok 了

  5. sed详细分析

    [一.简单描述] sed命令类似命令行的文本编辑器,以行为单位(见注1).除非带命令i(in-place)否则源文件内容并不会被更新.   [二.使用] [2.1.使用方式] 存在两种使用方式: 1. ...

  6. What does "Rxlch" mean in ENCODE?

    In ENCODE project, we could see some files are called "...rxlch...", which means "rev ...

  7. mysql取代rand()的高效率随机读取方法

    SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * (SELECT MAX(id) FROM `table`)) AS id) AS t2 ...

  8. LintCode Reverse LinkedList (ArrayList 和 LinkedList 的区别)

    1. ArrayList 和 LinkedList 的区别 http://pengcqu.iteye.com/blog/502676 2. How to reverse LinkedList http ...

  9. AngularJS之手动加载模块app和controller

    使用ng的页面中一般都是使用模块自动加载,页面的结构一般是这样的 加载angularjs脚本 加载业务代码脚本(或者写在script标签中) html结构代码(带有ng指令) 就像这样 app.htm ...

  10. ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践

    目录: 一.什么是Proftpd? 二.Proftpd的官方网站在哪里? 三.在哪里下载? 四.如何安装? 1)系统用户的配置+权限控制 2)虚拟用户的配置+权限控制   一.什么是Proftpd? ...