目前,Python输出使用print语句和print()函数,Python3.0将会使用内置的print()代替print语句。
print语句的功能就是将输出对象转换成字符串并将字符串逐个字符的打印到标准输出上。语法格式如下:
print expression (, ... )
可以使用单引号对('')和双引号对("")来包裹字符串,而且双引号对可以放到单引号对中
print "Hi, Mom", "Isn't it lovely?", 'I said, "Hi".', 42, 91056
逗号(,)放到print语句后面可以改变格式,例如:
print "335/113=",
print 335.0/113.0
print "Hi, Mom", "Isn't it lovely?",
print 'I said, "Hi".', 42, 91056
这里print语句后的(,)表示语句还不完全,由下条语句补全。
重定向输出
#!/usr/bin/env python """Mixed output in stdout and stderr.""" import sys print >>sys.stderr, "This is an error message" print "This is stdout" print >>sys.stdout, "This is also stdout"
大多数POSIX系统会缓存stdout而立即输出stderr
在Python2.6中要使用print(),必须引入以使用该特性:from __future__ import print_function,语法如下:
print([object, ...], [sep=’ ’], [end=’n’], [file=sys.stdout]) This will convert each object to a string, and then write the characters on the given file.
The separator between objects is – by default – a single space. Setting a value for sep will set
a different separator.
The end-of-line character is – by default – a single newline. Setting a value for end will set
a different end-of-line character.
To change output files, provide a value for file.
from __future__ import print_function print( "335/113=", end="" ) print( 335.0/113.0 ) print( "Hi, Mom", "Isn't it lovely?", end="" ) print( 'I said, "Hi".', 42, 91056 )
from __future__ import print_function import sys print( "This is an error message", file=sys.stderr ) print( "This is stdout" ) print( "This is also stdout", file=sys.stdout )
print只是一个基本的工具,一般在产生文本文件时使用,但是假如要产生PDF文件可以使用ReportLab提供的PDF-production库,错误信息、日志以及调试一般会使用logging库
Python提供简单整数类型、长整数、浮点数及复数类型。
Python简单整数类型至少32位,范围至少在-2,147,483,648 to 2,147,483,647之间。一般情况下,python使用十进制,用前缀0(zero)来代表八进制数,'0x'或'0X'来代表十六进制,'0b'或'0B'来代表二进制。
Python3.0中,八进制语法会有改变,用'0o'来代表八进制。
在Python语言里面,长整型拥有任意长度。使用后缀'L'或'l'来代表一个长整型数字【Python3.0不再需要这个后缀,它会自动推断出所需要的数字类型】。Python会在int和long类型之间自动转换,但你可以使用int()和long()进行强制类型转换。
Python中浮点数类型一般是双精度的,经典使用64位,表示方式可以是:
.0625 0.0625 6.25E-2
底数一般在0与10之间。
浮点数一般没有精确的数字值,比如1./5数学意义上为0.2,但在计算机上实际上并不是存储的0.2,而是:
>>> .2 0.20000000000000001
>>> (2+3j)*(4+5j) (-7+22j)
>>> 3+2j.conjugate() (3-2j)
int(x)、float(x)、long(x)、complex(real,[imag])