“Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。”
编码格式既
字符串的格式化既一个固定的字符串中有部分元素是根据变量的值改变而变化的字符串。字符串格式化常用在发送邮件短信或推送的时候,这种有固定的模板,只是针对不同的人发送的时候称呼会根据用户名的不同而不同。
字符串的格式化操作使用操作符“%”来完成
info = '%s and %s are best friends' % ('Stark', 'Rhodes')
print(info)
hero_01 = '钢铁侠'
hero_02 = '雷神'
mes = '我最喜欢的两个超级英雄是%s和%s' % (hero_01, hero_02)
print(mes)
变量的顺序一定要和字符串中的%s占位符定义的一致
news = '%s(0-24时)上海新增%s例本土新冠肺炎确诊病例,新增%s例本土无症状感染者,新增%s例境外输入病例'
date_time = '3月29日'
case_num_01 = 326
case_num_02 = 5656
case_num_03 = 3
print(news % (date_time, case_num_01, case_num_02, case_num_03))
print(news % (case_num_03, case_num_02, case_num_01, date_time))
format函数格式字符串
字符串可以调用format函数来进行格式化,使用format的字符串主体使用{}来代替格式化符
news = '{}(0-24时)上海新增{}例本土新冠肺炎确诊病例,新增{}例本土无症状感染者,新增{}例境外输入病例'
date_time = '3月29日'
case_num_01 = 326
case_num_02 = 5656
case_num_03 = 3
print(news.format(date_time, case_num_01, case_num_02, case_num_03))
format的使用方法: format可以接收不限个数的参数,位置可以不按照字符串中定义的顺序\
使用位置参数
format会把参数按位置顺序填充到字符串中,第一个参数是0,然后1....,也可以不输入数字,实际也会按照顺序来填充
print('Hello {}, I am {}'.format('Tom', 'Tony'))
print('Hello {0}, I am {1}'.format('Tom', 'Tony'))
Python 3.6 中新增的格式化方案f-strs,在字符串前添加“f”符号,需要格式化的位置使用{变量名}实现
name = 'Loki'
info = f'{name} From Asgard!'
print(info)
用于对应各种数据类型的格式化符号
print('%c' % 1020)
print('%c' % 'a')
print('%c' % 'alpha')
print('%c' % 10000)
print('%u' % -1)
print('%d' % 12138)
print('%f' % 3.1417789)
print('%.2f' % 3.24324443)
format并不能匹配所有的格式符
print("{:d}".format(1))
print("{:.2f}".format(3.444789783))
print("{:u}".format(12))
其他格式化符号
字符串要转成其他含义的功能,称为转义字符
Python中的转义字符有:
info = ' Hello \n How are you'
print(info)
info_01 = 'I am \t IRONMAN'
print(info_01)
info_02 = 'I am \v IRONMAN'
print(info_02)
info_03 = 'I am IRONMAN \f---'
print(info_03)
其中 \n 和 \t 使用频率较高
在Python字符串前加“r”来将当前字符串的转义字符串无效
info = r'Hello \n World'
print(info)
info_01 = r'Hello \ Python'
print(info_01)