字符串基本特点
很多人初学编程时,总是担心自己数学不行,潜意识里认为数学好才能编程。实际上,大多数程序员打交道最多的是“字符串”而不是“数字”。因为,编程是用来解决现实问题的,因此逻辑思维的重要性远远超过数学能力。
字符串的本质是:字符序列。Python 的字符串是不可变的,我们无法对原字符串做任何修改。但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。
Python 不支持单字符类型,单字符也是作为一个字符串使用的。
字符串的编码
Python3 直接支持 Unicode,可以表示世界上任何书面语言的字符。Python3 的字符默认就是 16 位 Unicode 编码,ASCII 码是 Unicode 编码的子集。
使用内置函数 ord()可以把字符转换成对应的 Unicode 码;
使用内置函数 chr()可以把十进制数字转换成对应的字符。
>>> ord('A')
65
>>> ord('高')
39640
>>> chr(66)
'B'
>>> ord('淇')
28103
引号创建字符串
我们可以通过单引号或双引号创建字符串。例如:a=’abc’; b=”sxt”
使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符。例如:
>>> gzs = "i am gongchengshi"
>>> print(gzs)
i am gongchengshi
>>> www = "https://www.jianshu.com/writer#/notebooks/42856037/notes/60603738"
>>> www
'https://www.jianshu.com/writer#/notebooks/42856037/notes/60603738'
>>> print(www)
https://www.jianshu.com/writer#/notebooks/42856037/notes/60603738
连续三个单引号或三个双引号,可以帮助我们创建多行字符串。例如:
>>> resume = '''name = "gzs" company = "qinghua" age = 20'''
>>> print(resume)
name = "gzs" company = "qinghua" age = 20
空字符串和 len()函数
Python 允许空字符串的存在,不包含任何字符且长度为 0。例如:
>>> c = ''
>>> len(c)
0
len()用于计算字符串含有多少字符。例如:
>>> len(www)
65
转义字符
我们可以使用“+特殊字符”,实现某些难以用字符表示的效果。比如:换行等。常见的
转义字符有这些:

操作】测试转义字符的使用
>>> a = 'I\nlove\nU'
>>> a
'I\nlove\nU'
>>> print(a)
I
love
U
>>> print('aaabb\
cccddd')
aaabbcccddd
字符串拼接
- 可以使用+将多个字符串拼接起来。例如:’aa’+ ’bb’ ==>’aabb’。
(1) 如果+两边都是字符串,则拼接。
(2) 如果+两边都是数字,则加法运算。
(3) 如果+两边类型不同,则抛出异常。 - 可以将多个字面字符串直接放到一起实现拼接。例如:’aa’’bb’==>’aabb’
【操作】字符串拼接操作
>>> a = 'sxt'+'gaoqi'
>>> a
'sxtgaoqi'
>>> b = 'sxt''gaoqi'
>>> b
'sxtgaoqi'
字符串复制
使用*可以实现字符串复制。
【操作】字符串复制操作
>>> a = 'gcs'*3
>>> a
'gcsgcsgcs'
不换行打印
我们前面调用 print 时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行
符。我们可以自己通过参数 end = “任意字符串”。实现末尾添加任何内容:
建立源文件 mypy_06.py:
print("gcs",end=' ')
print("gcs",end='##')
print("gcs")
运行结果:
gcs gcs##gcs
从控制台读取字符串
我们可以使用 input()从控制台读取键盘输入的内容。
>>> myname = input("请输入名字:")
请输入名字:攻城狮
>>> myname
'攻城狮'