一、格式化
字符编码格式
编码格式既:
- 有一定规则的规则
- 使用这种规则,就可以知道传输的信息是什么意思
常见编码格式有 gbk 中文编码和 ascii 英文编码,而 utf-8 是一种国际通用的编码格式,通常都会使用 utf-8 编码
字符串格式化
字符串的格式化既一个固定的字符串中有部分元素是根据变量的值改变而变化的字符串。字符串格式化常用在发送邮件短信或推送的时候,这种有固定的模板,只是针对不同的人发送的时候称呼会根据用户名的不同而不同。
字符串的格式化操作使用操作符 %
来完成
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 会把参数按位置顺序填充到字符串中,第一个参数是0,然后1....,也可以不输入数字,实际也会按照顺序来填充
print('Hello {}, I am {}'.format('Tom', 'Tony')) print('Hello {0}, I am {1}'.format('Tom', 'Tony')) 复制代码
使用关键字参数
利用key=value来实现一一对应的赋值替换
数字格式化
f 格式化字符串
Python 3.6 中新增的格式化方案f-strs,在字符串前添加“f”符号,需要格式化的位置使用{变量名}实现
name = 'Loki' info = f'{name} From Asgard!' print(info) 复制代码
常用格式化符号
用于对应各种数据类型的格式化符号
- %s:格式化字符串,通用类型
- %d:格式化整型
- %f:格式化浮点型
- %u:格式化无符号整型
- %c:格式化字符
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)) 复制代码
其他格式化符号
- %o:格式化无符号八进制数
- %x:格式化无符号十六进制数
- %e:科学计数法格式化浮点数
二、转义字符
字符串要转成其他含义的功能,称为转义字符
Python中的转义字符有:
- \n:换行,一般用于末尾,strip对其也有效
- \t:横向制表符,可以认为是一个间隔符
- \v:纵向制表符
- \a:响铃
- \b:退格符,将光标向前移覆盖或者删除前一个
- \r:回车
- \f:翻页(几乎用不到)
- \':转义字符串中的单引号
- \":转义字符串中的双引号
- \\:转义\
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) 复制代码