python自学

python 输入输出

2020-03-28  本文已影响0人  Longjune

print:%格式化输出

print是一个常用函数,其功能就是输出括号中得字符串。
在下面例子中("His name is %s"%("Aviad"))有两个%,第一个%s表示先在"His name is %s"中占个位置,而后面的"Aviad"才是真正%s位置上要显示的内容,也就是说 %("Aviad") 这个表达式是要告诉前面的%s,它要显示的内容在 %() 这里面。(参考c++中的输入输出)

注意相应的%_与后面要输出内容类型的匹配。
%d对数字(123),%f对浮点数(5.203),等等……不然输入输出的类型有时会自动转换。

>>> print ("His %s is %s"%('name',"Anna"))      #这里%s是要替字符串占位置
His name is Anna
>>> print ("He is %d years old"%(25))       #这里%d是替整数占位置
He is 25 years old
>>> print ("His height is %f m"%(1.83))     #这里%f表示替浮点数占位置
His height is 1.830000 m
>>> print ("His height is %.2f m"%(1.83))   #这里%.2f表示浮点数占位置,表示只显示小数点后两位数字,也就是指定了保留小数点位数
His height is 1.83 m

指定占位符宽度:总共要留下多长的位置输出(包含空格、小数点和输出内容)。
如果是正整数就是右对齐(左边是空格),是负整数就是左对齐(右边是空格)。

>>> print ("Name:%10s Age:%8d Height:%8.2f"%("Aviad",25,1.83))    #右对齐
Name:     Aviad Age:      25 Height:    1.83
>>> print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Aviad",25,1.83))      #左对齐
Name:Aviad      Age:25       Height:1.83    

指定占位符(只能用0当占位符,不然对被认为是宽度而失效):在宽度面前加0。

>>> print ("Name:%-10s Age:%08d Height:%08.2f"%("Aviad",25,1.83))
Name:Aviad      Age:00000025 Height:00001.83
>>> name='abc'
>>> a=10
>>> print(name+' is '+str(a-7)+' word')    
abc is 3 word
>>> print(name,'is',str(a+7),'word')     
abc is 17 word
>>> print(name,end=' ')    
>>> print('is',end=' ')    
>>> print(a+10,end=' ')  
>>> print('word',end=' ')  
abc is 20 word

input

变量= input("想要输入的内容: ")

input函数将用户输入的内容作为字符串形式返回,就算你输入的是数字,但这个返回的“数字”的类型是字符型。
但如果要想获取其他类型,那么可以使用转换函数将字符转化为其他类型(注意输入与想要的输出类型得保持一致)。

format格式化输出

字符变量名.format() 或 '{1},{2}.{3}…'.format(内容1,内容2,…)
生成对象为字符型。它与之前的%型格式化字符串相比,它通过{}和.来代替%,format()函数中的‘,’可以使用其他的分隔符号。

>>> '{1},{0}'.format('Anna',19)   
'19,Anna'
>>> '{},{}'.format('Anna',19)     
'Anna,19'
>>> '{1},{0},{1}'.format('Anna',19)    
'19,Anna,19'
>>> '{name},{age}'.format(age=19,name='Anna')
'Anna,19'
>>> p=['Anna',19]      
>>> q=['Bob',20]  
>>> '{0[0]},{0[1]}{1[1]},{1[0]}'.format(p,q)      #注意这里的第二三项之间没有逗号
'Anna,1920,Bob
>>> '{:>8}'.format('189')       #默认是空格来占位,要显示的内容靠右对齐
'     189'
>>> '{:0>8}'.format('189')         #用0来占位
'00000189'
>>> '{:a<8}'.format('189')         #用字母a来占位,要显示的内容靠左对齐
'189aaaaa'
>>> '{:*^7}'.format('189')        #用*来占位,共显示7位,要显示内容居中
'**189**'

其中的精度与类型调整
f前的数字表示精度为小数点后几位。与C++不同的是它会遵循四舍五入。

>>> '{:.2f}'.format(321.33345)      #保留两位有效数字
'321.33'
上一篇 下一篇

猜你喜欢

热点阅读