当前位置: 首页 > 工具软件 > geoping > 使用案例 >

Python基础-输入输出函数(input和print)及格式化输出

佟阳飙
2023-12-01

输入输出函数是编写代码时会使用到非常多的函数,这里会讲到输入函数input(),输出函数print()以及格式化输出。

input()函数

Python提供了一个input(string)函数,可以让用户进行输入字符串,并且可存放在变量中

注意:string是提示文本,可写可不写;使用input获取到的都是字符串

下面是input()函数的一个简单使用:

name = input("请输入您的名字:")
age = input("请输入您的年龄:")
sex = input("请输入您的性别:")
address = input("请输入您的地址:")
print()函数

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
 类似资料: