NP3 格式化输出(一)

'''
NP3 格式化输出(一)
牛牛、牛妹和牛可乐正在Nowcoder学习Python语言,现在给定他们三个当中的某一个名字name,
假设输入的name为Niuniu,则输出 I am Niuniu and I am studying Python in Nowcoder!
请按以上句式输出相应的英文句子。
'''
print('=== Method 1 ===')  
name = input('Please input name: ')
print("I am {} and I am studying Python in Nowcoder!".format(name))

print('=== Method 2 ===')
print('I am ' + name + ' and I am studying Python in Nowcoder!')

print('=== Method 3 ===')
print('I am %s and I am studying Python in Nowcoder!'%name)

print('=== Method4 ===')
print(f'I am {name} and I am studying Python in Nowcoder!')

'''>>> format 的用法 <<<'''
#基础用法
# 1. 按照{}的顺序依次匹配括号中的值
s = '{} is a {}, and have worked in this company for {} years.'.format('keven','worker',1.5)
print(s)

# 2. 通过索引的方式去匹配参数
s = 'the name of {1} is {0}'.format('keven', 'teacher')
print(s)

# 3.1通过参数名来匹配参数
s = '{name} is a {job}'.format(name='keven',job='teacher')
print(s)

# 3.2同理,如果参数已经确定,可以直接利用{}进行格式化引用
# 以f开头表示在字符串中支持大括号内的python表达式   此用法3.6之后支持
name = 'keven'
job = 'teacher'
s = f'{name} is a {job}'
print(s)

# 4.1 可以通过索引,参数名来混搭进行匹配
s = 'My name is {} , I am {} years old , and work as an {job}'.format('keven',27,job='Electronic Engineer')
print(s)
#需要注意的是,命名参数必须写道最后。负责会编译报错

#进阶用法
# 1. 通过对象的属性
class Names():
    name1='keven'
    name2='tom'
s = 'hello {n.name1} ! I am {n.name2}'.format(n=Names)
print(s)

# 2.支持对参数部分引用
s = 'The word is {s} , {s[0]} is initials'.format(s='world')
print(s)

# 3. 数字的处理
# 如何使用format 保留两位小数呢? 需要使用:.2f,在用%进行格式化时我们使用的是%:.2f
s = 'π is {:.2f}'.format(3.1415926)
print(s)
s1 = 'π is %.2f'%3.1415926
print(s)

#字符串截取
s = '{:.3}'.format('Hello')
print(s)

#给数字后面加千位符
s = '{:,}'.format(888888888)
print(s)

#数字的进制转换
# 10进制 -> 2进制
s = '{:b}'.format(10)
print(s)

# 10进制 -> 8进制
s = '{:o}'.format(10)
print(s)

# 10进制 -> 16进制
s = '{:x}'.format(10)
s1 = '{:X}'.format(10)
print(s,s1)

# 4. 字符的填充
# 可通过:符号^数字进行字符串的填充。 其中数字为填充后的字符串总长度。
s = '{:-^40}'.format('Hello World!')
print(s)
print('-'*40)

# 5. list、tuple的拆分
foods = ['fish', 'beef', 'fruit']
s = 'i like eat {} and {} and {}'.format(*foods)
# i like eat fish and beef and fruit
print(s)

foods = ['fish', 'beef', 'fruit']
s = 'i like eat {2} and {0} and {1}'.format(*foods)
# i like eat fruit and fish and beef
print(s)

dict_temp = {'name': 'Lily', 'age': 18} 
# 字典需要用 ** 进行拆分
s = 'My name is {name}, i am {age} years old'.format(**dict_temp)
print(s) # My name is Lily, i am 18 years old

# reference link : https://blog.csdn.net/qq_42855293/article/details/118480087

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心灵流浪者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值