zoukankan      html  css  js  c++  java
  • 从python2.x到python3.x进阶突破

     

    1.p2是重复代码,语言不同,不支持中文;p3则相反,其中代码不重复,语言用的相同的,并且是支持中文的。

    2.p2中input中输入数字输出数字,输入字符串必须自己手动加引号才行;p3中input输出的都是字符串。其中p2中的raw_input等于是p3中的input。

    3.在p2中print可以加括号也可以不加括号;p3中print必须加括号。

    4.在p2中除法获取到的是整型;而在p3中除法获取到的是浮点型.

    5. P3源码文件默认使用utf-8编码,这就使得以下代码是合法的:

        >>> 中国 = 'china'

        >>>print(中国)

        china

    6.P3.x相对于P2.x的不同:

    1)去除了<>,全部改用!=

    2)去除``,全部改用repr()

    3)关键词加入as 和with,还有True,False,None

    4)整型除法返回浮点数,要得到整型结果,请使用//

    5)加入nonlocal语句。使用noclocal x可以直接指派外围(非全局)变量

    6)去除print语句,加入print()函数实现相同的功能。同样的还有 exec语句,已经改为exec()函数  

    7)改变了顺序操作符的行为,例如x<y,当x和y类型不匹配时抛出TypeError而不是返回随即的 bool值  

    8)输入函数改变了,删除了raw_input,用input代替:

       2.X:guess = int(raw_input('Enter an integer : ')) # 读取键盘输入的方法

       3.X:guess = int(input('Enter an integer : '))

    7.p2中有长整型 long;p3中全都是整型,没有长整型 long.

    8.在P2.x解释器中,range(3,6)可以直接输出一个范围的列表,而xrange()是一个生成器;而在P3.x解释器中,不识别range()这个范围,只是输出他本身,是一个可迭代的,只是一个范围,既不是迭代器也不是生成器。

    9.关于浮点数的区别:在p2.x中,整数除以整数就会取整,有一个浮点数就会按照浮点数计算.在P3.x中,所有的除法(除了整除 //)的结果都是小数

    10.P2.x中的经典类中的多继承是深度优先算法,没有__mro__方法提示顺序并且没有super()方法,P2.x中的新式类必须是在经典类中的最上层的父类继承object,并且在其中使用super()方法必须将里面的参数输入

    11.P3.x中的全是新式类,使用的是广度优先算法,没有经典类

  • 相关阅读:
    jQuery $.each用法
    JSON.parse()和JSON.stringify()
    创建对象,初始化对象属性,给节点分派一个合成事件
    javascript 兼容W3c和IE的添加(取消)事件监听方法
    tomcat发布后项目classes下无编译文件
    纯css实现计数器效果
    js点击元素输出对应的index
    鼠标滚轮监听防“抖动”
    原生dom的querySelector、querySelectorAll方法
    spring mvc 通过url传来的参数乱码的解决方法
  • 原文地址:https://www.cnblogs.com/sanzangdashi3/p/9890567.html
Copyright © 2011-2022 走看看