字符串——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. Cassandra学习六 一些知识点

    http://www.flyml.net/2016/09/08/cassandra-tutorial-java-api-example/ Cassandra对查询的支持很弱,只支持主键列及索引列的查询 ...

  2. 不同浏览器对于html5 audio标签和音频格式的兼容性

    音频格式 Chrome Firefox IE9 Opera Safari OGG 支持 支持 支持 支持 不支持 MP3 支持 不支持 支持 不支持 支持 WAV 不支持 支持 不支持 支持 不支持 ...

  3. 2014.8.8 CAD系统连接

    CDA数据库连接生产库.研发库.临时库对应3个连接名 cad = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = backupserver)(POR ...

  4. linux信号量使用

    #include <pthread.h> #include <semaphore.h> #include <unistd.h> #include <stdio ...

  5. hadoop本地调试方法

    Mapreduce 是Hadoop上一个进行分布式数据运算和统计的框架,但是每次运行程序的时候都需要将程序打包并上传的集群环境中运行,这就会让程序的调试变得十分不方便.所以在这里写下这篇博客和大家交流 ...

  6. leetcode824

    class Solution { public: void SplitString(const string& s, vector<string>& v, const st ...

  7. leetcode599

    public class Solution { public string[] FindRestaurant(string[] list1, string[] list2) { var dic = n ...

  8. 14-EasyNetQ之用Future Publish发布预定中事件

    很多商业流程需要事件在未来的时间按照预定时间发布.例如,在初次与客户接触后,可以在未来某个时间去电话回访客户.EasyNetQ可以用它的Future Publish功能帮你实现这个功能.举例:这里我们 ...

  9. request.getHeader("x-forwarded-for")这是什么意思

    request.getHeader,简单的说就是获取请求的头部信息,根据http协议,它能获取到用户访问链接的信息,以下是我们常用的: request.getHeader("referer& ...

  10. Physics Material

    [Physics Material] 1. The Physics Material is used to adjust friction and bouncing effects of collid ...