宏观上:2.x 源码不规范,混乱,冗余。
    3.x 源码优美清晰,统一标准,去除了冗余。
 
默认编码方式:2.x ASCII码  3.x UTF-8
  用2.x 处理中文时,需要声明编码方式(由于cmd终端默认编码为GBK,所以声明为utf-8时,在cmd终端上,中文显示为乱码。)
# -*- encoding:utf-8 -*-
 
数据类型
  1. 整型,2.x分int和long两种,3.x只有int类型。
运算符
  1. 不等于,2.x可以使用<>和!=;3.x只能使用!=
print()方法:
2.x可以不用括号,写成
for letter in 'Python':
print '当前字母:', letter
3.x必须有括号
print('当前字母:', letter)
input方法:
  2.x 中,input()会处理成和输入数据相应的类型,是最终目标地址里内容的数据类型
  3.x 中,input()得到的数据统一都是字符串。
  但2.x中,有raw_input()方法,和3.x中的input()作用相同。可见,2.x中,input()有着更复杂的内部实现,用来转化数据类型。

range()函数:

  2.x中,xrange()等价于3.x的,range()返回一个数字的列表。

  3.x中,range()返回可迭代对象,可用list()转化为列表。

dict内建方法:
ps. 3.6之前,字典是无序的;3.6(包括3.6)之后,有序。这个有序和无序的区别是解释器造成的。字典数据类型本身还是无序的。
dict.popitem()无序字典下,是随机删除;有序字典下,是删除最后一对。
dict.keys()
2.x中,返回列表类型的键序列
3.x,返回dict_keys类型的数据,可用list()转换为列表类型
 
迭代器生成器:
3.x 支持 __iter__()和__next__()
2.x 支持__iter__(),next()
 
 
经典类新式类:
2.x 中存在经典类和新式类,默认是经典类,可通过继承object声明为新式类
经典类在多继承关系中,深度优先算法
新式类的super只支持super(子类名,self)
3.x 中只有新式类,默认继承object
新式类在多继承中,用C3算法检索父类,可用mro()方法获取检索序列,super()方法获取序列的相邻的下一个类对象
C3算法:两个原则缺一不可,顺序(序列)和效率(路径尽量短)

continue......

python 2.x 与3.x 的区别总结的更多相关文章

  1. python _、__和__xx__的区别

    python _.__和__xx__的区别 本文为译文,版权属于原作者,在此翻译为中文分享给大家.英文原文地址:Difference between _, __ and __xx__ in Pytho ...

  2. python中import和from...import...的区别

    python中import和from...import...的区别: 只用import时,如import xx,引入的xx是模块名,而不是模块内具体的类.函数.变量等成员,使用该模块的成员时需写成xx ...

  3. 转发 python中file和open有什么区别

    python中file和open有什么区别?2008-04-15 11:30地痞小流氓 | 分类:python | 浏览3426次python中file和open有什么区别?都是打开文件,说的越详细越 ...

  4. Python新式类与经典类的区别

    1.新式类与经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性:反之,即不由任意内置类型派生出的类 ...

  5. Python import与from import使用及区别介绍

    Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.接下来通过本文给大家介绍Python import与from import使用及区别介绍,感 ...

  6. 【转】python类中super()和__init__()的区别

    [转]python类中super()和__init__()的区别 单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(se ...

  7. Python新式类和经典类的区别

    @Python新式类和经典类的区别 class ClassicClass(): pass class NewStyleClass(object): pass x1 = ClassicClass() x ...

  8. Python3.x:python: extend (扩展) 与 append (追加) 的区别

    Python3.x:python: extend (扩展) 与 append (追加) 的区别 1,区别: append() 方法向列表的尾部添加一个新的元素.只接受一个参数: extend()方法只 ...

  9. Python中str()与repr()函数的区别——repr() 的输出追求明确性,除了对象内容,还需要展示出对象的数据类型信息,适合开发和调试阶段使用

    Python中str()与repr()函数的区别 from:https://www.jianshu.com/p/2a41315ca47e 在 Python 中要将某一类型的变量或者常量转换为字符串对象 ...

  10. python 基础-文件读写'r' 和 'rb'区别

    原文链接: python基础-文件读写'r' 和 'rb'区别 一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r ...

随机推荐

  1. 简说Java线程的那几个启动方式

    本文首发于本博客 猫叔的博客,转载请申明出处 前言 并发是一件很美妙的事情,线程的调度与使用会让你除了业务代码外,有新的世界观,无论你是否参与但是这对于你未来的成长帮助很大. 所以,让我们来好好看看在 ...

  2. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  3. live-server 介绍&安装

    live-server是可以运行前端静态文件的一个服务器,既然我们要前后端分离,所以就需要单独将html代码运行起来,这里我们选择live-server,等到后边真正部署的时候在用nginx js的解 ...

  4. Failure sending mail: The user or group name 'xxx\xxxx' is not recognized.Mail will not be resent

      一批Reporting Service报表的订阅突然报如下错误: Failure sending mail: The user or group name 'xxx\xxxx' is not re ...

  5. TiDB 架构及设计实现

    一. TiDB的核心特性 高度兼容 MySQL 大多数情况下,无需修改代码即可从 MySQL 轻松迁移至 TiDB,分库分表后的 MySQL 集群亦可通过 TiDB 工具进行实时迁移. 水平弹性扩展 ...

  6. C# -- 等待异步操作执行完成的方式

    C# -- 等待异步操作执行完成的方式 1. 等待异步操作的完成,代码实现: class Program { static void Main(string[] args) { Func<int ...

  7. JVM内存结构简单认知

    关于JVM的面试传送门:https://blog.csdn.net/shengmingqijiquan/article/details/77508471 JVM内存结构主要划分为:堆,jvm栈,本地方 ...

  8. Loj #3089. 「BJOI2019」奥术神杖

    Loj #3089. 「BJOI2019」奥术神杖 题目描述 Bezorath 大陆抵抗地灾军团入侵的战争进入了僵持的阶段,世世代代生活在 Bezorath 这片大陆的精灵们开始寻找远古时代诸神遗留的 ...

  9. 你注意到 .Net Framework 和 .Net Core 中使用 Session 的区别了吗?

    起因 在测试一个例子时发现的问题,这个示例实现的功能是刷新页面也能保持表格锁定列的状态,先看下页面的完成效果: 测试中发现,几乎相同的代码: 在 FineUIMvc(Net Framework)下没有 ...

  10. EntityFramework Core 2.1重新梳理系列属性映射(一)

    前言 满血复活啦,大概有三个月的时间没更新博客了,关于EF Core最新进展这三个月也没怎么去看,不知现阶段有何变化没,本文将以EF Core 2.1稳定版本作为重新梳理系列,希望对看本文的你有所帮助 ...