程序中常常会有这样场景:要求用户输入信息,而后打印成固定的格式python
好比要求用户输入用户名和年龄,而后打印以下格式:My name is xxx,my age is xxx.code
很明显,用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,没法放到指定的xxx位置,并且数字也必须通过str(数字)的转换才能与字符串进行拼接,很是之麻烦,咱们来试一试。orm
用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,没法放到指定的xxx位置,并且数字也必须通过str(数字)的转换才能与字符串进行拼接,很是之麻烦
代码以下字符串
age = 18 print('My name is nash,my age is '+str(age)) # 输出结果 ---> My name is xxx,my age is 18
多字符串 + 的使用方法string
name = 'nash' age = 18 print('My name is '+name+' my age is '+str(age)) # 输出结果 ---> My name is nick my age is 18
上面使用的方法越看越别扭,越看越麻烦。这就须要用到占位符,如:%s(针对全部数据类型)、%d(仅仅针对数字类型)--> 我的见解这用法时候 %s 走天下form
name = 'nash' age = 18 print('my name is %s my age is %s' % (name, age)) # my name is nash my age is 18 age = 18 print('my age is %d' % age) # my age is 18
讲真,很鸡肋的格式化的方法,若是你须要使用这个,遇到多参数的时候,仍是须要在句子后面噼里啪啦传上一大堆参数。使用这个不如用占位符或下面的f-String格式化。
ps:之前龟叔他们推荐用,我的以为最好用第三种了如今class
name = 'nash' age = 18 print("Hello, {}. You are {}.".format(name, age)) # Hello, nash. You are 19. name = 'nash' age = 18 print("Hello, {1}. You are {0} years old.".format(age, name)) # Hello, nash. You are 18 years old. name = 'nash' age = 18 print("Hello, {name}. You are {age} years old.".format(age=age, name=name)) # Hello, nash. You are 18 years old.
比较占位符的方式,python3.6版本新增了f-String格式化的方式,比较简单易懂.推荐使用这种方式。变量
name = "nash" age = 18 print(f"Hello, {name}. You are {age}.") # Hello, nash. You are 19.
大写的F也适用。数据类型
name = "nash" age = 18 print(F"Hello, {name}. You are {age}.") # 输出结果 # Hello, nash. You are 18.
变量乘法后在进行格式化(即运算结束后,格式化为最后一步)程序
age = 18 print(f'{age*2}') # 输出结果 # 36
秀个其余地方看到的操做(内部是不会f影响外部的,而且还能够进行浮点数的小数取值)
salary = 6.6666 print(f'{salary:.2f}') 6.67