新手学习Python2和Python3中print不同的用法


Posted in Python onJune 09, 2020

在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异

主要体现在以下几个方面:

1.python3中print是一个内置函数,有多个参数,而python2中print是一个语法结构;

2.Python2打印时可以不加括号:print 'hello world', Python3则需要加括号 print("hello world")

3.Python2中,input要求输入的字符串必须要加引号,为了避免读取非字符串类型发生的一些行为,不得不使用raw_input()代替input()

1. python3中,或许开发者觉得print同时具有两重身份有些不爽,就只留了其中函数的身份:

>>> print 'pythontab.com'
SyntaxError: Missing parentheses in call to 'print'

所以python3中print必须使用括号,因为它就是一个函数。

2. python3中print函数有多个参数,函数原型如下:

print(value1, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

从上面的方法原型可以看出,

1. print可以支持多个参数,支持同时打印多个字符串(其中...表示任意多个字符串);

2. sep表示多个字符串之间使用什么字符连接;

3.end表示字符串结尾添加什么字符,指点该参数就可以轻松设置打印不换行,Python2.x下的print语句在输出字符串之后会默认换行,如果不希望换行,只要在语句最后加一个“,”即可。但是在Python 3.x下,print()变成内置函数,加“,”的老方法就行不通了。

>>> print("python", "tab", ".com", sep='')
pythontab.com
>>> print("python", "tab", ".com", sep='', end='') #就可以实现打印出来不换行
pythontab.com

3.Python2中input的坑

print ("what do you like")
a = input("Enter any content:")
print ("i like",a)

知识点扩展:

Python2打印时可以不加括号:print 'hello world', Python3则需要加括号 print("hello world")

python3中print必须使用括号,因为它就是一个函数。

py2print 语句加括号的后果:

py2加括号,解释器可能会把他当成元祖,比如:

print ('hhh','ggg')

对于这个,py2打印的是('hhh','ggg'),而py3打印的是hhh ggg

除非,这个括号里只有一个字符串,比如('hhh'),那么他就不是元祖,print ('hhh')在py2和py3中都是打印hhh,毕竟('hhh')=='hhh',所以py2才会视他为字符串而不是元祖

到此这篇关于新手学习Python2和Python3中print不同的用法的文章就介绍到这了,更多相关Python2和Python3中print有什么不同内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
剖析Python的Twisted框架的核心特性
May 25 Python
关于Python正则表达式 findall函数问题详解
Mar 22 Python
基于Django框架利用Ajax实现点赞功能实例代码
Aug 19 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
解决Python下imread,imwrite不支持中文的问题
Dec 05 Python
python实现微信每日一句自动发送给喜欢的人
Apr 29 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
Python实现点云投影到平面显示
Jan 18 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 Python
python 如何引入协程和原理分析
Nov 30 Python
Django对接elasticsearch实现全文检索的示例代码
Aug 02 Python
Python基于wordcloud及jieba实现中国地图词云图
Jun 09 #Python
Python中的__init__作用是什么
Jun 09 #Python
python小白学习包管理器pip安装
Jun 09 #Python
Python小白垃圾回收机制入门
Jun 09 #Python
Python中如何添加自定义模块
Jun 09 #Python
sklearn线性逻辑回归和非线性逻辑回归的实现
Jun 09 #Python
Python如何避免文件同名产生覆盖
Jun 09 #Python
You might like
PHP容易忘记的知识点分享
2013/04/30 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
PHP网站自动化配置的实现方法(必看)
2017/05/27 PHP
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
JavaScript中的setMilliseconds()方法使用详解
2015/06/11 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
Bootstrap3学习笔记(二)之排版
2016/05/20 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
JS实现移动端在线签协议功能
2019/08/22 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
Python学习笔记_数据排序方法
2014/05/22 Python
Python采集腾讯新闻实例
2014/07/10 Python
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
怎样自定义一个异常类
2016/09/27 面试题
学子宴答谢词
2014/01/25 职场文书
大学生英语演讲稿
2014/04/24 职场文书
护士2014年终工作总结
2014/11/11 职场文书
2014年团工作总结
2014/11/27 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
协议书范文
2015/01/27 职场文书
超详细教你怎么升级Mysql的版本
2021/05/19 MySQL