python2.x和3.x中的输出语句有着明显不同

2.x中的print不是个函数,输出格式如下

1 Python 2.7.12+ (default, Aug 4 2016, 20:04:34)2 [GCC 6.1.1 20160724] on linux23 Type "help", "copyright", "credits" or "license" formore information.4 >>> print "There is only %d %s in the sky."%(1,'sun')5 There is only 1 sun in the sky.

3.x中的print成了函数,输出格式如下

1 Python 3.5.2+ (default, Aug 5 2016, 08:07:14)2 [GCC 6.1.1 20160724] on linux3 Type "help", "copyright", "credits" or "license" formore information.4 >>> print("There is only %d %s in the sky."%(1,'sun'))5 There is only 1 sun in the sky.

为什么要做出这样的变化,主要原因有以下几点:

1.print不是函数,不能使用help(),对使用者不方便。

python2中help(print)会报错。

1 >>> help(print)2 File "", line 1

3 help(print)4 ^

5 SyntaxError: invalid syntax

python3中,可以使用help(print),清楚的看到print的参数。

1 Help on built-in function print inmodule builtins:2

3 print(...)4 print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)5

6 Prints the values to a stream, orto sys.stdout by default.7 Optional keyword arguments:8 file: a file-like object (stream); defaults to the current sys.stdout.9 sep: string inserted between values, default a space.10 end: string appended after the last value, default a newline.11 flush: whether to forcibly flush the stream.12 (END)

2.从上面的help(print)中我们也可以看到在print()中的两个重要参数,sep和end。这两个参数使print()相比print多了两个新功能,自定义间隔符(默认空格)和结束符(默认回车)。

1 >>> print("123","456","789")2 123 456 789

3 >>> print("123","456","789",sep='-')4 123-456-789

1 >>> x=1024

2 >>> print(t)3 256

4 >>> print(t,end="end")5 256 end>>>

6 >>> print(t,end="end\n")7 256 end

3.print()重定向输出文件更加方便。

2.x需要print>>重定向输出,感觉代码很混乱。

1 >>> out=open("test.txt","w")2 >>> print>>out,"123"

3.x中输出文件成了一个参数,使用更方便。

1 >>> out=open("test.txt","w")2 >>> print("123",file=out)

4.python2.x中print语句的格式化输出源自于C语言的格式化输出,这种语法对于C这种静态语言比较适用,但是对于拥有很多先进数据结构的python来说就有点力不从心了。python的元组,列表,字典,集合等不适合用这种结构表示,这些数据结构大多元素用下标表示,在这种结构中写出来很混乱。python3.x的print()函数提供了有点类似C#(不知道这么说对不对)中的格式化输出函数format()。另外print()也兼容原来的格式化输出方式。

1 >>> print("%s is %s."%('Aoko','good'))2 Aoko is good.

format()让输出格式更清晰。

1 >>> print("{0} is {1}.".format('Aoko','good'))2 Aoko is good.

format()支持数组下标,使python中的一些数据结构输出更加方便。

1 >>> name=["Kaito",5]2 >>> print("{0[0]} has {0[1]} dollars.".format(name))3 Kaito has 5 dollars.

format()下的格式限定符,和原来的差不多。

1 >>> x=5.6

2 >>> print("{0:4f}".format(x))3 5.600000

由此看来,print()相比print还是有很大进步的。说句题外话,我希望更多的python用户多花点时间实现代码对新版本的兼容,而不是花时间用在争论“python2和python3谁更好”的口水战上。python作为一种免费语言给我们带来了很多方便,我们不应该吝惜自己那么一点时间。花一点时间让python发展下去,变得更强。

