一, str 的定义: Python 中凡是用引号引起来的数据可以称为字符串类型, 组成字符串的每个元素称之为字符, 将这些字符一个一个连接起来, 然后在用引号起来就是字符串.
二, str 的简单操作方法:
- conut(数)
- split(以... 分割)
- foemat(格式化输出)
- replace(元素替换)
- startswith(判断是以... 开头, 返回 bool)
- endswith(判断是以... 结尾, 返回 bool)
- strip(去除首尾字符)
- lstrip(去除首字符)
- rstrip(去除尾字符)
- a = 'Aab123Dd4Aa'
- # conut(数)startswith(判断是以... 开头) endswith(判断是以... 结尾)
- print(a.count("b", 1, 4)) # 1
- print(a.startswith("a", 1, 4)) # True
- print(a.endswith("1", 1, 4)) # True
- # split(以... 分割)
- print('title,Tilte,atre,'.split('i')) # ['t', 'tle,T', 'lte,atre,']
- print('title,Tilte,atre,'.split('t', 2)) # ['','i','le,Tilte,atre,']
- # format 格式化输出
- print('{
- } {
- } {
- }'.format('egon', 18, 'male')) # egon 18 male
- print('{
- 1
- } {
- 0
- } {
- 1
- }'.format('egon', 18, 'male')) # 18 egon 18
- print('{
- name
- } {
- age
- } {
- sex
- }'.format(sex='male', name='egon', age=18)) # egon 18 male
- # strip 去除首尾字符
- name = '*bar*ry**'
- print(name.strip('*')) # bar*ry
- print(name.lstrip('*')) # bar*ry**
- print(name.rstrip('*')) # *bar*ry
- # replace 元素替换
- name = 'alex say :my name is alex'
- print(name.replace('alex', '替换', 1)) # 替换 say :my name is alex
- View Code
- find(返回元素索引, 找不到则返回 - 1)
- index(返回元素索引, 找不到则报错)
- capitalize(首字母大写)
- swapcase(大小写反转)
- title(每个单词首字母大写)
- a = 'Aab123Dd4Aa'
- # find 返回索引, 找不到返回 - 1
- print(a.find("2", 1, 7)) # 4
- # index 返回索引, 找不到则报错
- print(a.index("D", 1, 7)) # 6
- # capitalize swapcase title
- b = 'alex,Taibai jinxiN'
- print(b.capitalize()) # Alex,taibai jinxin
- print(b.swapcase()) # ALEX,tAIBAI JINXIn
- print(b.title()) # Alex,Taibai Jinxin
- # center
- c = 'asfht'
- print(c.center(10, '*')) # **asfht***
- View Code
is 系列
- str.isalnum(是否由字母和数字组成)
- str.isdigit(是否只由数字组成)
- str.isalpha(是否只由字母组成)
- str.isupper(是否只由大写字母组成)
- str.islower(是否只由小写字母组成)
- str.istitle(单词首字母是否为大写)
- str.isspace(是否只由空格组成)
- str.isnumeric(是否只由数字组成, 只针对 unicode 对象)
- str.isdecimal(是否只由十进制组成)
- d = 'tai Tbai123'
- print(d.isalnum()) # 检测字符串是否由字母和数字组成
- print(d.isdigit()) # 是否只由数字组成
- print(d.isalpha()) # 是否只由字母组成
- print(d.isupper()) # 是否只由大写字母组成
- print(d.islower()) # 是否只由小写字母组成
- print(d.istitle()) # 单词首字母是否为大写
- print(d.isspace()) # 是否只由空格组成
- print(d.isnumeric()) # 是否只由数字组成, 只针对 unicode 对象
- print(d.isdecimal()) # 是否只由十进制组成
- View Code
小练习: 如果用户输入一段包含字母数字的 str, 怎么计算 str 中数字之和?(将相邻的数字看作一个整体)
如, 输入: se123reg4rtey54 , 则计算 123+4+54 的结果
- print('--- 用户输入字母数字串, 计算所包含的数字之和 ---')
- a = input('输入字母或数字:')
- for i in a:
- if i.isalpha():
- a = a.replace(i, ' ')
- get_list = (a.split())
- list = []
- for f in get_list:
- list.append(int(f))
- sum = sum(list)
- print(sum)
- View Code
来源: http://www.bubuko.com/infodetail-3111729.html