1、字符串的拼接
字符串的拼接采用+号的形式
如:
print("5"+"8")
print("a"+"b")
2、字符串的转译
对于字符串来说,我们常用单引号或者双引号进行引用,但是如果我们想打印的字符串中出现了单引号和双引号,该怎么办呢?我们采用转移的方法单不能直接打印
转义符用(\)(单引号表示,代表这这是一个字符串的子串)
如:
print('let's go')
print('Let\'s go')
3、对于反斜杠(\)的处理
python中打印的常见符号有\t和\n,\t代表tab符,空4格,\n代表换行符,空一行
(1)\n在python中代表换行的意思
如
如果我们想打印上面的字符呢,没错我们可以采取\ 转译的方式去打印。
如:
(2)如果一个字符串中有许多反斜杠呢,这时我们可以采用原始字符串去处理,如:
打印c:\ndsd\ndsfsd\ndsf\sss.csv
(3)对于反斜杠而言也不能放在字符串的末尾
如:对于字符串来说,放在放在字符串的末尾代表该字符串还没有结束,换行继续的意思,如:
如果我们想打印字符串的末尾有\还是可以采用转译的方式:
(4)字符串常用函数
个数 | 方法 | 含义 |
---|---|---|
1 | capitalize() | 把字符串的第一个字符改为大写 |
2 | casefold() | 把字符串的所有字符改为小写 |
3 | center(width) | 把字符串居中,让空格填充至width的新字符串 |
4 | count(sub,[start,end]) | 返回sub在字符串出现的次数,start和end参数表示范围 |
5 | endswith(sub,[start,end]) | 判断字符串是否以sub子字符串结尾,如果是返回True,否则返回False,start和end表示范围 |
6 | expandtabs(tabzie=8) | 把字符串的tab符号(\t默认空四个)转换为空格,如果不指定参数默认空格为8个 |
7 | find(sub,[start,end]) | 检测sub是否包含在字符串中,如果有就返回索引,否则返回-1,start和end表示起始位置参数 |
8 | index(sub,[start,end]) | 和find一样,不过如果字符串不存在返回异常值 |
9 | isalnum() | 如果字符串至少有一个字符,并且所有字符都是字母和数字返回True,否则返回False |
10 | isalpha() | 如果字符串至少有一个字符,且所有字符都是字母返回True,否则返回False |
11 | islower() | 如果字符串中全是小写字符返回True,否则返回False |
12 | isnumeric() | 如果字符串只包含数字字符时,返回True,否则返回False |
13 | isspace() | 如果字符串中只包含空格,返回True,否则返回False |
14 | istitle() | 如果字符串时标题化(所有字符均以大写字母开头,其余字符都是小写)返回True |
15 | isupper() | 如果字符串中包含大写字母 |
16 | istitle() | 如果字符串时标题化(所有字符均以大写字母开头,其余字符都是小写)返回True |
17 | isupper() | 如果字符串中全是大写字符返回True,否则返回False |
18 | isupper() | 如果字符串中全是大写字符返回True,否则返回False |
19 | (分割符).join(sub) | 以分隔符插入到sub的所有字符串当中 |
20 | lower()、upper() | 前一个是把字符串中所有大写字母转换为小写字母,后一个则是将字符串中的所有小写字母转化为大写字母 |
21 | (分割符).join(sub) | 以分隔符插入到sub的所有字符串当中 |
22 | replace(old,new,count) | 把字符串中的old子字符串替换成new新字符串,如果count指定,则替换不超过count次。 |
23 | split(sep=None,maxsplit=-1) | 以sep字符分割字符串,默认是空格分割,maxsplit有设置代表分割maxsplit个字符串,默认全部分割,并且返回分割后的list |
例:
1、
string="sdsdsasda"
string.capitalize()
2、
string="sDSDGsGaDSAda"
string.casefold()
3、
string="sDDGsGaDSAda"
string.center(16)
4、
string="aaaabbbbssscccsssbb"
print(string.count("a"))
print(string.count("a",3,15)) #从第三个字符到第15个字符中计算a的个数
5、
string="aaaabbbbssscccsssbb"
string.endswith("bb")
7、find
string="sdsdsdfdfdfdfffffssss"
string.find("df")
8、isdigit、isnumeric、isdecimal区别
num = "1" #unicode
num.isdigit() # True
num.isdecimal() # True
num.isnumeric() # True
>num = "1" # 全角
num.isdigit() # True
num.isdecimal() # True
num.isnumeric() # True
num = b"1" # byte
num.isdigit() # True
num.isdecimal() # AttributeError 'bytes' object has no attribute 'isdecimal'
num.isnumeric() # AttributeError 'bytes' object has no attribute 'isnumeric'
num = "IV" # 罗马数字
num.isdigit() # True
num.isdecimal() # False
num.isnumeric() # True
num = "四" # 汉字
num.isdigit() # False
num.isdecimal() # False
num.isnumeric() # True
===================
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无
isdecimal()
True: Unicode数字,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)
isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)
"""
可以这样总结:
isnumeric()可以识别汉字、罗马数字、10进制数字
isdigit()只能识别10进制数字和罗马数字
isdecimal():只能识别数字
"""
9.求字符串的交集和并集
intersection(交),union(并)及difference(差)
a=[1,3,5]
>>> b=[1,2,3]
>>> set(a) | set(b)
set([1, 2, 3, 5])
# 或者
>>> set(a).union(b)
set([1, 2, 3, 5])
交集
a=[1,3,5]
b=[1,2,3]
set(a) & set(b)
set([1, 3])
# 或者
set(a).intersection(b)
set([1, 3])
差集
a=[1,3,5]
b=[1,2,3]
#set(a)有但是set(b)没有的元素
set(a) - set(b)
set([5])
# 或者
>>> set(a).difference(b)
set([5])
>>>
总结: