在Python中字符串不能更改。
一、字符串的编码
python3直接支持Unicode,可以表示世界上所有的书面语言,python3默认就是16位的Unicode编码,也就是说有2**16个数字。
使用内置函数ord()可以把字符转换成对应的Unicode码;
使用内置函数chr()可以把十进制数字转换为对应的字符。
>>> ord('a')
97
>>> chr('98') 注意:这里不需要加单引号,直接写数字就 可以了
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
chr('98')
TypeError: an integer is required (got type str)
>>> chr('97')
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
chr('97')
TypeError: an integer is required (got type str)
>>> chr(98)
'b'
>>> ord('张')
24352
>>> ord('琦')
29734
>>> ord('张琦') 两个字符不能同时以这种形式打印出来,至于到底可以用什么方式打印出来, 后面再考证。
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
ord('张琦')
TypeError: ord() expected a character, but string of length 2 found
>>> chr(97;98)
SyntaxError: invalid syntax
发现一个好玩的事情,我们可以用代码说话了,这就是机器学习的关键吧,机器可以将任何国家的书面文字翻译成看似生硬的数字,但是如果我们有感情的朗读这一串数字,我想也只有同样垒代码的你我和计算机先生可以懂了。当然,计算机先生会反应的更快一些,并模仿我的语气读出一段代码,这是不是就是计算机交互了呢?
发现了乐趣,美也美也。
>>> ord('我')
25105
>>> ord('的')
30340
>>> ord('名')
21517
>>> ord('字')
23383
>>> ord('是')
26159
>>
二、引号创建字符串
1、我们可以使用单引号和双引号创建字符,含义等价,没有区别。只是当字符串中含有引号的时候,可以用不同的引号进行区分。
>>> a="I'm a teacher"
>>> print(a)
I'm a teacher
>>> b='my name is "Tom"'
>>> print(b)
my name is "Tom"
>>
2、连续三个单引号或者三个双引号,可以帮助我们创建多行字符串。
>>> resume='''i love you
but I can't tell you!
I hope you happiness!'''
>>> print(resume)
i love you
but I can't tell you!
I hope you happiness!
>>
三、 空字符串和len()函数
python允许空字符串出现,len()用于计算字符串中含有多少个字符
>>> c=''
>>> len(c)
0
>>> len(b)
16
>>>