2. Python中的基本输入、输出、格式化输出

26次阅读

共计 1617 个字符,预计需要花费 5 分钟才能阅读完成。

本文利用的是 Python 3.x 版本,建议学习 3.x 版本
Python 中的基本输入、输出、格式化输出
1. 输入
使用 input([prompt]) 读取一行,将其转换为 string 类型并返回,input 的参数可有可无,如果有参数的话,会在控制台(可以这样理解)输出参数的内容,不换行。通常情况下我们在控制台输入一些数据,然后敲击回车,就完成了本次输入。以下是例子。
name = input(“Enter your name: “)
print(name)

这里要注意的是,input 返回的是 string 类型,如果想输入数字,还需要进行类型转换,例如
num = int(input(“Enter a number: “))
print(num*2)

其实以上这种转换并不安全,因为如果 user 输入字符串的话,没法转为 int 类型,这样程序就会出错,异常终止。所以一种比较简单的方法是,先对输出进行判断,然后再转换,因为还没有说到判断语句,所以这个判断之后再说。
2. 输出
一般在控制台中我们用 print 进行输出,因为比较简单,所以之前也一直在使用。print 的原型如下
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
看起来很复杂,但是这个参数都是有默认参数的,我们可以先简单使用前三个参数,后面的默认即可,这样的话,目前而言,我们的 print 就变成了
print(*objects, sep=’ ‘, end=’\n’)
第一个参数是我们要在控制台输出的数据,可以是多个,用, 逗号隔开,py 的 print 很强大,可以输出很多种数据类型,只要你觉的可以输出的,print 都可以输出,你觉得不能输出的,试一试也可能输出。例如
print(“xx”)
print(1)
print(True)
print(None)

sep 用来将多个数据隔开,默认是空格,end 加在输出的末尾,默认是换行符
print(1,2,3,sep=’@@’,end='<>\n’)
#用 @@分隔数据,结尾加上 <> 并换行

3. 格式化输出,占位符
如何格式化输出字符串呢,例如你好 XX,你的额度是 xx,其中 xx 的变量,我们无法预知,这个时候就需要格式化输出,和 C 语言一样,我们可以使用占位符 %?,其中? 代表不同的字符,例如 %s 代表字符串,%d 代表十进制整数,%f 代表浮点数,例如
name = “Potato”
b = 100
print(“ 你好 %s,你的额度是 %d” % (name,b) )
#name 将替换 %s 的位置,b 将替换 %d 的位置,字符串后的 % 用来说明是哪些变量要替换前面的占位符,当只有一个变量的时候,可以省略括号

占位符还可以控制输出的格式,例如保留几位小数,填充前导 0 等,以下是例子
print(“ 小数: %.2f” % 3.14159)# %.2f 代表保留两位小数
print(“ 小数: %.2f” % 4.5)# %.2f 保留两位小数,不够的位用 0 补充
print(“ 占位: %3d” % 5)# %3d 代表这个数的宽度为 3,不够的话用空格在前面补,如果数的宽度大于 3,则正常输出
print(“ 前导 0: %05d” % 2)# %05d 代表这个数的宽度为 5,不够的话用 0 在前面补,如果数的宽度大于 5,则正常输出

如果不知道数据类型的话,用 %s 即转为字符串进行输出会比较稳妥,还有许多种占位符的格式,具体使用时可以搜索,一般常用的就是以上那些。
4. 格式化输出,format
可以利用 string 对象的 format 方法,进行格式化,以下是例子
print(“ 你好 {0},你的余额是 {1:.2f}”.format(“Potato”,3.1))
#{0} 代表占位符和 format 里的参数对应,{1:.2f},冒号后是格式控制,代表保留两位小数

这种方式使用起来可能不是很方便。或者还可以使用 py 内置的 format 函数,例如
print(format(3.1415,”.2f”))
#结果是 3.14
如果觉得不错,可以分享~ 可以关注公众号~

正文完
 0