python基础学习05数据类型字符
1、字符串运算符
a = Hello
b = Python
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出:HelloPython |
* | 重复输出字符 | a*2 输出:HelloHello |
[] | 通过索引输出字符串 | a[1] 输出:e |
[:] | 截取字符串中的一部分,遵循 左闭右开 原则,str[0:2]是不包含第3个字符的 | a[1:4] 输出:ell |
in | 成员运算符–如果字符串中包含给定字符就返回True | ‘H’ in a 输出:True |
not in | 成员运算符–如果字符串中不包含给定的字符返回True | ‘M’ not in a 输出:True |
r/R | 原始字符串 | print(r’\a’) 输出:\a |
% | 格式字符串 | 配合格式化符号使用 |
2、字符串格式化
print("i am %s" % "jack")
符号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度[%.2f] |
%e | 用科学技术法格式化浮点数 |
%E | 作用同%e |
%g | %f和%e的简写 |
%G | %f和%E的简写 |
%p | 用十六进制数格式化变量的地址 |
3、字符串内建函数
1.* capitalize()
将字符串的第一个字符转换为大写
strEx = 'hello'
print(strEx.capitalize())
# Hello
2. center(width, fillchar)
返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格
strEx = 'hello'
print(strEx.center(10, '-'))
# --hello---
3.* count(str, beg=0, end=len(string))
返回str在string里面出现的次数,如果beg[闭区间]或者end指定则返回指定范围内str出现的次数
strEx = 'hello'
print(strEx.count('l'))
# 2
print(strEx.count('l', 3))
# 1
4. bytes.decode(encoding="utf-8, errors="strict")
Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
strEx = 'hello'
strExBytes = strEx.encode()
print(strExBytes)
# b'hello'
print(strExBytes.decode())
# hello
5. encode(encoding='UTF-8', errors='strict')
以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
6. endswith(suffix, beg=0, end=len(string))
检查字符串是否以obj结束,如果beg或者end指定则检查指定的范围内是否以obj结束,如果是,返回True,否则返回False
strEx = 'hello'
print(strEx.endswith('aa'))
# False
print(strEx.endswith('llo'))
# True
7. expandtabs(tabsize=8)
把字符串string中的tab符号转为空格,tab符号默认的空格数是8
8.* find(str, beg=0, end=len(string))
检测str是否包含在字符串中,如果指定范围beg和end,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
strEx = 'hello'
print(strEx.find('e'))
# 1
print(strEx.find('a'))
# -1
9. index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常
10. isalnum()
如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
strEx = 'hello123'
print(strEx.isalnum())
# True
strEx = 'hello 123'
print(strEx.isalnum())
# False
11. isalpha()
如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
strEx = 'hello123'
print(strEx.isalpha())
# False
strEx = '中文hello'
print(strEx.isalpha())
# True
12. isdigit()
如果字符串只包含数字则返回True,否则返回False
strEx = 'hello123'
print(strEx.isdigit())
# False
strEx = '12345'
print(strEx.isdigit())
# True
13.* islower()
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写)字符都是小写,则返回True,否则返回False
如果都是数字,返回的是False
strEx = '123'
print(strEx.islower())
# False
strEx = 'Hello'
print(strEx.islower())
# False
strEx = 'hello123'
print(strEx.islower())
# True
14.* isnumeric()
如果字符串只包含数字字符,则返回True,否则返回False
15. isspace()
如果字符串中只包含空白,则返回True,否则返回False
如果是空字符串,返回的False
16. istitle()
如果字符串是标题化的(见 title())则返回 True,否则返回 False
#eg1:
strEx = 'hello'
strEx = strEx.title() # 标题化
print(strEx)
# Hello
print(strEx.istitle())
# True
#eg2
strEx = 'hello'
print(strEx.capitalize().istitle())
# True
17. isupper()
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写)字符都是大写,则返回True,否则返回False
strEx = 'Hello'
print(strEx.isupper())
# False
strEx = 'HELLO'
print(strEx.isupper())
# True
18. join(seq)
以指定字符串作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串
strEx = ','
print(strEx.join('abc'))
# a,b,c
19.* len(string)
返回字符串长度
print(len('abc'))
# 3
20. ljust(width[, fillchar])
返回一个原字符串左对齐,并使用fillchar填充至长度width的新字符串,fillchar默认为空格
strEx = 'abc'
print(strEx.ljust(10, '-'))
# abc-------
21.* lower()
转换字符串中所有的大写字符为小写
strEx = 'abCdEF'
print(strEx.lower())
# abcdef
22.* lstrip()
截掉字符串左边的空格或指定字符
strEx = ' abc'
print(strEx.lstrip())
# abc
strEx = 'abc'
print(strEx.lstrip())
# bc
23. maketrans()
translate()
strEx = 'abc'
maket = str.maketrans('ab', '12') # 生成对应关系
print(strEx.translate(maket))
# 12c
24. max(str)
返回字符串中str最大的字母
25. min(str)
返回字符串中str最小的字母
26. replace(old, new[, max])
把将字符串中的old替换成new,如果max指定,则替换不超过max次
strEx = '13521282025'
print(strEx.replace(strEx[3:7], '*' * 4))
# 135****2025
print(strEx.replace('2', '*', 3)) # 只替换了前三个
# 135*1*8*025
27. rfind(str, beg=0, end=len(string))
类似于find()函数,不过是从右边开始查找
28. rindex(str, beg=0, end=len(string))
类似于index(),不过是从右边开始
29. rjust(width, [,fillchar])
用法同ljust(), 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度width的新字符串
30.* rstript()
用法同lstript(), 删除字符串末尾的空格
31.* split(str='', num=string.count(str))
以str为分隔符截取字符串,如果num有指定值,则仅截取num+1个子字符串
strEx = 'a,b,c,d,e'
print(strEx.split(','))
# ['a', 'b', 'c', 'd', 'e']
print(strEx.split(',', 3))
# ['a', 'b', 'c', 'd,e']
32. splitlines(keepends)
按照行(’\r’, ‘\r\n’, ‘\n’)分隔,返回一个包含各行作为元素的列表,如果参数keepends为False,不包含换行符,如果为True,则保留换行符
strEx = 'hello\nmy\n'
print(strEx.splitlines())
# ['hello', 'my']
print(strEx.splitlines(True))
# ['hello\n', 'my\n']
33. startswith(substr, beg=0, end=len(string))
检查字符串是否是以指定子字符串substr开头,是则返回True,否则返回False,如果beg和end指定值,则在指定范围内检查
strEx = 'hello'
print(strEx.startswith('he'))
# True
34.* strip(chars)
在字符串上执行lstrip()和rstript()
35. swapcase()
将字符串中大写转换为小写,小写转换为大写
strEx = 'Hello'
print(strEx.swapcase())
# hELLO
36. upper()
转换字符串中的小写字母为大写
strEx = 'Hello'
print(strEx.upper())
# HELLO
37. zfill(width)
返回长度为width的字符串,原字符串右对齐,前面填充0
strEx = 'hello'
print(strEx.zfill(10))
# 00000hello
38. isdecimal()
检查字符串是否只包含十进制字符,如果是返回True,否则返回False
strEx = 'hello'
print(strEx.isdecimal())
# False
strEx = '100'
print(strEx.isdecimal())
# True
【注】写的不对的欢迎留言提醒
转载请注明:XAMPP中文组官网 » python基础学习05一文了解数据类型字符