输入输出函数是编写代码时会使用到非常多的函数,这里会讲到输入函数input(),输出函数print()以及格式化输出。
Python提供了一个input(string)函数,可以让用户进行输入字符串,并且可存放在变量中
注意:string是提示文本,可写可不写;使用input获取到的都是字符串
下面是input()函数的一个简单使用:
name = input("请输入您的名字:")
age = input("请输入您的年龄:")
sex = input("请输入您的性别:")
address = input("请输入您的地址:")
Python提供了一个print()函数,使用print()函数就可以向屏幕中输出指定的文字
下面是print()函数的简单使用,输出数字、字符串:
print(122)
print(12.34)
print("hello world")
默认情况下使用print()会自动打印换行符,如果需要更改换行符则需要在print()中添加end属性即print("",end=" "),这样就把换行更改成空格
print(1,end=" ")
print(2,end=" ")
print(3,end=" ")
运行结果如下:
1 2 3
print()函数也可以同时输出多个字符串,一种是使用"+"进行拼接,但需要注意拼接类型必须相同
print(12+34)
print("you"+"are"+"very"+"12")
对于12+34,python解释器自动计算出结果为46,因此会打印出上述的结果
还有一种是使用","来进行拼接,需要注意打印的时候会在逗号的位置产生一个空格
print(1,2,3,4)
print("you","are","very","good")
print("you","are","very","good",12)
通常情况,我们需要更多地控制输出的格式,而不仅仅是打印空格分隔的值,Python提供了“%”对各种类型的数据进行格式化输出,如下代码:
print ("He is %d years old"%(25))
上面程序中的print()函数包含以下三个部分,第一部分是格式化字符串(相当于字符串模板),该格式化字符串中包含一个“%d”(称为转换说明符),其作用相当于一个占位符,它会被第三部分的变量或表达式的值代替;第二部分固定使用“%”作为分隔符。
Python还提供了其他许多的转换说明符,如下图:
转换说明符号 | 说明 |
---|---|
%d | 整数(十进制) |
%i | 整数(十进制) |
%u | 无符号整数 |
%o | 整数(八进制) |
%x | 整数(十六进制) |
%X | 整数(十六进制) |
%c | 字符 |
%s | 字符串 |
%f | 浮点数(十进制) |
%F | 浮点数(十进制) |
%e | 科学计数法表示的浮点数(e小写) |
%E | 科学计数法表示的浮点数(E大写) |
一些简单用法如下:
#打印整数
print ("He is %d years old"%(25)) #He is 25 years old
print ("He is %i years old"%(25)) #He is 25 years old
print ("He is %u years old"%(25)) #He is 25 years old
print ("%o"%(25)) #31
print ("%x"%(218)) #da
print ("%X"%(218)) #DA
#打印字符串
print ("His name is %s"%("Aviad")) #His name is Aviad
#打印浮点数
print ("His height is %f m"%(1.83)) #His height is 1.830000 m
print ("His height is %F m"%(1.83)) #His height is 1.830000 m
print("%e"%(123.45667)) #1.234567e+02
print("%E"%(123.45667)) #1.234567E+02
还可以指定转换后的最小宽度,例如如下代码:
#指定最小宽度为6
print("%6d"%(25))
print("%6d"%(1234567))
print("%6s"%("hello"))
运行上面代码,可以看到如下输出结果:
25
1234567
hello
在默认情况下,转换出来的字符串总是右对齐的,不够宽度时左边补充空格。当然我们也可以设置左对齐以及补0,具体如下:
print("%06d"%(25))
print("%6d"%(1234567))
print("%-6s"%("hello"))
运行上面代码,可以看到如下输出结果:
000025
1234567
hello
对于转换浮点数,Python还允许指定小数点后的数字位数。例如如下代码:
print("%.2f"%(12.345667)) #12.35