打印

1.打印print类似于文件.write()方法,它将默认地把对象打印到stdout流中。它会自动添加一些自动化的格式。

和文件的.write()方法不同的是,print不需要将对象转换为字符串

2.在Python3中,print是一个内置函数,用关键字参数表示特定模式,其语法格式为: print(obj1,obj2,sep=' ',end='\n',file=sys.stdout),返回值为None

  • 参数意义依次为:
    • 待打印对象作为位置参数依次给出
    • sep关键字参数指定分隔符,默认为空格
    • end关键字参数指定结尾字符串,默认为换行符
    • file指定输出位置,默认为标准输出文件,它必须是一个写打开的文件对象
  • 每个被打印的对象依次自动通过内置的str()函数取得其文本表示
  • 当没有打印对象时,print()会把一个换行符(或者由end指定的其他字符串)打印到标准输出流中(或者由file指定的文件中)
  • 关键字参数可以以任何顺序出现,但必须在位置参数之后
  • 如果想指定对齐或者位宽,则可以先构建格式化表达式来生成字符串,然后在print这个字符串
    print示例

    Python2中,print是语句,有自己的特定语法:print x,y,如果想指定结尾字符串(默认为换行),则用print x,y, '\t'

3.print实际上是向文件对象中写文本字符串,因此对于字符串常量的一对引号实际上是不输出的,它只是输出字符串的内容。而交互式命令中,为了显示指定字符串,输出中带有一对引号。
print与交互式显示区别

4.你也可以用sys.stdout.write(str(x)+' '+str(y)+'\n')代替print(x,y)

5.file关键字指定的对象可以是文件对象,也可以是拥有.write()方法的其他对象

6.指定了默认的file关键字参数时,也可以输出重定向,如

  1. temp=sys.stdout #保存旧值
  2. sys.stdout=open('test.txt','a') #重新对stdout赋值,该文件对象必须写打开
  3. print(obj1,obj2)
  4. sys.stdout.close() #此句可以不要,此时文件对象自动回收,文件自动关闭
  5. sys.stdout=temp #恢复旧值

7.在Python3中,可以通过from __future __import print_function使用Python3中的print()函数

8.Python3的input()直接把输入的文本作为一个字符串返回,不会求值 (输入什么,字符串中就是什么)。

Python2中的input()会对字符串求职,就像他们是输入到一个脚本的程序代码一样

input函数