-
基础
- 字符串的本质:字符序列。
- Python的字符串是不可变的。我们无法对原字符串进行修改。可以将字符串的一部分复制到新创建的字符串,达到看似修改的效果。
- 单字符也是作为一个字符串定义。
-
编码
-
Python3支持Unicode[65536] (ASCII[256]),表示世界上任何书面语言的字符。Python3的字符默认就是16位Unicode编码,ASCII码是Unicode编码的子集。
-
使用函数ord()可以把字符转换成对应的Unicode码。
-
使用函数chr()可以把十进制数字转换成对应的字符。
# hello string def test(myWords): print(myWords) def test2(): print(f"ord('A') = {ord('A')}") print(f"chr(72) = {chr(72)}") print(f"ord('霞') = {ord('霞')}") # Main if __name__ == '__main__': # test("I love you but you don't have any feelings.") test2()
-
-
引号创建字符串
-
可以通过’’ or “” 创建字符串。
-
连续三个单引号或三个双引号,可以帮助我们创建多行字符串
def test3(): myWords1 = 'You are my only one.' print(myWords1) myWords2 = "Love you love your cat." print(myWords2) myWords3 = ''' name = "YJP" address = "B222" age = 21 lover = "X" ''' print(myWords3) # Main if __name__ == '__main__': test3()
-
-
空字符串和len()函数
-
Python允许空字符串的存在,即不包含任何字符。
-
len()用于计算字符串的长度。
def test3(): myWords1 = 'You are my only one.' print(myWords1) print(f"len(myWords1) = {len(myWords1)}") myWords2 = "Love you love your cat." print(myWords2) print(f"len(myWords2) = {len(myWords2)}") myWords3 = ''' name = "YJP" address = "B222" age = 21 lover = "X" ''' print(myWords3) print(f"len(myWords3) = {len(myWords3)}") myWords4 = "" print(f"len(myWords4) = {len(myWords4)}") # Main if __name__ == '__main__': test3()
-
-
转义字符
- 使用"+特殊字符"。实现某些难以用字符表示的效果。
- 常见转义字符:
-
(在结尾时) 续行符
-
反斜杠
-
’ 单引号
-
" 双引号
-
b 退格(Backspace)
-
n 换行
-
t 横向制表符
-
r 回车
# 转义字符 def test4(): myWords1 = 'twhat's up!n' myWords2 = "t"今宵绝胜无人共,n t 卧看星河尽意明。"n" print(myWords1) print(myWords2) # Main if __name__ == '__main__': test4()
-
-
字符串拼接
-
可以使用+将多个字符串拼接起来。
- 若 + 两边都是字符串,则拼接;
- 若 + 两边都是数字,则加法运算;
- 若 + 两边类型不同,则抛出异常。
-
可以将多个字符串放在一起直接拼接。中间加空格。
# 字符串拼接 def test5(): myWords1 = 'Noting is important.' myWords2 = 'If you leave.' print(myWords1 + myWords2) print('If you leave.' 'Noting is important.') # Main if __name__ == '__main__': test5()
-
-
字符串复制
- 使用*可以实现字符串自由复制。
- myWords = ‘I Love Youn’*10000
-
不换行打印
-
调用print时,会自动打印一个换行符。
-
若不想换行,可以通过参数end = “任意字符串”,实现末尾添加任何内容。
# 不换行打印 def test6(): myWords1 = 'Noting is important but you.' print(myWords1, end="n") myWords2 = 'I stand there.' print(myWords2, end="") # Main if __name__ == '__main__': test6()
-
-
从控制台读取字符串
-
使用input()从控制台读取输入的内容。
# 输入数据 def test7(): youWords = input("请输入你的回答:") print("Ok. Get it.") # Main if __name__ == '__main__': test7()
-



