Python 编程 | 连载 06 - 格式化与转义字符

2022-09-26 14:18:11 浏览数 (1)


“Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。”

字符编码格式

编码格式既

  • 有一定规则的规则
  • 使用这种规则,就可以知道传输的信息是什么意思 常见编码格式有gbk中文编码和ascii英文编码,而utf-8是一种国际通用的编码格式,通常都会使用utf-8编码

字符串格式化

字符串的格式化既一个固定的字符串中有部分元素是根据变量的值改变而变化的字符串。字符串格式化常用在发送邮件短信或推送的时候,这种有固定的模板,只是针对不同的人发送的时候称呼会根据用户名的不同而不同。

% 格式化字符串

字符串的格式化操作使用操作符“%”来完成

代码语言:javascript复制
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占位符定义的一致

代码语言:javascript复制
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的字符串主体使用{}来代替格式化符

代码语言:javascript复制
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....,也可以不输入数字,实际也会按照顺序来填充

代码语言:javascript复制
print('Hello {}, I am {}'.format('Tom', 'Tony'))
print('Hello {0}, I am {1}'.format('Tom', 'Tony'))
  1. 使用关键字参数 利用key=value来实现一一对应的赋值替换
  1. 数字格式化
f 格式化字符串

Python 3.6 中新增的格式化方案f-strs,在字符串前添加“f”符号,需要格式化的位置使用{变量名}实现

代码语言:javascript复制
name = 'Loki'
info = f'{name} From Asgard!'

print(info)

常用格式化符号

用于对应各种数据类型的格式化符号

  • %s:格式化字符串,通用类型
  • %d:格式化整型
  • %f:格式化浮点型
  • %u:格式化无符号整型
  • %c:格式化字符
代码语言:javascript复制
print('%c' % 1020)
print('%c' % 'a')
print('%c' % 'alpha')
代码语言:javascript复制
print('%c' % 10000)
print('%u' % -1)
print('%d' % 12138)
print('%f' % 3.1417789)
print('%.2f' % 3.24324443)

format并不能匹配所有的格式符

代码语言:javascript复制
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:翻页(几乎用不到)
  • ':转义字符串中的单引号
  • ":转义字符串中的双引号
  • \:转义
代码语言:javascript复制
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”来将当前字符串的转义字符串无效

代码语言:javascript复制
info = r'Hello n World'
print(info)

info_01 = r'Hello  Python'
print(info_01)

0 人点赞