day02.1-字符串内置方法
字符串——str的定义:test = "zizaijiapu"
特点:1. 字符串是可迭代对象;
2. 字符串中各元素是有序的;
3. 字符串一经创建,其内容值不可修改。
1. 查看变量数据类型
a = 11
b = "zazaijiapu"
print(type(a),type(b))
""""
运行结果:<class 'int'> <class 'str'>
结果分析:变量a的数据类型为int;变量b的数据类型为str
"""
2. 将字符串转换为任意进制整数
a = ""
b1 = int(a)
b2 = int(a, base=16)
print(b1, b2)
"""
运行结果:18 24
结果分析:其中base形参用于指定转换后整数的进制数,默认为十进制
"""
3. 获取字符串中指定索引位置处的元素值
test = "zizaijiapu"
v1 = test[3]
v2 = test[0:4]
print(v1,v2)
"""
运行结果:a ziza
结果分析:
将源字符串中索引位置index=3处的字符元素赋值给变量v1
将源字符串中索引位置index位于[0,4)之间的子串赋值给变量v2
"""
4. 依次顺序查看字符串中的各字符元素
test = "wo"
for item in test:
print(item)
"""
运行结果:
w
o
结果分析:按照字符串的索引顺序依次输出各字符元素
"""
5. 统计字符串中字符元素个数
test = "zizaijiapu"
print(len(test))
"""
运行结果:10
结果分析:源字符串由10个字符元素构成
"""
6. 统计子串在字符串中出现的次数
test = "alexalex"
print(test.count("le"))
"""
运行结果:2
结果分析:子串"le"在源字符串中共出现了2次
"""
7. 查看字符串中子串开始出现的索引位置
test = "zizaizaijiapu"
print(test.find("ai"))
print(test.find("ai",4,8))
"""
运行结果:
3
6
结果分析:
在不指定源字符串查找索引index范围的情况下,默认返回子串"ai"首次出现的索引位置;
指定源字符串查找索引index范围[4,8)时,返回子串"ai"在该范围内首次出现的索引位置
"""
8. 调整字符串中首字母为大写形式
test = "zizai jiapu"
print(test.capitalize())
"""
运行结果:Zizai jiapu
结果分析:将源字符串中的首字母"z"调整为大写形式,其他字母大小写形式不变
"""
9. 调整字符串中所有小写字母为大写形式
test = "ZiZaiJiaPu"
print(test.upper())
"""
运行结果:ZIZAIJIAPU
结果分析:将源字符串中所有的小写字母转换为大写形式
"""
10. 调整字符串中所有大写字母为小写形式
test = "ZiZaiJiaPu"
print(test.casefold())
print(test.lower())
"""
运行结果:
zizaijiapu
zizaijiapu
结果分析:将源字符串中所有的大写字母转换为小写形式;两者所不同的是,前者还可以完成其他语言中字母的大小写形式转换
"""
11. 实现字符串中大小写字母的相互转换
test = "ZiZaiJiaPu"
print(test.swapcase())
"""
运行结果:zIzAIjIApU
结果分析:将源字符串中所有大写字母转换为小写形式,同时将所有小写字母转换为大写形式
"""
12. 将字符串转换为标题型书写格式
test = "zi zai jia pu"
print(test.title())
"""
运行结果:Zi Zai Jia Pu
结果分析:将源字符串中每个单词的首字母转换为大写形式
"""
13. 在字符串各字符间插入指定形式的分隔符
test = "zizaijiapu"
v = "_".join(test)
print(v)
"""
运行结果:z_i_z_a_i_j_i_a_p_u
结果分析:在源字符串中每个字符间插入分隔符"_"
"""
14. 在各字符串间插入指定分隔符后打印输出(该语句不能赋予其他变量)
print("root","X","","", sep=":")
"""
运行结果:root:X:0:0
结果分析:在源字符串间插入分隔符":"后输出。特别说明,该语句只用于输出显示,无法赋值予其他变量
"""
15. 将字符串中各占位符替换为指定字符
test = "my name is {name},i am {age} years old"
v = test.format(name="alex",age=18)
print(v)
"""
运行结果:my name is alex,i am 18 years old
结果分析:将源字符串中的占位符{name}、{age}分别替换为alex、18
"""
16. %字符串的替换与拼接
test = "i am %s, my hobby is %s, class is %d, ranking is %.3f%%" %("ljp","coding",18,1.04536829)
print(test)
"""
运行结果:i am ljp, my hobby is coding, class is 18, ranking is 1.045%
结果分析:将"%s"分别替换为"ljp""coding",将"%d"替换为18,将"%.3f"替换为1.04536829并保留3位小数,"%%"表示打印显示百分号,源字符串中其他字符保持不变
"""
17. 字符串中各字符之间的管道定义与替换
test = "zizaijiapu"
m = str.maketrans("zi","")
test_new = test.translate(m)
print(test_new)
"""
运行结果:121a2j2apu
结果分析:将源字符串中字符"z"、"i"全部替换为"1"、"2"
"""
18. 字符串中子串之间的一一对应替换
test = "alexalex"
v = test.replace("ex","bbb",2)
print(v)
"""
运行结果:albbbalbbb
结果分析:在源字符串中,将前2个子串"ex"替换为"bbb",其他字符保持不变
"""
19. 按照指定变化步长创建连续“数字型”字符
test = range(3)
for item in test:
print(item)
"""
运行结果:
0
1
2
结果分析:在创建连续字符时,默认起始字符为"0",默认变化步长为1
"""
test = range(8,2,-2)
for item in test:
print(item)
"""
运行结果:
8
6
4
结果分析:以"8"为起始字符,以"2"为终止字符,以"-2"为变化步长,创建连续字符
"""
20. 去除字符串中左边空格
test = " zizaijiapu "
v1 = test.lstrip() #去除字符串中左边空格
v2 = test.rstrip() #去除字符串中右边空格
v3 = test.strip() #去除字符串中左右两边空格
print(v1)
print(v2)
print(v3)
"""
运行结果:
zizaijiapu
zizaijiapu
zizaijiapu
结果分析:去除源字符串中对应位置的空格
"""
注:还可以使用该功能去除字符串中对应位置的指定字符,分别为:test.lstrip("x")、test.rstrip("x")、test.strip("x")
21. 增加字符串长度,并用指定字符填充空白位置
test = "zizaijiapu "
v1 = test.ljust(20,"*") #源字符串左对齐,"*"填充空白位置
v2 = test.rjust(20,"*") #源字符串右对齐,"*"填充空白位置
v3 = test.center(20,"*") #源字符串居中,"*"填充空白位置
print(v1)
print(v2)
print(v3)
"""
运行结果:
zizaijiapu *********
*********zizaijiapu
****zizaijiapu *****
结果分析:按照不同对齐方式将源字符串移动到相应位置,长度增加后的空白位置用字符"*"填充
"""
22. 将字符串按照指定字符个数的方式拆分
test = "zi\tzai\njia\tpu "
v = test.expandtabs(10)
print(v)
"""
运行结果:
zi zai
jia pu
结果分析:将源字符串按照每10个字符为一个单元进行分割,当遇到制表符或换行符且字符个数不够时,用空格填充显示
"""
23. 以指定字符为基准,将字符串分割成3段
test = "zizaijiapu"
v1,v2,v3 = test.partition("a") #以左起第一个指定字符为基准,将源字符串分割成3段
print(v1,v2,v3)
v1,v2,v3 = test.rpartition("a") #以右起第一个指定字符为基准,将源字符串分割成3段
print(v1,v2,v3)
"""
运行结果:
ziz a ijiapu
zizaiji a pu
结果分析:前者以左边第一个"a"进行源字符串的分割,后者以右边第一个"a"进行源字符串的分割
"""
24. 以指定字符为基准将字符串分割成若干段,并删除指定字符
test = "zizaijiapuduguqiubaifengaqingyang"
v1 = test.split("a",4) #左起遍历字符串,以指定字符"a"为基准,将源字符串分割成4段
v2 = test.rsplit("a",4) #右起遍历字符串,以指定字符"a"为基准,将源字符串分割成4段
print(v1)
print(v2)
"""
运行结果:
['ziz', 'iji', 'puduguqiub', 'ifeng', 'qingyang']
['zizaiji', 'puduguqiub', 'ifeng', 'qingy', 'ng']
结果分析:
前者左起遍历字符串,每遇到字符"a"便将源字符串进行拆分,并删除"a";
后者右起遍历字符串,每遇到字符"a"便将源字符串进行拆分,并删除"a";
"""
25. 根据换行符分割字符串
test = "zizai\njiapu"
v1 = test.splitlines(True)
v2 = test.splitlines(False)
print(v1)
print(v2)
"""
运行结果:
['zizai\n', 'jiapu']
['zizai', 'jiapu']
结果分析:以换行符为参考分割源字符串。当传入参数为"True"时,保留换行符;当传入参数为"False"时,删除换行符
"""
26. 判断字符串中字符是否全为数字类型
test1 = "1122二②33"
test2 = "1122②33"
test3 = ""
print(test1.isnumeric())
print(test2.isdigit())
print(test3.isdecimal())
"""
运行结果:
True
True
True
结果分析:当源字符串中字符全部为数字类型时,返回True,否则返回False。三条语句所不同的是对于字符"数字类型"的定义范围不同
"""
判断字符串中字符是否全为字母类型
test = "AaBbCc"
print(test.isalpha())
"""
运行结果:True
结果分析:当源字符串中字符全部为字母类型时,返回True,否则返回False。
"""
判断字符串中字符是否全为数字或字母类型
test = "1一①Aa2二②Bb三3③Cc"
print(test.isalnum())
"""
运行结果:True
结果分析:当源字符串中字符全部为数字或字母类型时,返回True,否则返回False。
"""
27. 判断字符串中字符是否全为小写字母
test = "zizaijiapu"
print(test.islower())
"""
运行结果:True
结果分析:当源字符串中字符全部为小写字母时,返回True,否则返回False。
"""
判断字符串中字符是否全为大写字母
test = "ZIZAIJIAPU"
print(test.isupper())
"""
运行结果:True
结果分析:当源字符串中字符全部为大写字母时,返回True,否则返回False。
"""
28. 判断字符串是否以指定的子串内容开始
test = "zizaijiapu"
print(test.startswith("zi")) #判断源字符串是否以"zi"开始
print(test.startswith("ai",3,7)) #判断源字符串中索引index位置位于[3,7)之间的子串是否以"ai"开始
"""
运行结果:
True
True
结果分析:当源字符串中对应位置范围内的子串以指定内容的子串开始时,返回True,否则返回False。
"""
判断字符串是否以指定的子串内容结束
test = "zizaijiapu"
print(test.endswith("pu")) #判断源字符串是否以"zpu结束
print(test.endswith("ji",3,7)) #判断源字符串中索引index位置位于[3,7)之间的子串是否以"ji"结束
"""
运行结果:
True
True
结果分析:当源字符串中对应位置范围内的子串以指定内容的子串结束时,返回True,否则返回False。
"""
29. 判断字符串是否满足标识符命名规则
test = "zi_11_zai_22"
print(test.isidentifier())
"""
运行结果:True
结果分析:当源字符串满足标识符命名规则(即由数字、字母和下划线组成,并且以字母或下划线开始)时,返回True,否则返回False。
"""
30. 判断字符串是否满足标题书写格式
test = "Zi Zai Jia Pu"
print(test.istitle())
"""
运行结果:True
结果分析:当源字符串满足标题书写格式(即字符串中每个单词首字母大写)时,返回True,否则返回False。
"""
day02.1-字符串内置方法的更多相关文章
- 7.python字符串-内置方法分析
上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...
- 6.python字符串-内置方法列举
所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...
- python字符串-内置方法列举
所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...
- Day 07 字符串内置方法和爬虫基础3
目录 异常处理 LeetCode使用之两数之和(示例) 字符串内置方法 爬虫基础3 selenium基本使用 selenium模拟百度登录 selenium爬取京东商品信息 异常处理 try: pri ...
- python字符串内置方法
网上已经有很多,自己操作一遍,加深印象. dir dir会返回一个内置方法与属性列表,用字符串'a,b,cdefg'测试一下 dir('a,b,cdefg') 得到一个列表 ['__add__', ' ...
- python中字符串内置方法
字符串类型 作用:定义姓名.性别等 定义方式: s='lzs' #\n换行 \t缩进4个空格 \r回退上一个打印结果,覆盖上一个打印结果 加上一个\让后面的\变得无意义 内置方法: (优先掌握) 1. ...
- python字符串-内置方法用法分析
1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本
- python 字符串内置方法实例
一.字符串方法总结: 1.查找: find(rfind).index(rindex).count 2.变换: capitalize.expandtabs.swapcase.title.lower.up ...
- day02.5-集合内置方法
集合——set的定义:test = {1,2,3,4,5} 或 test = frozenset(1,2,3,4,5) 特点:1. 集合是可变数据类型 2. 集合中元素是无序的,可以是数字.字符串与元 ...
- day02.2-列表内置方法
列表——list的定义:test = [1,12,9,"age",["zizai","jiapu"],"alex"] 特 ...
随机推荐
- 实战MvcPager(PagerOptions自定义样式&同、异步)
ASP.NET MVC下的分页控件MvcPager用起来简直太嗨呸了,两句代码实现一个分页,而且需要改变样式的时候直接构造PagerOptions类 实战无需多说,拿来用之即可.个人觉得对性能影响不大 ...
- 基于FORM组件学生管理系统【中间件】
目的:实现学生,老师,课程的增删改查 models.py from django.db import models # Create your models here. class UserInfo( ...
- Redhat 无线(Wifi)上网命令行配置
小结两种命令行模式下配置无线wife的方法,实践测试通过(Red Hat Enterprise Linux release 6.0 Beta(Santiago)) 一.使用wpa_supplicant ...
- js处理小数加减时精度失真
最近公司业务有用js处理数据加减,但有时候会出现很多位小数:后来发现是js处理小数时精度失真:为了后边不在犯类似错误,笔者觉得有必要记录下处理方法,当然处理方法有很多种,这里笔者找了一种较为简洁的方法 ...
- android 标签页<include /> 的使用
在android页面布局设计中,有时候需要用到很多相同的布局设计.如果每个用到该布局的xml里都写那个相同布局的话,会造成语句冗余,而且可读性很差. 为了解决这个问题的话,我们可以把相同布局的代码单独 ...
- linux中memset的正确用法
linux中memset的正确用法 [起因]希望对各种类型的数组进行初始化,避免野值 [函数头文件] 提示:在linux中可以在terminal中输入 "man memset"进行 ...
- 字节流之文件输入流FileInputStream
- grep家族
grep家族由命令grep.egrep和fgrep组成. grep:在文件中全局查找指定的正则表达式,并且打印所有包含该表达式的行.egrep和fgrep是grep的变体.egrep:grep的扩展, ...
- 【bzoj3942】[Usaco2015 Feb]Censoring
[题目大意] 有一个S串和一个T串,长度均小于1,000,000,设当前串为U串,然后从前往后枚举S串一个字符一个字符往U串里添加,若U串后缀为T,则去掉这个后缀继续流程. [样例输入] whatth ...
- 使用Java创建XML数据
------------siwuxie095 工程名:TestCreateXML 包名:com.siwuxie095.xml 类名:CreateXML. ...