当前位置:
文档之家› Python-字符串详解及序列类型
Python-字符串详解及序列类型
字符串详解及序列类型
字符串是我们在程序中使用非常多的一个对象, 对于字符串的处理在各种编程语 言中也是非常重要的一部分。
1. python 中的字符串定义
python 中的字符串,可以使用单引号、双引号或者三个单引号包含的字符,都 是字符串。
s1 = '我是一个字符串' s2 = "我也是一个字符串" s3 = ''' 我还是一个字符串 我是能换行写内容的字符串
replace(old, new):将指定字符串中的 old 字符,使用新字符 new 进行替换 split(sep, max): 将字符串使用指定的字符 sep 进行拆分, max 是拆分次数, 返回一个列表
# 字符串也是一种序列对象 # 定义一个字符串 strx = "hello python!" # 获取下标为 7 的数据 strx[7] # 执行结果:y
在 py 中,定义的字符串,可以在前面添加一个字符 u 来标识该字符串是使用 unicde 进行编码的,如 str
= u"我是字符串"
2. 字符串作为模块、类、函数的文档注释
字符串你可以放在模板,类或者函数的第一行,作为对函数的描述作用出现,可 以通过木块、类、函数的 doc 属性进行调用查看。
def printName(msg): "这是一个用来打印给定信息的函数"
islower() 字符串是否所有字符小写 lower() 字符串中所有字符小写 index(str [,start, end]) 获取指定字符在字符串中出现的位置 t.join(s):使用字符串 t 来拆分字符串 s,或者将一个列表 s 中的字符串元素 按照使用 t 连接
# 执行结果: liy = [] # 执行结果: 1 # 执行结果: liy = ["hello", "python", "大牧"] # 执行结果:1 # 执行结果: lix = ["hello", "莫邪", "python", "大牧"]
lix.count("hello") liy.extend(lix) lix.index("python") lix.insert(1, "莫邪") lix.pop() lix.remove("莫邪")
t = ("张小凡", "碧瑶", "陆雪琪") t.count("张小凡") # 执行结果:1
t.iHale Waihona Puke dex("陆雪琪")
# 执行结果:2
集合的操作
集合中不会存储重复数据,同时集合中存储的数据是无序的
add() clear() copy() difference() difference_update() discard() intersection() intersection_update() isdisjoint() issubset() issuperset() pop() remove() symmetric_difference() symmetric_difference_update() union() update() 字典的操作
# 拆分字符串为列表进行使用 strx.split("o") # 执行结果:["hell", "pyth", "n!"] strx.split("o", 1) # 执行结果:["hell", "python!"]
# 创建一个列表 lix = ["h", "e", "l", "l", "o"] # 执行 join()方法,将列表数据拼接字符串
# 执行结果:lix = ["hello", "莫邪", "python"] # 执行结果:lix = ["hello", "python"]
lix.sort()
# 执行结果:lix = ["hello", "python"]
元组的操作
元组一旦声明常见,不允许进行修改
count(x) 统计元组中指定的元素 x 出现的次数 index(x) 统计元素中指定的元素 x 出现的位置
列表的操作 append(x):用于在列表的末尾追加元素 x clear():用于清空列表中的所有数据 copy():用于复制一份列表中的数据 count(x):用于查询统计在列表中指定的元素 x 出现了多少次 extend():用于将一个列表中的数据从另一个指定的列表中继承过来 index(x):用于查询指定的元素 x 在列表中出现的位置索引 insert(index, ele):用于在指定的位置 index 增加一个元素 ele pop():用于删除最后一个元素 remove(x):用于在列表中删除指定的元素 x reverse():用于反转列表中的所有数据 sort():用于列表中的数据进行自然排序
字典中的数据是以 key:value 的形式进行数据存储的
clear() copy() fromkeys()
get() items() keys() pop() popitem() setdefault() update() values()
# 创建一个列表
lix = ["hello", "python"]; # 执行列表的方法 lix.append("大牧") liy = lix.copy() liy.clear() # 执行结果:lix = ["hello", "python", "大牧"] # 执行结果: liy = ["hello", "python", "大牧"]
# 获取字符串中最大的数据 strx(str) # 执行结果:w
# 按照首字母大写的方式输出数据 strx.capitalize() # 执行结果:Hello python!
# 判断字符串是否全部大写和转换成大写 strx.isupper() strx.upper() # 执行结果:False, HELLO PYTHONE!
print("您要打印的信息:" + msg)
printName.__doc__ -----------------------------执行结果: "这是一个用来打印给定信息的函数"
模块、类或者函数的文档注释非常重要,一般情况下是对于当前要使用的模块、 类或者函数使用方式的最直接的描述,开发人员在使用的时候可以通过木块、类 或者函数的 doc 属性来查看使用方式。
# 获取下标从 2 到 7 的切片 strx[2:5] # 执行结果:"llo p"
# 获取下标从 2 到 9 的切面,步长为 2 strx[2:9:2] # 执行结果: "lopt"
# 反向切片 strx[9:2:-2] # 执行结果:"hy l"
# 获取字符串中最小的数据 strx(str) # 执行结果:" "
"".join(lix) # 执行结果:hello
# 创建一个列表 lix = [1,2,3,4,5] # 计算序列列表中所有元素的和
3. 其他序列对象中常见的函数操作
python 中除了字符串,其他的常见序列对象就是列表、元组、集合、字典 列表的操作
# 判断字符串是否全部小写和转换成小写
strx.islower() strx.lower() # 执行结果:True, hello python!
# 获取字符 o 的位置 strx.index("o") strx.index("o", 5) # 执行结果:4, 10
# 替换字符串中的所有的 l 为 x strx.replace("o", "x") # 执行结果:hexxo python!
''' s4 = "多个字符串"*3 # 可以定义将字符串重复 3 次并且拼接
注意:python2 中字符串字面量对应 8 位字符或者面向字节的数据,不能完全支 持 unicode 字符串。这样的情况,如果要使用汉字,可以通过如下方式解决
在 py 文件的首行,添加 # 用 utf-8 编码
-*- coding:utf-8 -*-的注释,来标识当前文件是使
2. 字符串作为序列支持的操作方法
s[i] : 返回序列中下标为 i 的元素 s[i:j]:返回序列中下标从 i 到 j 之间的数据,这样截取数据也成为切片 s[i:j:stride]:返回一个扩展的切片 len(s):返回序列中元素数据的数量 min(s):返回序列中的最小值 max(s):返回序列中的最大值 sum(s [, initial]):返回序列中所有数据的和 all(s):检查序列中所有的数据是否为 True any(s):检查序列中任意项是否为 True capitalize() 字符串首字符大写 isupper() 字符串是否全部大写 upper() 字符串所有字符大写