1 表示方式
python单行字符串用单引号’内容’或双引号"内容"表示,
多行字符串用三引号表示,‘’‘换行内容’''或"““换行内容””",
str()函数可将其它类型转换为字符串类型
a = 'henry'
b = "Tom"
c = '''窗前明月光,
疑是地上霜'''
d = """举头望明月,
低头思故乡"""
e = str(123)
print(e, type(e)) # 123 <class 'str'>
2 转义符 ‘\’
如’\n’代表换行的意思,将其放在字符串中如不不做处理,输出文本会进行换行,如f1;
那么假如需要在文本输出时展示\n,就需要将这个特殊字符进行转移,即加上转义字符\变成\n,让其在文本中失去特殊字符地意义,如f2;
f1 = str3 = '''你好,(\n)
举头望明月,
低头思故乡。
'''
print(f)
# 结果:
# 你好,(
# )
# 举头望明月,
# 低头思故乡。
f2 = str3 = '''你好,(\\n)
举头望明月,
低头思故乡。
'''
print(f)
# 结果:
# 你好,(\n)
# 举头望明月,
# 低头思故乡。
补充:
转义字符:\ + 字符
(1)把无意义的字符变的有意义
(2)把有意义的字符变的无意义
\n:换行
\r\n:换行
\t:缩进(tab,水平制表符)
\r:把\r后面的字符串直接拉到当前行行首
3 元字符串
r+字符串,表示字符串中是什么就输出什么,不受字符串中转义字符影响。
f = str3 = r'''你好,(\\n)
举头望明月,
低头思故乡。
'''
print(f)
# 结果:
# 你好,(\\n)
# 举头望明月,
# 低头思故乡。
4 字符串运算
字符串连接符:+
两字符串包含判断:in 或者 not in
元字符串输出:r或者R+字符串
a = 'aaa' # aaabbbaaa
b = 'bbbaaa' # True
print(a + b)
print(a in b)
字符串索引: str[i] 输出索引位置上的字符;
字符串截取、切片:str[:] 左闭右开,str[0:2]表示:截取字符串从0到1索引的字符,不包含索引为2的字符;
a = 'henry_hu'
print(a[0]) # h
print(a[0:2]) # he strings='hello'
print (strings) # 输出字符串,结果为:hello
print (strings[0:-1]) # 输出第一个到倒数第二个的所有字符,结果为:hell
print (strings[0]) # 输出字符串第一个字符,结果为:h
print (strings[2:5]) # 输出从第三个开始到第五个的字符,结果为:llo
print (strings[2:]) # 输出从第三个开始的后的所有字符,结果为:llo
print (strings * 2) # 输出字符串两次,也可以写成 print (2 * str),结果为:hellohello
print (strings + "TEST") # 连接字符串,结果为:helloTEST
#注意:Python 字符串不能被改变。向一个索引位置赋值,比如 strings[0] = 'y'会导致错误。
字符串分割:.split(‘分隔符’)
字符串替换:.replace(‘被替换的内容’,‘替换的内容’)
列表元素拼接:.join(a,b) ,split会将字符串分割成列表,join可以将列表中元素进行拼接
list1 = ['hello', '你好', '小王']
join1_str=','.join(list1)
print(join1_str) #结果为:hello,你好,小王
join2_str='|'.join(list1)
print(join2_str) #结果为:hello|你好|小王
5 字符串格式化
通过 % 运算符进行格式化:
name = "小王"
age = 25
pi = 3.14159
message = "My name is %s and I am %d years old,I know pi is %.2f" % (name, age, pi)
print(message) # 输出:My name is 小王 and I am 25 years old,I know pi is 3.14
使用 .format() 方法进行字符串格式化
name = "小王"
age = 25
# 写法1
message1 = "My name is {} and I am {} years old.".format(name, age)
print(message1) # 输出:My name is 小王 and I am 25 years old.name = "小王"
age = 25
message2 = "My name is {name1} and I am {age1} years old.".format(name1=name, age1=age)
print(message2) # 输出:My name is 小王 and I am 25 years old.
f+字符串(字符串中有上文定义的变量):输出结果中直接赋变量值,类似于C#中的$
name = "小王"
age = 25
message = f"My name is {name} and I am {age} years old."
print(message) # 输出:My name is 小王 and I am 25 years old.# 在Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果
x = 1
print(f'{x+1=}') # 输出:1+1=2
print(f'{x + 1}') # 如果去掉 = , 输出:2