• 创建字符串
s1 = 'abc'
s2 = "abc"
# 以三个双引号或单引号开头的字符串可以折行
s3 = """
a
b
c
"""
print(s1, s2, s3, end='')
-------------------------------
abc abc 
a
b
c

在字符串中表示'要写成\',同理,表示\要写成\\

a=' " \'a\' " '
print(a)
------------------------
 " 'a' "

如果不希望字符串中的\表示转义,可以在字符串的最前面加上字母r

s1 = r'\'hello, world!\''
print(s1)
---------------------
\'hello, world!\'
  • 常用操作

+:字符串拼接

*:重复一个字符串的内容

str1 = "abc"
str2 = "123"
str3 = str1*3 + str2
print(str3)
----------------------
abcabcabc123

innot in来判断一个字符串是否包含另外一个字符串(成员运算)

[][:]运算符从字符串取出某个字符或某些字符(切片运算)

repr(object):返回一个对象的 string 格式

  • 字符长度
str1 = 'hello, world!'
print(len(str1)) 
------------------------------
13
  • 确定子串位置
# 从字符串中查找子串所在位置,找不到返回-1
str1 = 'hello, world!'
print(str1.find('or'))
print(str1.find('ok')) 
---------------------------------
8
-1
# 与find相同,但找不到子串时会引发异常,需要用try-except语句来抛出异常
str1 = 'hello, world!'
print(str1.index('or'))
try:
    print(str1.index('ok'))
except:
    print("no find")
------------------------------------
8
no find
  • 增加/删除字符填充
# 将字符串左右两侧空格删掉后进行拷贝 深复制
str1="    a 1   "
str2=str1.strip()
print(str1)
print(str2)
----------------------
    a 1   
a 1
str1="abc"

#将字符串以指定的宽度居中并在两侧填充指定的字符
#将str1延长到50,然后将其居中,两边空出来的用*填充
str2=str1.center(50, '*')
print(str2)
print(len(str2))

# 将字符串以指定的宽度靠右放置左侧填充指定的字符
print(str1.rjust(50, ' '))

# 将字符串以指定的宽度靠左放置左侧填充指定的字符
print(str1.ljust(50, ' '))
---------------------------------
***********************abc************************
50
                                               abc
abc
#左侧补0(自动识别0)

'12'.zfill(5)
'-3.14'.zfill(7)
'3.14159265359'.zfill(5)
'3.14159265359'
------------------------------
'00012'
'-003.14'
'3.14159265359'
  • 修改字符大小写(深复制)
print(str1.capitalize()) #首字母大写
print(str1.title()) #每个单词首字母大写
print(str1.upper()) #全部字符大写
-----------------------------------
Hello, world!
Hello, World!
HELLO, WORLD!
  • 检查字符串构成
str1 = 'hello, world!'
# 检查字符串是否以指定的字符串开头
print(str1.startswith('He')) 
print(str1.startswith('he')) 
# 检查字符串是否以指定的字符串结尾
print(str1.endswith('!'))
-----------------------------
False
True
True
str2 = 'abc123'
# 检查字符串是否由数字构成
print(str2.isdigit()) 
# 检查字符串是否以字母构成
print(str2.isalpha()) 
# 检查字符串是否以数字和字母构成
print(str2.isalnum())  
-------------------------------
False
False
True