python2 print_【学习笔记】python2的print和python3的print()相关推荐

  1. python2的print和python3的print()

    python2的print和python3的print() 前言 今天试着分别在python2和python3环境下运行如下.py文件 def yield_test(n):for i in range ...

  2. python3.5学习笔记:linux6.4 安装python3 pip setuptools

    文章转载自:http://www.cnblogs.com/liujian001/p/5160869.html 前言: python3应该是python的趋势所在,当然目前争议也比较大,这篇随笔的主要目 ...

  3. python映射类型-python2.x学习笔记(8)-映射和集合类型

    1. 字典是 Python 语言中唯一的映射类型.映射类型对象里哈希值(键) 和指向的对象(值)是一对一的关系. 2. 一个字典对象是可变的,它是一个容器类型,能存储任意个数的 Python 对象,其 ...

  4. 【Python】学习笔记——-Python2 和 Python3的区别

    有什么区别? 短版本:Python 2.x是遗留的,Python 3.x是语言的现在和未来 Python 3.0于2008年发布.最终的2.x版本2.7发布于2010年年中发布,其中包含了对此生命周期 ...

  5. python2.7教程-python2.7学习笔记——菜鸟教程

    标准数据类型 Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) list= ["runoob", 786, 2.2 ...

  6. pythongui显示图片_opencv2.4.13+python2.7学习笔记--opencv中的Gui特性--图片:读图像,显示图像,保存图像...

    #-*- coding: utf-8 -*- """Created on Tue Mar 14 19:39:11 2017 @author: Thinkpad" ...

  7. 【学习笔记】第五章 python3核心技术与实践--字典和集合

    [第四章]思考题的答案,仅供参考: []比list()更快,因为调用了list函数有一定的时间,而[]却没有. 前面我们学习了 Python 中的列表和元组,了解了他们的基本操作和性能比较.这节章,我 ...

  8. 【学习笔记】第三章 python3核心技术与实践--Jupyter Notebook

    可能你已经知道,Python 在 14 年后的"崛起",得益于机器学习和数学统计应用的兴起.那为什么 Python 如此适合数学统计和机器学习呢?作为"老司机" ...

  9. Python2和Python3中print的不同点

    在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参数,而pyth ...

最新文章

  1. STM32 电机教程 29 - 无刷无感入门1
  2. conda使用报错:ImportError:DLL load failed
  3. java io 视频 下载_Java下载映客主播视频回放到电脑硬盘
  4. 查看grafana版本_使用 Prometheus 与 Grafana 为 Kubernetes 集群建立监控与警报机制
  5. HDFS SnapShot原理
  6. Ubuntu14.04 LTS(64bit)彻底解决matplotlib中文乱码问题
  7. 串口输出换行_stm32初学者必会操作----usart串口调试工具
  8. 大数据学习笔记29:Hadoop压缩机制演示
  9. propertysource注解 找不到文件_电脑提示Windows找不到文件?试试这两个技巧,轻松解决!...
  10. 《从零开始学Swift》学习笔记(Day 39)——构造函数重载
  11. 程序员面试宝典 笔记 第七章
  12. keras可视化模型
  13. 一机三屏台式计算机,三屏系统重现江湖:背后一台完整主机
  14. 互联网信息安全与加密技术
  15. 第5关:类与对象练习------Java面向对象 - 类与对象
  16. [Ynoi2016]炸脖龙I/Nephren Ruq Insania
  17. ios审核提示:您的 Apple Developer Program 帐户已被标记为删除
  18. java gui 记_java GUI简单记事本
  19. Vue+Vant制作单选全选全不选以及删除按钮van-checkbox
  20. Ubuntu下Apache重启错误:Could not reliably determin解决

热门文章

  1. 为了学习数据库索引,我们花了5000美元
  2. HarmonyOS 2.0:正式开源,年底面向开发者发布智能手机 Beta 版本
  3. 想招到优秀的程序员?这些坑一定不要踩
  4. 移动电话之父第一个电话打给对手,起底现代移动通信崛起之路!
  5. 36 万美元套利!3 步骤揭秘黑客 DeFi 闪电贷全过程
  6. 落地即王道,锁死企业智变CP——云+AI
  7. 蚂蚁金服自研数据库打败Oracle拿下世界第一;三星手机全面退出中国;微软发布Windows 10X双屏系统 | 极客头条...
  8. IBM 推出全球首台计算性能最强悍的 53 位量子计算机
  9. 火了!评分9.7,这本Python书终于玩大了!
  10. 2020 年物联网设备达 500 亿台!AI、区块链技术加持,优秀开发者稀缺!