python中print说法正确的是_Python中的print

本文详细介绍了Python3中print函数的使用方式,包括参数sep、end、file和flush的含义及用法,并与Python2中的print语句进行了对比。通过示例展示了如何在Python2代码中引入Python3的print函数,以及如何通过格式化字符串实现不同版本间打印效果的统一。此外,还探讨了Python中值交换的操作和print在输出控制上的灵活性。
摘要由CSDN通过智能技术生成

Python 3.X的print

在Python 3.X中,print是一个内置函数,完整的声明形式如下:

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

sep

sep表示打印对象之间的分隔符,默认使用单个空格

>>>print(1, 2, sep='$')

1$2

end

end表示在打印的字符串末尾添加的字符串,默认是换行符

file

任何具有write(String)方法的对象都能成为file的值,默认是sys.stdout,即标准输出,file可以用来在print的时候临时进行重定向

flush

表示print是把内容立即输出,还是缓存一段在输出,默认是False,在这种情况下,是立即输出,还是缓存,主要取决于file的值,而如果是True,那么不管file是何种类型,都强制立即输出

Python 2.X中的print

在Python 2.X中,print是一个语句(statement):

>>>print x, y # print(x, y) Python 3.X的对应形式

>>>print x, y, # print(x, y, end='') Python 3.X的形式,不输出结尾换行符

>>>print >>afile, x, y # print(x, y, file=afile) Python 3.X的形式,重定向到afile

兼容Python 2.X和Python 3.X

1 使用2to3脚本将Python 2.X的形式转换成Python 3.X,使用3to2的脚本将Python 3.X转换成Python 2.X

2 import from __future__,在Python 2.X脚本的第一行加入如下代码:

from __future__ import print_function

那么,Python 2.X的脚本中也可以使用Python 3.X的print函数,对于__future__,需要注意两点:

1) 在Python 3.X的脚本中,__future__没有影响

2) __future__只对当前脚本起作用,没有传递性

3 在使用Python 2.X的print时,也加入括号,伪装成Python 3.X的调用:

# Python 2.X 的形式

# 但是打印出来的结果是tuple

# 并且tuple中每一个元素都有单引号

# 因此,虽然能够伪装,但是打印结果和Python 3.X不一样

>>>print('a', 'b', 'c')

('a', 'b', 'c')

# Python 3.X的形式

>>>print('a', 'b', 'c')

a, b, c

Python 2.X中的print语法之所以可以加括号,是因为括号可以加到任何表达式上,加上括号之后,print的参数就是一个tuple了,这也是为什么伪装的print打印结果和Python 3.X不一样。要解决这个问题,可以使用格式化字符串的方法将多个参数格式化为一个,打印形式就统一了:

# Pyhon 2.X

# 转化成一个参数的好处,还可以消除上面伪装打印时,元素上的单引号

# 上面例子中,伪装打印元素上之所以有单引号,是在Python中,顶层对象

# 使用str函数转换成字符串,而嵌套对象使用repr转换成字符串

>>>print('%s %s %s' %('a', 'b', 'c'))

a b c

# Python 3.X

>>>print('a', 'b', 'c')

a b c

Python中的print、input函数以及Python中交换两个变量解析

一.Python中的值交换操作 首先明确一点点,Python中的一切都是面向对象的,可以理解为Python的中一切都是对象. 我们知道Java也是面向对象的语言,但是在Java中定义一个值变量如下: ...

浅析 python中的 print 和 input 的底层区别!!!

近期的项目中 涉及到相关知识 就来总结一下 ! 先看源码: def print(self, *args, sep=' ', end='\n', file=None): # known special ...

python中的print()、str()和repr()的区别

print()函数,我们可以看出,在Python IDLE中直接输入的字符串都是有类型的,而print打印后的字符串相当于一串文字,把字符串的引号也省略了,没有类型 print()函数,生成可读性更好 ...

python中,print函数的sep和end参数

print函数是我们经常使用的,但是它的sep和end参数或许对很多python使用者相对陌生,他们可以让我们的打印更具有个性化. 先来看下官方解释, sep:分割值与值,默认是一个空格 end:附件 ...

python 中的 print 函数与 list函数

print()  函数: 传入单个参数时默认回车换行,关键词 end 可以用来避免输出后的回车(换行), 或者以一个不同的字符串结束输出. >>> a, b = 0, 1 >& ...

python中的print函数

python3.x中将print由一个声明转变成了一个函数. 官方说法: Converts the print statement to the print() function. print(*ob ...

Python中使用print打印进度条

import time for i in range(0,101,2): time.sleep(0.1) char_num = i//2 #打印多少个'*' per_str = '\r%s%% : % ...

随机推荐

JFreeChart

花了四个小时给同学写的.还行吧,原来都没有用过到处找资料写的. package DrawLine; import org.jfree.chart.ChartFactory; import org.jf ...

php的if语句单行与多行

//正确: //错误写法 $b = //if前面不能带 等号

BZOJ3072 : [Pa2012]Two Cakes

考虑DP,设$f[i][j]$表示考虑了$a[1..i]$和$b[1..j]$的最小代价. 若$a[i]==b[j]$,则$f[i][j]=\min(f[i-1][j],f[i][j-1])+1$. ...

纯css3样式属性制作各种图形图标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值