【无为则无心&Python基础】— 14.字符串的格式化输出(二)

方式4:f格式化方式(推荐)

格式化字符串除了%s,还可以写为f'{表达式}'

f-格式化字符串是Python3.6中新增的格式化方法,该方法更简单易读,性能更高效。

# 在f格式化字符串中可以直接嵌入变量,{ }内就是变量的名称,也可以进行运算赋值。
age = 18 
name = 'TOM'

# 我的名字是TOM,明年19岁了
# 结果:我的名字是TOM,明年19岁了
print('我的名字是%s,明年%d岁了' % (name, age + 1))

# 我的名字是TOM,明年19岁了
# 结果:我的名字是TOM,明年19岁了
print(f'我的名字是{name},明年{age + 1}岁了')

# 注意:
# 在格式化字符串中,所引用的变量一定是被定义过的。
# 如果引用的变量没有被定义,就会报错NameError: name 'xx' is not defined
print(f'我的名字是{name},明年{age + 1}岁了,体重{weight}公斤')
# NameError: name 'weight' is not defined

方式5:format()函数方式

通过字符串的format( )方法进行格式化输出。

# 1、顺序填坑:{} 占位符
# 输出结果:姓名是Tom,年龄是20
print('姓名是{},年龄是{}'.format('Tom',20))
 
# 2、下标填坑(自定义顺序匹配):
# format方法里参数的脚标从0开始。
# 输出结果:姓名是:Tom,年龄是:20
print('姓名是:{1},年龄是:{0}'.format(20,'Tom'))
 
# 3、变量填坑(键值匹配):
# 占位符中的变量名和参数中定义的变量名一一对应。
# 输出结果:姓名是:Tom,年龄是:20
print('姓名是:{name},年龄是:{age}'.format(name='Tom',age=20))
format()函数对齐方式说明
数字 格式 输出 描述
5 {:0>2} 05 数字补零 (靠右填充左边, 宽度为2)
5 {:x<4} 5xxx 补x (靠左,填充右边, 宽度为4)
10 {:x^4} x10x 补x (居中填充, 宽度为4)
13 {:10} 13 右对齐 ( 宽度为10),默认对齐方式
13 {:<10} 13 左对齐 (宽度为10)
13 {:^10} 13 中间对齐 (宽度为10)

说明:

  • 对齐方式直白语法(1):(2)补全的内容(符号)(3)补全方向 (4)字符串总宽度
  • (1)冒号:固定写法
  • (2)补全的内容(符号):自己定义,就是长度不够的时候,可以补0或者*等。
  • (3)补全方向:<填充右边,>填充左边,也就是口向哪边,就向哪个方向填充,^表示居中。
  • (3)字符串总宽度:就是占位符变量的字符长度,字符长度不够总宽度,按方向补全(2)定义的符号。
  • 冒号前可定义上边所说的下标{1:x<4},也可以是变量名{name:x^4}.
示例:
# 输出结果
# 姓名是:Tom********
# 年龄是:*********20
print('姓名是:{0:*<11}\n年龄是:{1:*>11}'.format('Tom',20))

# 输出结果
# 姓名是:****Tom****
# 年龄是:****20*****
print('姓名是:{0:*^11}\n年龄是:{1:*^11}'.format('Tom',20))

3、print( )函数结束符

如果设置了print( )函数的结束符号,我们可以控制格式化输出数据的各种展示方式。

print( )是Python的一个内置函数,它有哪些具体的参数呢?

简单说明:

  • print( )函数的作用:打印相应的内容。
  • print( )函数的返回值为None。(None的内容可以看之前的总结)
  • file参数:原始的sys.stdout指向控制台。(其他的看表中描述,更多的自己去扩展。)
  • flush参数:flush值为True或者False,默认为Flase。表示是否立刻将输出语句输入到参数file指向的对象中(默认是sys.stdout)。

(1)sep参数

sep参数用来间隔多个对象,默认值是一个空格。

# 使用print()函数,同时输出多个参数,多个参数之间是默认用空格分隔的。
# 输出结果:
# hello python
print("hello","python")


# 输出结果:
# hello***python
# www.baidu.com
print("hello","python",sep="***")
print("www","baidu","com",sep=".")

(2)end参数:结束符

想一想,为什么两个print()函数之间会换行输出?

在Python中print( )函数, 默认自带end="\n"这个换行结束符,所以导致每两个print()函数之间直接会换行展示,用户可以按需求更改结束符。

总结:end =什么就会在输出的末尾添加什么,默认值是换行符\n,我们可以换成其他字符串。

# print()函数默认结束符end="\n"
# 输出结果:
# hello
# python
print("hello",end="\n")
print("python",end="\n")

# end参数可以换任何符号,如制表符或者自定义符号
# 输出结果:
# hello python***
print("hello",end="\t")
print("python",end="***")

参考:https://blog.csdn.net/luomanluoland/article/details/80630006

你可能感兴趣的:(【无为则无心&Python基础】— 14.字符串的格式化输出(二))