400-616-5551

您所在位置: 首页> 学习课程> python培训班 | Python中最常用的数据类型:字符串

python培训班 | Python中最常用的数据类型:字符串

发布百知教育 来源:学习课程 2020-02-26

字符串是Python中最常用的数据类型,我们一般使用引号来创建字符串,并且字符串是不可变的。

实例:


# 字符串可以双引号,单引号以及三引号都可以创建
str1 = "hello world"
str2 = 'hello world'
# 三引号可以支持回车换行
str3 = '''hello
111world'''

str4 = """hello
world"""

print(type(str1))
print(type(str2))
print(type(str3))
print(str3)
print(type(str4))
print(str4)


打印str1类型就是字符串


python培训班


下标指的就是字符串的单个字符的索引的意思,下标从0开始,现在想拿到下标为1个字符


str1 = "hello world"
print(str1[1])


Python培训班


切片


字符串、列表、元组都支持切片操作,主要是在对象中截取一部分元素的操作


序列切片语法:序列[开始下标位置:结束下标位置:步长]


步长:步长的意思就是选取数据的间隔,默认为1,如果为负数,那么就是从后往前面开始截取,也就是有一个倒序开始截取

正数步长操作


str1 = "0123456789"
print(str1[2:11:1]) # 23456789
print(str1[2:11]) # 23456789
print(str1[2:11:2]) # 2468
print(str1[:11:2]) # 02468
print(str1[::2]) # 02468
print(str1[2::]) # 23456789


python培训班


注意:截取的数据是不包含结束位置下标的数据


负数步长操作


str1 = "0123456789"
# 这个开始位置就从9开始截取
print(str1[11:0:-1]) # 9876543210
print(str1[8:3:-1]) # 87654
print(str1[-5:-1]) # 5678


Python培训班


注意:如果选取方向(下标开始到结束的方向)和步长的方向冲突,将无法截取数据


常用操作方法


find():监测某个子串是否包含在这个字符串中,如果存在将返回下标位置,不存在则返回-1

语法:字符串.find(字符串,开始下标位置,结束下标位置)

注意:开始下标和结束下标的位置如果省略就表示在整个字符串中查找


index() 与上面的find()操作一致,只是没有找到将会抛出异常


str1 = "我是python"
print(str1.find("py")) # 查找的下标为2
print(str1.find("py" , 1 , 8)) # 查找的下标为2
print(str1.index("py" , 1 , 8)) # 查找的下标为2
print(str1.index("py1")) # 
此代码运行报错


python培训班


count() 操作方式与上面一致,没有则返回0


# count() 统计次数
str1 = "我是python,python可以做很多东西,你喜欢python吗"
print(str1.count("python")) # 查找的统计为3


Python培训班


rfind()用法与上面一致,找不到则返回-1


# rfind(),返回最后一个出现的位置下标
print(str1.rfind("python")) # 查找的统计为26


replace()替换字符串

字符串.replace(旧子串,新子串,替换次数)

注意:替换次数如果查找到子串出现的次数,则替换次数为该子串出现的次数,默认替换所有


str1 = "我是Java,Java可以做很多东西,你喜欢Java吗"
new_str1 = str1.replace("Java" , "python")# 修改所有java子串
print(new_str1)
new_str2 = str1.replace("Java" , "python",1)# 只修改一次java子串
print(new_str2)


split(分割符,分割次数[可以省略])

分割,返回一个列表,但是分割符会丢失


str1 = "0 python1 python2 python3 python4 python5"
list1 = str1.split("python")# 默认分割所有
print(list1)
list2 = str1.split("python" , 1)# 数值为1将只分割一次
print(list2)


Python培训班



Join将序列中的多个字符串,合并成一个字符串

语法:任意字符串.join(多字符串组成的序列)


# join
list1 = ['0', '1', '2', '3', '4', '5']

str1 = "-".join(list1)
print(str1)


python培训班



一些不常用的字符串函数


str1 = " python python python python "
# capitalize将第一个字符大写
print(str1.capitalize())
# title() 将所有的单词首字符大写
print(str1.title())
# lower() 将所有字符转成小写
print(str1.lower())
# upper 将所有字符转成大写
print(str1.upper())
# lstrip 删除左则空字符,rstrip 删除右侧空字符
print(str1.lstrip().rstrip())
# strip删除2侧空字符
print(str1.strip())


ljust不够10个字符使用点来填充左对齐


Python培训班



startswith/endswith


判断子串是否在字符串中开头或者结尾


str1 = "pythonwqewqrwqrqwrerewdsfgdsfghello"
# 字符串.startswith(子串,开始位置,截止位置) 判断该子串是否在字符串开始位置
print(str1.startswith("python"))
# 字符串.endswith(子串,开始位置,截止位置) 判断该子串是否在字符串结尾位置
print(str1.endswith("hello"))


python培训班


isalpha/isdigit/isalnum/isspace

isalpha判断是否是字符串中所有的字符是不是字母,如果不是全部字母返回False
isdigit判断字符串中是不是只包含数字,如果是则返回True

isalnum只要字符中包含数字即返回True

isspace 判断是否全部是空字符


str1 = "hello1234"
str2 = "hello"

# isalpha判断是否是字符串中所有的字符是不是字母,如果不是全部字母返回False
print(str1.isalpha())
print(str2.isalpha())
# isdigit判断字符串中是不是只包含数字,如果是则返回True
str3 = "44444"
print(str3.isdigit())
# isalnum只要字符中包含数字即返回True
print(str1.isalnum())
# isspace 判断是否全部是空字符
str4 = " "
print(str4.isspace())


python培训班



python培训班:http://www.baizhiedu.com/python2019

 


上一篇:PHP培训班 | PHP面试题整理-进阶篇

下一篇:大数据培训:如何才能做好数据分析?

相关推荐

关闭

立即申请

www.baizhiedu.com