Python可用单个双引号”或单引号’,也可以用三个双引号”””或单引号”’声明串。推荐使用双引号。
字符
细心的你,不知注意到没?–三个双引号或单引号,不是注释用的吗?怎么字符串也用这个。是的,把内容赋值给变量时,就表示字符串。
# 用单个双引号 a = "双引号" print(a, type(a)) # 用单个单引号 b = '单引号' print(b, type(b)) # 用三个双引号 c = """三个双引号""" print(c, type(c)) # 用三个单引号 d = '''三个单引号''' print(d, type(d))
6.2 转义
有些符号,如双引号”、单引号’,本身已有特殊含义,如要输出它们,就需要进行转义处理。Python跟其他编程语言一样,也是用反斜杠来进行的。
# 用n进行换行
i = “第1行,n第2行。”
print(i)
# 用”输出双引号
say = “我说:””
print(say)
如果转义内容用的比较多时,样子会很难看,工作量也大了一些,当需要多个反斜杠转义时,则使用原始字符r或R。
# 用r表示原始内容 path = r"c:softwarenowtest" print(path)
6.3 去掉空格
删除前面的空格符用lstrip()函数,后面的用rstrip(),前后都删除的,用strip()。还有一种不限位置的删除方法,那便是用replace()函数。
# 删除前面空格 a = " abc" print(a.lstrip()) # 删除后面的空格 a = "abc " print(a.rstrip()) # 删除前后的空格 a = " abc " print(a.strip()) # 多次空格,包括中间 a = " a b c " print(a.replace(" ", "")) # replace()替换内容 cool = "你最帅!" print(cool.replace("你", "我")
6.4 占位符
字符串内容中,不变话的直接放在里面,会改变的那部分,可用占位符先占着,等到使用时再去变更。
# 用{}占位 i = "Welcome to {}.".format("Python") print(i) # 用{下标}占位 i = "I like {0}.".format("code", "music") print(i) # 用{关键字}占位 i = "row={row:d}".format(row=1) print(i) # 用列表填充占位内容 i = "I like {0[0]} and {0[1]}.".format(["Python", "iOS"]) print(i)
6.5 子字符串
Python通过区间的方式,截取出子字符串。可从左到右,也可以从右到左。正数表示从左边开始,负数表示从右边开始,用中括号[]和:截取范围,[0:4]表示从位置1开始,截取4个长度。负数用绝对值计算,像[-4:-1],表示从倒数第4个位置开始,截取4-1 = 3个长度。
指定
# 字符串内容 s = "123456789" # 输出内容 print(s) # 从第1位开始,截取长度4 print(s[0:4]) # 从第4位开始,截取到最后 print(s[3:]) # 取出第6位内容 print(s[5]) # 截取全部,等于没截取 print("--"+s[:]+"--") # 从倒数第4位开始,截取长度3 print(s[-4:-1]) # 从倒数第3位开始截取到最后 print(s[-3:]) # 截取倒数第1个字符 print(s[-1])
6.6 内容
分割
分割,就是通过指定某个字符,进行字符串分割,结果返回数组。Python用split()函数进行分割,并且可以指定分割次数,默认是分割所有。它的语法是:str.split(str=””, num=string.count(str))。
# 字符串内容 s = "1-2-3-4-5" print(s.split("-")) # 分割1次 print(s.split("-",1))
6.7 查找
从字符串当中,查找是否存在指定的字符串内容。
(1) 用find()函数进行查找,找到返回下标值,找不到返回-1,还可以从指定某个位置开始查找,它语法是:str.find(str, beg=0, end=len(string)) 。
# 字符串内容 s = "Welcome to Python." print(s.find("a")) print(s.find("c")) # 从指定范围进行查找 print(s.find("e", 5, 7))
(2) 用index()函数进行查找,找到返回下标,找不到报错,它的语法是:str.index(str, beg=0, end=len(string)) 。报错的话,需要进行异常处理,所以建议用find()函数。
# 字符串内容 s = "Welcome to Python." print(s.index("a")) print(s.index("c")) # 从指定范围进行查找 print(s.index("e", 5, 7))
(3) 判断是否是指定的字符串开头,是的话,返回True,否则返回False。可以从指定的范围进行查找,它的语法是:str.startswith(str, beg=0,end=len(string))。
# 字符串内容 s = "I am a handsome boy." # 找到,返回True print(s.startswith("I")) # 从指定范围查找,找不到,返回False print(s.startswith("I", 2, 6)) # 没找到,返回False print(s.startswith("You"))
(4) 判断是否是指定的字符串结束,是的话,返回True,否则返回False。可以从指定的范围进行查找,它的语法是:str.endswith(str, beg=0,end=len(string))。
# 字符串内容 s = "I am a handsome boy." # 找到,返回True print(s.endswith(".")) # 从指定范围进行查找,找不到,返回False print(s.endswith(".", 2, 6)) # 没找到,返回False print(s.endswith("e"))
6.8 大小写
英文单词,大小写转换。可以从大写转成小写,也可以从小写转成大写。
(1)通过upper()函数
c++截取字符串中的一部分
,把字母全部转换化为大写。
# 字符串内容
s = “You are a handsome guy.”
# 全部转成大写
print(s.upper())
(2) 通过lower()函数,把字母全部转化成为小写。
# 字符串内容 s = "You are a handsome guy." # 全部转成小写 print(s.lower())
(3) 用title()函数把每个单词的第一个字母转为大写。
# 字符串内容 s = "You are a handsome guy." # 每个单词首字母转为大写 print(s.title())
(4) 用capitalize()函数把第一个字母转为大写,其他的全部为小写。
# 字符串内容 s = "you are A handsome guy." # 第一个字母转为大写,其他的全为小写 print(s.capitalize())
6.9 字符串倍数
Python字符串,可通过*来输出倍数字符串内容,像“good”* 3 ,表示输出3次good。可用乘法赋值运算符:*= ,精简表示。
# 字符串内容 s1 = "good" count = 3 # 输出倍数字符串内容 s1 = s1 * count print(s1) # 通过乘法赋值运算符输出 s2 = "nice" s2 *= count print(s2)
6.10 字符串补齐
字符通过ljust(len,str)向左对齐,rjust(len,str)向右对齐,center(len,str)中间对齐,内容用str补齐长度。zfill(width)指定字符串长度
c++截取字符串中的一部分
,右对齐,前面补充0,这个在开发过程中会经常见到,实用。
# 字符左对齐 a = "a" b = a.ljust(9, "b") print(b) # 字符右对齐 c = a.rjust(9, "c") print(c) # 字符中间对齐 d = a.center(9, "d") print(d) # 正数左边补0 z = "5".zfill(4) print(z) # 负数也可补0 z = "-6".zfill(4) print(z)