字符串——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-字符串内置方法的更多相关文章

  1. 7.python字符串-内置方法分析

    上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...

  2. 6.python字符串-内置方法列举

    所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...

  3. python字符串-内置方法列举

    所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...

  4. Day 07 字符串内置方法和爬虫基础3

    目录 异常处理 LeetCode使用之两数之和(示例) 字符串内置方法 爬虫基础3 selenium基本使用 selenium模拟百度登录 selenium爬取京东商品信息 异常处理 try: pri ...

  5. python字符串内置方法

    网上已经有很多,自己操作一遍,加深印象. dir dir会返回一个内置方法与属性列表,用字符串'a,b,cdefg'测试一下 dir('a,b,cdefg') 得到一个列表 ['__add__', ' ...

  6. python中字符串内置方法

    字符串类型 作用:定义姓名.性别等 定义方式: s='lzs' #\n换行 \t缩进4个空格 \r回退上一个打印结果,覆盖上一个打印结果 加上一个\让后面的\变得无意义 内置方法: (优先掌握) 1. ...

  7. python字符串-内置方法用法分析

    1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本

  8. python 字符串内置方法实例

    一.字符串方法总结: 1.查找: find(rfind).index(rindex).count 2.变换: capitalize.expandtabs.swapcase.title.lower.up ...

  9. day02.5-集合内置方法

    集合——set的定义:test = {1,2,3,4,5} 或 test = frozenset(1,2,3,4,5) 特点:1. 集合是可变数据类型 2. 集合中元素是无序的,可以是数字.字符串与元 ...

  10. day02.2-列表内置方法

    列表——list的定义:test = [1,12,9,"age",["zizai","jiapu"],"alex"] 特 ...

随机推荐

  1. JeeSite基础知识(一)

  2. timequest学习之黑金动力(一)

    黑金动力的资料还是非常有价值的.通过建模篇,对于给定的时序关系,我总能实现.但是,这总是很初级的能力.也只是为后面的建模服务.所以,现阶段我的能力还是非常有限.我相信我一定会成为牛人,能够独挡一面.借 ...

  3. a标签的四个伪类是什么?如何排序?为什么?

    爱恨分明原则: l v h a 注释:为了产生预期的效果,在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后 ! 注释:为了产生预期的效果,在 CSS 定义中,a ...

  4. Python之select模块解析

    首先列一下,sellect.poll.epoll三者的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select ...

  5. oracle——存储过程参数

    oracle 存储过程类型: 1.in:输入类型,即由应用程序将数据传入oracle存储过程中:这种参数在存储过程中是只读参数,在存储过程中无法对该类型的参数进行修改: 2.out:输出参数,是在存储 ...

  6. Spring Cloud Hystrix 1(熔断器简介)

    在分布式框架中当某个服务单元发生故障之后通过断路器的故障监控向调用方返回一个错误响应,而不是长期等待这样就不会使得线程因调用故障服务被长时间占用不放,避免了故障在分布式系统中的蔓延 针对上述问题,Sp ...

  7. SpringMVC总结一:快速入门

    MVC: MVC是一种架构模型,本身没有什么功能,只是让我们的项目结构更加合理,流程控制更加清晰,一般包含三个组件: ​ **Model(模型)**:数据模型,用于提供要展示的数据.一般包含数据和行为 ...

  8. HashMap和HashSet的相同点和不同点

    Map集合,就是有一对属性值的集合,属性包含key,和value.关键字key是唯一不重复的.Map是一个有序的集合,所以查询起来速度很快.而HashSet就像是把HashMap中value去掉,说白 ...

  9. win7安装linux双系统

    整体流程大概就是下载启动盘制作工具以及linux镜像,这些步骤网上很多,我就不再重复了 这里以centos举例说几个我踩到的坑吧 1.选择开始安装后提示 Warning: /dev/root does ...

  10. C++获取时间并命名为文件名

    #include <time.h> char pStrPath1[20];time_t currTime;struct tm *mt;Mat saveImg1; currTime = ti ...