2023-12-22

"与 `

"与 `都可用来创建字符串,没有区别

转义字符\

转义字符 描述
\(在行尾时) 续行符,可将想要输出在一行的字符分多行输入
\后\, `, " 分别在打印\,`,"时使用
\r 回车将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成
\n 换行
\t 横向制表
\v 纵向制表符到下一行的制表位
\000

字符串运算符

a="Hello"

操作符 描述 实例
+ 字符串连接
* 重复输出字符串
[] 通过索引获取字符串中单个字符 a[1]=e
[ : ] 截取字符串中连续的一部分,遵循左闭右开原则 a[1:4] 输出结果 ell
[ : : step] 以特定步长选取字符串的离散字符,step为-1时可以起到翻转效果
in 成员运算符 - 如果字符串中包含给定的字符返回 \True 'H' in a 输出结果 True
not in 与in用法相同,结果相反
r/R 原始字符串,所有字符串都按照字面意思使用 print( r'\n' ) print( R'\n' )

字符串格式化

f-string

称为字面量格式化字符串,
字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,如

>>> name = 'Runoob'
>>> f'Hello {name}'  # 替换变量
'Hello Runoob'
>>> f'{1+2}'         # 使用表达式
'3'

>>> w = {'name': 'Runoob', 'url': 'www.runoob.com'}
>>> f'{w["name"]}: {w["url"]}'
'Runoob: www.runoob.com'

Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果:

x = 1
print(f'{x+1=}')   # Python 3.8
输出
x+1=2
与C中sprintf相同用法
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
#我叫 小明 今年 10 岁!

%c,%s,%d, %u,%f, %e等与C相同

格式化操作符辅助指令:
  • 当*操作符用于格式化字符串时,它表示可变参数操作符,可以将多个参数打包成一个元组传递给format()方法

    numbers = (1, 2, 3, 4)
    print("The numbers are: {}, {}, {}, {}".format(*numbers))

    输出

    The numbers are: 1, 2, 3, 4

  • + 在正数前面显示加号( + )

  • - 用做左对齐

  • m.n. m 表示字段的最小宽度,并且适用于所有类型的值,包括字符串、整数和浮点数,不足的补空格,超出的不做处理,n 是小数点后的位数(只对浮点数有效)

  • Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。

常用字符串内置函数

  • repr():可将转义字符都表示出来

  • str():将数字转换为字符串

  • len():返回字符串长度

  • zip(*iterables):

    *iterables 表示一个或多个可迭代对象,可以是列表、元组、字符串等。zip() 函数会按照最短的可迭代对象的长度进行迭代,将每个可迭代对象相同位置的元素配对为一个元组。返回的迭代器可以通过 list()tuple() 转换为列表或元组。

  • lower():大写变小写

  • upper():小变大

  • chr(i):用于将整数转换为对应的 Unicode 字符。

  • ord():返回表示给定字符的 Unicode 码点。

  • eval()是执行表达式里的内容,ast.literal_eval()更好

  • strip()删除首尾多余空格

  • replace(old, new [, max])把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。

  • count(str, beg= 0,end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

  • join(seq)以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

字符串常量(string模块内)

string.ascii_letters #abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
string.ascii_lowercase #abcdefghijklmnopqrstuvwxyz
string.ascii_uppercase #ABCDEFGHIJKLMNOPQRSTUVWXYZ
string.digits #0123456789
string.punctuation #!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
string.printable #所有Python支持的字符
string.whitespace #所有空白字符,' \t\n\r\x0b\x0c’
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备,具...
    不脱发的程序员阅读 1,143评论 0 1
  • 模式和被搜索的字符串既可以是 Unicode 字符串 (str) ,也可以是8位字节串 (bytes)。 ...
    山海皆可平z阅读 267评论 0 0
  • 第一部分 Python基础篇(80题) 1、为什么学习Python? Python相对于其他编程语言有很多优点: ...
    清清子衿木子水心阅读 1,759评论 0 1
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,325评论 1 44
  • Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。 解...
    蔷北阅读 441评论 0 0