美文网首页python自学
python 输入输出

python 输入输出

作者: Longjune | 来源:发表于2020-03-28 00:03 被阅读0次

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
  • print后跟多个输出
    用‘+’号时,中间是无间隔的,要手动加上。
    用‘,’时就不需要空格,逗号会自动转化为空格,注意前后输出格式要相同。
    若要将多个结果打印在一行,可以在print最后添加end=',',注意一定是要在语句的最后。
>>> 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()函数中的‘,’可以使用其他的分隔符号。

  • 一般使用
    {}中的数字表示的是输出时的位置索引。若为空就默认按照0、1、2、3的顺序进行输出;若为有多个位置索引,有重复的就重复,没重复的就出错。
    () 中的内容表示相应位置(不是位置索引,而是{}中的前后顺序)的输出内容。
>>> '{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'
  • 使用索引下标
    分别将format()函数中的变量看成是整体1、整体2……使用序列索引相似的引用法则。
>>> 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'

相关文章

网友评论

    本文标题:python 输入输出

    本文链接:https://www.haomeiwen.com/subject/jhhhuhtx.html