首页 > 编程语言 >python2 切换到 python3

python2 切换到 python3

时间:2022-11-13 13:56:39浏览次数:65  
标签:Old py3 切换 print New python3 python2

python2 切换到 python3

Part.1: py3 中不支持的py2 用法

1.1 Print Is A Function

  • py2 中 print 为保留的关键字, 在 py3 中,改为普通的函数。
Old: print "The answer is", 2*2
New: print("The answer is", 2*2)

Old: print x,           # Trailing comma suppresses newline
New: print(x, end=" ")  # Appends a space instead of a newline

Old: print              # Prints a newline
New: print()            # You must call the function!

Old: print >>sys.stderr, "fatal error"
New: print("fatal error", file=sys.stderr)

Old: print (x, y)       # prints repr((x, y))
New: print((x, y))      # Not the same as print(x, y)!
  • py2 中 print 支持 “softspace” 的特性,当前一个字符串换行结束时,下一个字符串不会自动添加空格, 在 py3 中,默认分隔符为空格,可通过 sep 参数指定
# py2
>>> print "A\n", "B"
A
B
>>> print "A", "B"
A B

# py3
>>> print("A\n", "B")
A
 B
>>> print("A", "B")
A B

1.2 Views And Iterators Instead Of Lists

  • 字典 (dict) 的 keysvalues 方法,在 py3 中返回类型为对应的视图, 而在 py2 中该返回值为 List
# python2
>>> d = {}
>>> type(d.keys())
<type 'list'>
>>> type(d.values())
<type 'list'>

# python3
>>> d = {}
>>> type(d.keys())
<class 'dict_keys'>
>>> type(d.values())
<class 'dict_values'>
  • 因此,python3 中 keysvalues 的返回值不能再使用 sort 等列表类的方法。
# python2
k = d.keys()
k.sort()

# python3
k = sorted(d)

Part.2: py3 风格

这部分提供一些 python3 风格的写法,虽然对应的旧的写法依旧可以正常使用,但新的写法往往可以带来一些新的惊喜(虽然也有一些用法感觉还是旧的用着习惯),代码看起来也更有 python3 的风格, 而非用 python3 的解析器解析 python2 的代码。

2.1 字符串格式化 format

PEP 3101: A New Approach To String Formatting

  • py3 使用 format 进行字符串格式化,代替 %s 的写法(虽然这种写法在 py3 中依旧支持)

2.2 函数参数类型

标签:Old,py3,切换,print,New,python3,python2
From: https://www.cnblogs.com/coreylin/p/16885866.html

相关文章

  • 万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
    众所周知,Python3.11版本带来了较大的性能提升,但是,它具体在哪些方面上得到了优化呢?除了著名的“香农计划”外,它还包含哪些与性能相关的优化呢?本文将带你一探究竟!作者:Bes......
  • Python3.8多进程共享内存之Numpy数组
    在利用python处理数据的时候,想要充分发挥CPU的算力,可以选择利用多进程来实现。如果子进程内存占用较大的话,往往很难多开进程,如果不涉及对内存的写入操作,那么多个子进程共享......
  • Python2升级Python3改造手法
    Python3.x不兼容Python2.x,但这两个在语法层面差别不大。Python3.x做了部分修改,但大体语法与Python2.x相似,Python3.x的使用者可以轻松阅读Python2.x编写的代码。本节将......
  • linux_mint_21 vim配置:剪贴板支持和输入法自动切换
    一、vim的剪贴板支持有的vim版本不支持系统剪切板,也就是说在vim编辑器外面复制的内容,不能够粘贴到vim中;在vim中通过yy、d、c复制剪切的内容也不能粘贴在vim编辑器外......
  • python3.9 不支持 Axes3D
    学自动编码器的时候用了下axes3D,在pycharm里面跑代码,跑出来的图永远都是空白,没有任何报错,很服。看到知乎有老哥提问,python3.9是不是不支持axes3D,但是没有有意义的回答,抱......
  • js连接web3,连接小狐狸metamask钱包,实现链不对后切换网络和创建网络
    前言:在今天之前,用metamask检测链不对,并且自动切换网络和创建网络的功能,从来没有真正自己实践一次。 核心代码: import{useWeb3React}from"@web3-react/core";/......
  • 老版本Python3.6 安装踩坑
    因业务需要安装老版本的python3.6.7,当前系统默认的python2.7brew安装的3.7 brew回退安装3.6.*版本的方式,网络上有很多。比较靠谱的可以用官网方式安装,见 ​​ht......
  • 多窗口切换操作
    多窗口切换操作案例:打开网站主页,然后打开主页的链接详情页面,再回到网络主页打开另一个链接详情页面fromseleniumimportwebdriverfromtimeimportsleepdriver=we......
  • 拓端tecdat|matlab代写实现MCMC的马尔可夫切换ARMA - GARCH模型估计
    系统切换模型,尤其是马尔可夫切换(MS)模型,被认为是捕获时间序列非线性的有前景的方法。将MS模型的元素与完全自回归移动平均-广义自回归条件异方差(ARMA-GARCH)模型相结合,给......
  • jQuery实现无刷新切换主题皮肤功能
    参考一主题皮肤切换功能在很多网站和系统中应用,用户可以根据此功能设置自己喜欢的主题颜色风格,增强了用户体验。本文将围绕如何使用jQuery实现点击无刷新切换主题皮肤功能......