Python 输出相关内容

字符串格式化

用法1

#占位符有 %d %f %s 等,和c有很多一样的地方
#单个变量替换
'aa %d' % 12 # ==> 'aa 12'
#多个变量替换
'point(%d,%d)' %(1,2)# ==>'point(1,2)'
#多个变量替换时需要加括号

用法2

使用str.format函数,它通过{}和:来代替%,作为占位符。

'{},{}'.format('aaa',18) #==>'aaa,18' 不设置替换标号按传入顺序替换
'{0},{1}'.format('aaa',18)  #==>'aaa,18' 设置标号按标号顺序替换
'{1},{0},{1}'.format('aaa',18) #==> 'aaa,18,aaa'
'{name},{age}'.format(age=18,name='aaa') #==>'aaa,18' 设置占位符名称

#通过属性来替换占位符
class Person: 
  def __init__(self,name,age): 
    self.name,self.age = name,age 
    def __str__(self): 
      return 'This guy is {self.name},is {self.age} old'.format(self=self) 
str(Person('aaa',18))  #==>'This guy is aaa,is 18 old'

#通过下标替换占位符
p=['aaa',18]
'{0[0]},{0[1]}'.format(p) #==>'aaa,18' 第一个0代表传入的参数p第二个[0]代表下标0的元素
'{p[0]},{p[1]}'.format(p = p) #==>'aaa,12'

#格式输出
#^、<、>分别是居中、左对齐、右对齐,后面带宽度,:号后面第一位是要填充的字符,只能是一个字符,不指定的话默认是用空格填充
#用法{[name]:[x[^<>]]d}
'{p[0]},{p[1]:^6d}'.format(p = p) #==>'aaa,  12  ' 第二个元素6位宽度居中。
 '{p[0]},{p[1]:0>6d}'.format(p = p) #==>'aaa,000012' #第二个元素左对齐,6位宽度,其他位用0填充

#浮点数精度
'{:.2f}'.format(321.33345) #==>'321.33'小数点后两位
#f为浮点数,此外还有:进制,b、d、o、x分别是二进制、十进制、八进制、十六进制

#分隔数字
'{:,}'.format(1234567890) #==>'1,234,567,890'

print输出函数

这里主要介绍Python3.5的print函数,通过使用help(print)

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

    Prints the values to a stream, or to sys.stdout by default.
    打印values到一个流,默认是标准输出
    Optional keyword arguments:
    file:  是一个 file-like 对象,可以设置此参数到输出到一个文件,默认是标准输出
    sep:   多个values中间的间隔符,默认是空格
    end:   结尾符,默认是换行符
    flush: 是否强制flush流,默认是false
#在某些情况下我们需要显示进度,不换行显示,只需要设置end='',然后字符串里使用'\r'回车符即可
print('\r当前进度: %d%%' % current, end='')

猜你喜欢

转载自blog.csdn.net/a540366413/article/details/64444827