zoukankan      html  css  js  c++  java
  • python2与Python3的区别

    python2与Python3之间的主要区别

    • print

      py2:print语句,语句就意味着可以直接跟要打印的东西,如果后面接的是一个元组对象,直接打印

      py3:print函数,函数就以为这必须要加上括号才能调用,如果接元组对象,可以接收多个位置参数,并可以打印

    # py2
    >>> print("hello", "world")
    ('hello', 'world')
    # py3
    >>> print("hello", "world")
    hello world

        Python2中输入print后面可以不加()可以加()

        Python3中输入print后面必须加()

    • 换行

              py2中不需要换行输出时,输入后面添加“,”逗号

              py3中不需要换行输出时,输入后面添加“end=”””   

    # py2
    >>>print “hello world!”,;print “hi”
        hello world!  hi
    >>>print “hello world!”;print “hi”
        hello world
        hi
    
    #py3
    
    >>>print(“hello world!”,end=””)
       hello world!>>>
    >>>print (“hello world!”)
       hello world!
    • 输入函数

              py2:input_raw()

              py3:input()

    • 在使用super()的不同

            py2:必须显示的在参数中写上基类

            py3:直接无参数调用即可

    • 1/2的结果

            py2:返回0

            py3:返回0.5,没有了int和long的区别

    • 编码

              py2:默认编码ascii

              py3:默认编码utf-8

           而且为了在py2中使用中文,在头部引入coding声明,不推荐使用

    • 字符串

               py2:unicode类型表示字符串序列,str类型表示字节序列

               py3::str类型表示字符串序列,byte类型表示字节序列

    • True和False

             py2:True 和 False 在 Python2 中是两个全局变量,可以为其赋值或者进行别的操作,初始数值分别为1和0,虽然修改是违背了python设计的原则,但是确实可以更改

             py3:修正了这个变量,让True或False不可变

    • 迭代器

             py2:当中许多返回列表的方法,如range,字典对象的 dict.keys()、dict.values() 方法, map、filter、zip;并且迭代器必须实现next方法

             py3:将返回列表的方法改为了返回迭代器对象,内置了__next__,不用特意去实现next

    • nonlocal

             py2:没有办法在嵌套函数中将变量声明为一个非局部变量,只能在函数中声明全局变量

             py3:nonlocal方法实现了,示例如下:

    def func():
     c = 1
        def foo():
            c = 12
        foo()
        print(c)
    func()    #1
    
    def func():
        c = 1
        def foo():
            nonlocal c
            c = 12
        foo()
        print(c)
    func()   # 12

     

     

     

  • 相关阅读:
    C#学生管理系统/学习
    ESC socket通信不通问题
    JavaWeb/ No 'Access-Control-Allow-Origin' header is present on the requested resource
    JavaWeb/ forward跳转到jsp页面后出现中文乱码问题
    JavaWeb/ MVC模式的初次实践
    docker搭建常用应用以及遇到的坑
    突验 8 进程通信
    实验七 信号
    实验6进程基础
    实验5 shell脚本编程
  • 原文地址:https://www.cnblogs.com/guo-123/p/10023094.html
Copyright © 2011-2022 走看看