0. 输入
- Python2.x
# raw_input # 功能 1. 会等待用户输入内容,知道用户按下 Enter 2. 会将用户输入的内容当做 字符串,传递给接收的变量 inputStr = raw_input("请输入信息") print type(inputStr) print inputStr # input # 功能 1. 会等待用户输入内容,直到用户按下 Enter 2. 会将用户输入的内容当做 代码 进行处理 inputResult = input("请输入代码") print type(inputResult) print inputResult
- Python3.x
# input # 功能 1. 会等待用户输入内容,直到用户按下 Enter 2. 会将用户输入的内容当做 字符串,传递给接收的变量 inputStr = input("请输入消息") print(type(inputStr)) print(inputStr) inputResult = eval(inputStr) print(type(inputResult)) print(inputResult)
1. 输出
- Python2.x
# print 语句:print xxx print "my name is luck"
- Python3.x
# print函数:print(values, sep, end, file, flush) # values:需要输出的值 1. 多个值,使用 , 进行分割 # sep:分割符 1. 多个值,被输出出来之后,值与值之间,会添加指定的分隔符 2. 默认值 ' ' # end:输出完毕之后,以指定的 字符 结束 1. 默认是换行 \n # file:表示 输出的目标 1. 默认是标准的输出,即控制台,file = sys.stdout 2. 还可以是一个可写入的文件句柄,file = open("luck.txt", "w") # flush:表示 是否立即 输出 1. 流程 (1) 需要输出的内容,先存放在 缓冲区,然后再输出到目标 (2) flush,就代表是否刷新缓冲区,让缓冲区的内容,立即输出到目标 2. 若输出内容末尾是以 \n 结尾,则会 立即刷新 缓冲区 3. 默认是 False
2. 占位格式符
- 格式:
%[(name)][flags][width][.precision]typecode
- 中括号
[]
包含的部分,代表可选
- 中括号
-
(name)
:用于选择指定的名称对应的值age = 20 luckAge = 18 print("我年龄是:%(my)d,luck 年龄是:%(luck)d" % ({"my": age, "luck": luckAge}))
-
flags
-
空
:表示右对齐
,在左侧
空出位置firstNum = 20 secondNum = 18 print("%10d%d" % (firstNum, secondNum))
-
-
:表示左对齐
,在右侧
空出位置firstNum = 20 secondNum = 18 print("%-10d%d" % (firstNum, secondNum))
-
空格
:表示在正数
的左侧
填充一个空格
,从而与负数对齐
firstNum = 20 secondNum = 18 print("% d%d" % (firstNum, secondNum))
-
0
:表示使用0
填充左侧
minutes = 5 sec = 18 print("%02d:%02d" % (minutes, sec))
-
-
width
:表示显示宽度
firstNum = 20 secondNum = 18 print("%10d%d" % (firstNum, secondNum))
-
.precision
:表示小数点后精度
score = 59.9 print("%.5f" % score)
-
typecode
:转换说明符
- 数值
- 字符串
-
s
:获取传入对象的_str_
方法的返回值,并将其格式化到指定位置 -
r
:获取传入对象的_repr_
方法的返回值,并将其格式化到指定位置 -
c
# 整数:将数字转换成其 unicode 对应的值 # Python2.x,只支持 0 ~ 255 # Python3.x,10 进制范围支持 0 ~ 1114111 print("我就是很厉害啊%c" % 19999) # 字符:将字符添加到指定位置 print("我就是很厉害啊%c" % "哦")
-
- 注意
-
%%
表示一个%
-
不存在
自动将整数
转换成二进制
表示的方式
-
- 数值
3. 应用场景
- 输出一个值
# Python2.x print 666 # Python3.x print(3)
- 输出一个变量
# Python2.x num = 88 print num # Python3.x num = 66 print(num)
- 输出多个变量
# Python2.x a, b, c = 66, 88, 100 print a, b, c # Python3.x a = b = c = 100 print(a, b, c)
- 格式化输出
# Python2.x # % 写法 name = "秦子阳" age = 18 formatStr = "my name is %s, and age is %d" % (name, age) print type(formatStr), formatStr # format 写法 name = "秦子阳" age = 18 formatStr = "my name is {0}, and age is {1}".format(name, age) formatStr = "my name is {a}, and age is {b}".format(a=name, b=age) print type(formatStr), formatStr # Python3.x # % 写法 name = "小熊bliving" age = 18 formatStr = "my name is %s, and age is %d" % (name, age) print(type(formatStr), formatStr) # format 写法 name = "小熊bliving" age = 18 formatStr = "my name is {0}, and age is {1}".format(name, age) formatStr = "my name is {a}, and age is {b}".format(a=name, b=age) print(type(formatStr), formatStr)
- 输出到文件中
# Python2.x filePath = open("luck.txt", "w") print >> filePath, "my name is 秦子阳, and age is 18." # Python3.x filePath = open("luck.txt", "w") print("my name is 秦子阳, and age is 18", file=filePath)
- 输出不自动换行
# Python2.x a = b = c = 100 print a, print b, print c, # Python3.x print("hello,", "i am luck.", end="")
- 输出的各个数据,使用分隔符分隔
# Python2.x print "_".join(["a", "b", "c"]) # Python3.x print("my", "name", "is", "luck", sep="---")