Python 官方文档:入门教程 => 点击学习
(一)字符串 字符串是 python 中最常用的数据类型。我们可以使用引号 ( ' 或 " ) 来创建字符串。顾名思义,羊肉串是由羊肉做成的串,而字符串就是由字符组成的。 字符串的本质是:字符序列。 2 Pyth
字符串是 python 中最常用的数据类型。我们可以使用引号 ( ' 或 " ) 来创建字符串。顾名思义,羊肉串是由羊肉做成的串,而字符串就是由字符组成的。 字符串的本质是:字符序列。
2 Python 不支持单字符类型,单字符也是作为一个字符串使用的。创建字符串很简单,只要为变量分配一个值即可。例如:var1 = 'Hello World!'var2 = "Python"
Python 的字符串是不可变的,我们无法对原字符串做任何修改。但可以将字符串的一部分复制到新创建的字符串,达到 “看起来修改 ” 的效果。 转换技巧:
使用内置函数ord()可以把字符转换成对应的Unicode码; 使用内置函数chr()可以把十进制数字转换成对应的字符;
print(ord('A')) #65print(ord('成')) #25104print(chr(66)) #'B'print(ord('龙') )#40857
a = "I'm a teacher!"print(a) #I'm a teacher!b = 'my_name is "Jackie Chan"'print(b) #my_name is "Jackie Chan"
② 连续三个单引号或三个双引号,可以帮助我们创建多行字符串。在 长字符串中会保留原始的格式。例如:
c = ''print(len(c)) #结果:0
其中,len() 用于计算字符串含有多少字符。 转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,y 代表 0~7 的字符,例如:\012 代表换行。 |
\xyy | 十六进制数,以 \x 开头,yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
代码
a = 'I\nlove\bU'print(a)print('a\rabb\\cc')
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | >>>a + b 'HelloPython' |
* | 重复输出字符串 | >>>a * 2 'HelloHello' |
[] | 通过索引获取字符串中字符 | >>>a[1] 'e' |
[ : ] | 截取字符串中的一部分 | >>>a[1:4] 'ell' |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | >>>"H" in a True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | >>>"M" not in a True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | >>>print r'\n' \n >>> print R'\n' \n |
% | 格式字符串 | 请看下一章节 |
具体代码
a = "Hello"b = "Python"print("a + b 输出结果:", a + b)print("a * 2 输出结果:", a * 2)print("a[1] 输出结果:", a[1])print("a[1:4] 输出结果:", a[1:4])if ("H" in a): print( "H 在变量 a 中")else: print( "H 不在变量 a 中")if ("M" not in a): print("M 不在变量 a 中")else: print("M 在变量 a 中")print(r'\n')print(R'\n')
运行效果:
字符串拼接 :可以使用 + 将多个字符串拼接起来。例如: ’aa’+ ’bb’ 结果 是 ’aabb’如果 + 两边都是字符串,则拼接。
如果 + 两边都是数字,则加法运算
如果 + 两边类型不同,则抛出异常
可以将多个字面字符串直接放到一起实现拼接。例如: ’aa’’bb’ 结果是 ’aabb’
a = 'sxt'+'qiqi' #结果是:'sxtqiqi'b = 'sxt''qiqi' #结果是:'sxtqiqi'
切片 slice 操作可以让我们快速的提取子字符串。标准格式为:
[起始偏移量start:终止偏移量end:步长step]
操作和说明 | 示例 | 结果 |
[:] 提取整个字符串 | “abcdef”[:] | “abcdef” |
[start:] 从start索引开始到结尾 | “abcdef”[2:] | “cdef” |
[:end] 从头开始知道end-1 | “abcdef”[:2] | “ab” |
[start:end] 从start到end-1 | “abcdef”[2:4] | “cd” |
[start:end:step] 从start提取到end-1,步长是step | “abcdef”[1:5:2] | “bd” |
示例 | 说明 | 结果 |
"abcdefghijklmnopqrstuvwxyz" [-3:] | 倒数三个 | “xyz” |
"abcdefghijklmnopqrstuvwxyz" [-8:-3] | 倒数第八个到倒数第三个( 包头不包尾 ) | 'stuvw' |
"abcdefghijklmnopqrstuvwxyz" [::-1] | 步长为负,从右到左反向提取 | 'zyxwvutsrqponmlkjihgfedcba' |
注意:切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当做0,终止偏移量大于“长度-1”会被当成-1。例如:
a = "to be or not to be"print(a.split())print(a.split('be'))
运行效果: join() 的作用和 split() 作用刚好相反,用于将一系列子字符串连接起 来。示例代码如下: a = ['sxt','sxt100','sxt200']print('*'.join(a))
运行效果:
总结:
拼接字符串要点: 使用字符串拼接符 + ,会生成新的字符串对象,因此不推荐使 用 + 来拼接字符串。推荐使用 join 函数,因为 join 函数在拼接字 符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。
我们以一段文本作为测试:
a='''ablchbjj '''
方法和使用示例 | 说明 | 结果 |
len(a) | 字符串长度 | 8 |
a.startswith('abl') | 以指定字符串开头 | True |
a.endswith('jj') | 以指定字符串结尾 | True |
a.find('b') | 第一次出现指定字符串的位置 | 1 |
a.rfind('b') | 最后一次出现指定字符串的位置 | 5 |
a.count("lch") | 指定字符串出现了几次 | 1 |
a.isalnum() | 所有字符全是字母或数字 | True |
来源地址:https://blog.csdn.net/qq_63976098/article/details/131506481
--结束END--
本文标题: Python——— 字符串
本文链接: https://lsjlt.com/news/391210.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0