注:本博客为 《python 王者归来》学习笔记,如有版权问题请通知删除
help() 函数可以列出某一个 python 的指令或函数的使用说明。
help(print)
#输出结果
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
注意:此函数输出的使用说明是英文版的,可以不懂英以配合翻译软件
它的基本语法如下:
print(value , … , sep=" " , end="\n" , file=sys.stdout , flush =False) )
num1 = 222
num2 = 333
num3 = num1 + num2
print("这是数值相加",num3)
str1 = str(num1) + str(num2)
print("强制转换为字符串相加",str1,sep="$$$")
#输出结果
这是数值相加 555
强制转换为字符串相加$$$222333
在使用格式化输出时,基本使用格式如下
print(" … 输出格式区 …" % ( 变量系列区, … ))
在上述输出格式区中,可以放置变量系列区对应的格式化字会,基本意义如下:
score = 90
str1 = "洪锦魁"
count = 1
print("%s 你的第 %d 次物理考试成绩是 %d" % (str1,count,score))
#输出结果
洪锦魁 你的第 1 次物理考试成绩是 90
设计程序时, print() 函数内的输出格式区也可以用一个字符串变量取代。
score = 90
str1 = "洪锦魁"
count = 1
formatstr = "%s 你的第 %d 次物理考试成绩是 %d"
print(formatstr % (str1,count,score))
#输出结果
洪锦魁 你的第 1 次物理考试成绩是 90
x = 100
print("100的16进位 = %x \n100的8进位 = %o" % (x,x))
#输出结果
100的16进位 = 64
100的8进位 = 144
x = 10
print("整数%d \n浮点数%f \n字符串%s" % (x,x,x))
y = 9.9
print("整数%d \n浮点数%f \n字符串%s" % (y,y,y))
#输出结果
整数10
浮点数10.000000
字符串10
整数9
浮点数9.900000
字符串9.9
上面例子最大的制点是无法精确控制浮点数的输出位置,print() 函数在格式化过程中,有提供功能可以让我们设定保留多少格的空间让资料做输出
上述对浮点数而言,m 代表保留多少格数供输出(包含小数点),n 则是小数数据保留格数。至于其他的数据格式 n 则是保留多少格数空间,如果保留格数空间不足将完整输出数据,如果保留格数空间太多则数据靠右对齐。
如果格式化数值数据有加上负号(-),表示保留格数空间有多时,数据将靠左输出。如果格式化数据有加上正号(+),青示输出数据是正值时,将在左边加上正值符号
例1:格式化输出的应用
x = 100
print("x=/%6d" % x)
y = 10.5
print("y=/%6.2f/" %y)
s = "Deep"
print("s=/%6s/" % s)
print("以下是保留空间不足的实例")
print("x=/%3d/" % x)
print("y=/%3.2f/"%y)
print("s=/%3s/" % s)
#输出结果
x=/ 100
y=/ 10.50/
s=/ Deep/
以下是保留空间不足的实例
x=/100/
y=/10.50/
s=/Deep/
例2:格式化输出,靠左对齐的实例
x = 100
print("x=/%-6d/ "% x)
y = 10.5
print("y=/%-6.2f/"% y)
s = "Deep"
print("s=/%-6s/"% s)
#输出结果
x=/100 /
y=/10.50 /
s=/Deep /
例3:格式化输出,正值数据将出现正号
x = 10
print("x=/%+6d/"% x)
y = 10.5
print("y=/%+6.2f"% y)
#输出结果
x=/ +10/
y=/+10.50
例4:格式化输出的应用
print(" 姓名 国文 英文 总分")
print("%3s %4d %4d %4d" %("洪水儒",98,90,188))
print("%3s %4d %4d %4d" %("洪水星",96,95,191))
print("%3s %4d %4d %4d" %("洪冰雨",92,88,100))
print("%3s %4d %4d %4d" %("洪星宇",93,97,190))
#输出结果
姓名 国文 英文 总分
洪水儒 98 90 188
洪水星 96 95 191
洪冰雨 92 88 100
洪星宇 93 97 190
这是 python 增强版的格式化输出功能,字符串使用 format 方法做格式化的动作,它的基本使用格式如下:
print(" …输出格式区… " .format( 变量系列区 , …))。注意 format 前面有一点
在输出格式区内的字符串变量例用 ” {} “ 表示。
score= 90
str1 = "洪锦魁"
count = 1
print("{}你的第{}次物理考试成绩是{}".format(str1,count,score))
#输出结果
洪锦魁你的第1次物理考试成绩是90
score= 90
str1 = "洪锦魁"
count = 1
str2 = "{}你的第{}次物理考试成绩是{}"
print(str2.format(str1,count,score))
#输出结果
洪锦魁你的第1次物理考试成绩是90
其实适度利用输出格式,也可以产生一封排版的信件,以下程序的前3行会先利用 sp 字符串变量建立一个含 40 格的空白格数,然后产生对齐效果。
sp = " " * 40
print("%s 1231 Delta Rd" % sp)
print("%s Oxford,Mississippi" % sp)
print("%s USA\n\n\n" % sp)
print("Dear Ivan")
print("-------AAA---------")
print("-------BBB---------")
print("office.\n\n")
print("Best Regards")
print("Peter Malong")
#输出结果
1231 Delta Rd
Oxford,Mississippi
USA
Dear Ivan
-------AAA---------
-------BBB---------
office.
Best Regards
Peter Malong
利用空格乘以 40 产生 40 个空格,功能是用于排版,如果将某个字会串乘以 50 ,然后用 print() 输出,可以在屏幕上建立一个无聊的画面。
x = "Boring Time" * 50
print(x)
#输出结果
Boring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring TimeBoring Time
fstream1 = open("e:\python\out1.txt",mode="w") #取代模式
print("Testing for output",file=fstream1)
fstream1.close()
fstream2 = open("e:\python\out2.txt",mode="a") #附加模式
print("Testing for output",file = fstream2)
fstream2.close()
如果执行程序一次,可以得到内容相同的 out1.txt 和 out2.txt 。但是如果持续执行, out2.txt 内容会持续增加, out1.txt 内容则保持不变,下面是执行程序 2 次的结果
这个 input() 函数功能与 print() 函数功能相反,这个函数会从屏幕读取用户从键盘输入的数据,它的使用格式如下
value = input(“prompt :”)
name = input("请输入姓名:")
engh = input("请输入成绩:")
print("name数据类型是:",type(name))
print("engh数据类型是:",type(engh))
#输出结果
请输入姓名:洪锦魁
请输入成绩:99
name数据类型是: <class 'str'>
engh数据类型是: <class 'str'>
print("欢迎使用成绩输入和系统")
name = input("请输入姓名:")
engh = input("请输入英语成绩:")
math = input("请输入数学成绩:")
total = int(engh) + int(math)
print("%s 你的总分是 %d" % (name,total))
#输入结果
欢迎使用成绩输入和系统
请输入姓名:洪锦魁
请输入英语成绩:80
请输入数学成绩:95
洪锦魁 你的总分是 175
clastname = input("请输入中文姓氏:")
cfirstname = input("请输入中文名字:")
cfullname = clastname = clastname + cfirstname
print("%s 欢迎使用本系统" % cfullname)
lastname = input("请输入英文Last Name:")
firstname = input("请输入英文First Name:")
fullname = firstname + "" + lastname
print("%s Welcome to SSE System" % fullname)
#输出结果
请输入中文姓氏:洪
请输入中文名字:锦魁
洪锦魁 欢迎使用本系统
请输入英文Last Name:HON
请输入英文First Name:JINKUI
JINKUIHON Welcome to SSE System
dir(__builtins__) #参数前面和后面都是双下横线
#输出结果
['ArithmeticError',
'AssertionError',
'AttributeError',
'BaseException',
'BlockingIOError',
'BrokenPipeError',
'BufferError',
'BytesWarning',
'ChildProcessError',
'ConnectionAbortedError',
'ConnectionError',
'ConnectionRefusedError',
'ConnectionResetError',
'DeprecationWarning',
#...略...
列出 python 内置函数格式:dir(_builtins_)
dir(__builtins__) #参数前面和后面都是双下横线
#输出结果
['ArithmeticError',
'AssertionError',
'AttributeError',
'BaseException',
'BlockingIOError',
'BrokenPipeError',
'BufferError',
'BytesWarning',
'ChildProcessError',
'ConnectionAbortedError',
'ConnectionError',
'ConnectionRefusedError',
'ConnectionResetError',
'DeprecationWarning',
#...略...