Python基础之字符串
一:字符串
很多人初学编程时,总是担心自己数学不行,潜意识里认为数学好才能编程。实际上,大多数程序员打交道最多的是“字符串”而不是“数字”。因为,编程是用来解决现实问题的,因此逻辑思维的重要性远远超过数学能力。
字符串的本质是:字符序列。Python的字符串是不可变的,我们无法对原字符串做任何修改。但可以将字符串的一部分复制到新创建的字符串,以达到“看起来修改”的效果。
1.1 字符串的编码
Python3直接支持Unicode,可以表示世界上任何书面语言的字符。Python3的字符默认就是16位Unicode编码,ASCII码是Unicode编码的子集(ASCII码只能表示英文与数字,一个字节,每个字节8位)。
使用内置函数==ord()可以把字符转换成对应的Unicode码
使用内置函数chr()==可以把十进制数字转换成对应的字符
print(ord('A')) # 65
print(ord('高')) # 39640
print(chr(65)) # A
print(chr(39640)) # 高
1.2 创建字符串
a = "I teach Chinese KongFu"
b = 'who are you?'
# 创建多行字符串
c = '''name="Bruce Lee"
company="sxt"
age = 32
lover = KongFu
'''
print(c)
多行字符串输出结果:
name="Bruce Lee"
company="sxt"
age = 32
lover = KongFu
1.3 字符串长度
使用len()函数计算字符串的长度
a = '' # Python允许空字符串的存在
b = 'Bruce Lee 李小龙'
print(len(a)) # 0
print(len(b)) # 13 (包含空格,因为使用的是Unicode编码所以一个中文汉字就是一个字符)
1.4 replace()实现字符串替换
字符串是“不可改变的”,我们通过[]可以获取字符串指定位置的字符,但是我们不能改变字符串,当尝试改变字符串中某个字符,会报错:
a = 'see you again'
a[2] = 'a'
print(a)
报错信息如下:
TypeError: 'str' object does not support item assignment
当需要改变某些字符时,就可以使用replace()
a = 'see you again'
b = a.replace('s', 'l'