字符串函数:
str:函数方法,给字符串提供服务的函数方法
# 首字母大写的方法.capitalize
# str1 = "username"
# print(str1.capitalize()) # Username
# title 首字母大写的方法,碰到下划线或者空格那么会将字符串当中
# 的内容转换成驼峰式命名
# print(str1.title()) # Username
# str1 = "user_name"
# print(str1.title()) # User_Name
# 字符串分割的方法,split : 返回到list列表当中
# str1 = "user name"
# a = str1.split(" ") # 通过空格分割完成后将结果赋值给a
# print(a) # ['user', 'name']
# print(type(a)) # <class 'list'>
# a = str1.split("s")
# print(a) # ['u', 'er name']
# join函数:拼接字符串:
# 1.对象:list,将多个字符串合并成一个内容
# list1 = ["user", "name:", "wuhan"]
# print("".join(list1)) # username:wuhan
# 2.操作字符串
# str1 = "username"
# print("_".join(str1)) # u_s_e_r_n_a_m_e
# count() : 统计内容出现的次数
# str1 = "username"
# print(str1.count("u")) # 1
# len() 函数,统计序列的长度,不属于str类独有的函数,所以不能通过str来调用
# print(len(str1)) # 8
# ctrl + 鼠标左键 可以查看函数所在的位置和类型
# 分割函数:strip() 删除,不给删除的值默认删除左右两边的空格
# 默认从两边一起删除
# str1 = " user name "
# print(str1) # user name
# print(str1.strip()) # user name
# str1 = "aq user name qa"
# print(str1) # aq user name qa
# print(str1.strip("aq")) # user name
# lstrip:默认是从左边开始删除,默认删除空格
# rstrip:默认是从右边开始删除,默认删除空格
# str1 = "aq user name qa"
# print(str1.lstrip("aq")) # user name qa
# print(str1.rstrip("aq")) # aq user name
# startswith : 用于判断当前的字符串是以什么开头,返回的是布尔值
# str1 = "file.txt"
# print(str1.startswith("1")) # False
# print(str1.startswith("f")) # True
# 判断当前的用户是不是vip用户
# name = input("请输入你的用户名:") # 请输入你的用户名:vip3
# if name.startswith("vip"):
# print("尊贵的vip用户") # 尊贵的vip用户
# else:
# print("普通用户")
# endswith : 用于判断当前的字符串是以什么结尾,返回的是布尔值
# str1 = "file.txt"
# print(str1.endswith("txt")) # True
# print(str1.endswith("file")) # False
输入上传一个文件,需要判断当前的文件是不是txt或者是xls文件/png/git
# file = input("请输入你上传的文件名称:")
# if file.endswith("txt") or file.endswith("xls") \
# or file.endswith("png") or file.endswith("git"):
# print("该文件符合类型")
# else:
# print("该文件不能上传")
index :查看对应字符串的索引位置
# str1 = "12345678901"
# print(str1.index("0")) # 9
# 当对应的字符在str中有多个时,默认显示的是最小的索引位置值
# print(str1.index("1")) # 0
# 当所查找的字符在str中不存在时,报错
# print(str1.index("a")) # 报错
find 方法:查看对应字符串的索引位置,默认从左往右开始查找
# 当所查看的字符在str中不存在时,返回-1
# print(str1.find("a")) # -1
rfind : 从右边开始查找
# print(str1.rfind("1")) # 10
# print(str1.rfind("0")) # 9
replace :替换当前字符串当中的值
1.第一个参数:替换前的值
2.第二个参数:被替换后的值
3.第三个参数:替换的次数
注意:replace替换不会修改字符串原来的值
# str1 = "username"
# a = str1.replace("u", "U").replace("n", "N")
# print(a) # UserName
# str1 = "hhhhuuuu"
# print(str1.replace("h", "H", 1)) #Hhhhuuuu
upper :将所有的字母改为大写
# str1 = "abcd"
# print(str1.upper()) #ABCD
lower :将所有的字母改为小写
# str1 = "aGGGGd"
# print(str1.lower()) #aggggb
islower :判断当前的值,是否全部为小写
# str1 = "abcd"
# print(str1.islower()) # True
"isupper :判断当前的值,是否全部为大写
# str1 = "ABCDe"
# print(str1.isupper()) # False
isdigit :判断当前字符串的内容是否全部为数值
# str1 = "123456789"
# print(str1.isdigit()) # True
isalpha :判断当前字符串是否全部为字母汉字
# str1 = "abcd混合"
# print(str1.isalpha()) # True
# print("中国".encode("utf-8").isalpha()) # False
# print("中国".isalpha()) # True
istitle :判断当前字符串的首字母是否为大写,其他的是否为小写
# str1 = "USer"
# print(str1.istitle()) # False
# str1 = "User"
# print(str1.title()) # True
isalnum :判断当前的字符串是否为字母数值汉字的组合
# str1 = "aaa2222汉字"
# print(str1.isalnum()) # True
字符串相加的功能:
相加的功能 支持 + 法运算:
* 重复输出
# str1 = "hello"
# str2 = "word"
# print(str1 + str2) #helloword
# print(str1 * 3) #hellohellohello
python当中的序列:list 列表 表达式:[]
list 也支持索引和切片功能
# 定义一个list
# list1 = [11, 11.1, "abc", "武汉多测师"]
# print(list1) # [11, 11.1, 'abc', '武汉多测师']
# print(type(list1)) # <class 'list'>
# 索引取值
# list1 = [11, 11.1, "abc", "武汉多测师"]
# print(list1[3]) # 武汉多测师
# print(type(list1[3])) # <class 'str'>
# print(type(list1[0])) # <class 'int'>
# print(type(list1[1])) # <class 'float'>
# 切片:
# print(list1[2:]) # ['abc', '武汉多测师']
# list 可以通过索引位置进行赋值/修改值
# list1 = [11, 11.1, "abc", "武汉多测师"]
# list2 = ["武汉", "湖北", "上海"]
# list1[0] = "多测师" # 将索引为0的值重新赋值
# print(list1) # ['多测师', 11.1, 'abc', '武汉多测师']
# 注意:如果超出对应的索引位,报错,索引越位
# list1[4] = "上海多测师"
# print(list1) # 报错
list的拼接
# print(list1 + list2) # [11, 11.1, 'abc', '武汉多测师', '武汉', '湖北', '上海']
# print(list2 * 3) # ['武汉', '湖北', '上海', '武汉', '湖北', '上海', '武汉', '湖北', '上海']
['武汉',['湖北',[['北京'],'湖南']],'上海']
# 1.已知字符串 s = "my,name,is,zhangsan",请用两种办法取出之间的“name”字符。
# s = "my,name,is,zhangsan"
# a = s[3:7]
# print(a)
# b = s.split(",")
# print(b[1])
# 2.将lisi修改为zhangsan?
# a = 'lisi'
# a = 'zhangsan'
# print(a)
# print(a.replace("lisi", "zhangsan"))
# 3.已知如下变量,将a与b拼接成字符串c
# a = "字符串拼接1"
# b = "字符串拼接2"
# c = a + b
# print(c)
# 4.请找出第一个"i"出现的位置。
# a = "i,am,a,boy,in,china"
# print(a.find("i"))
# print(a.index("i"))
# 5.请计算该字符串一共有几个逗号。
# a = "i,am,a,boy,in,china"
# print(a.count(","))
# 6..有user_name把这个user_name改变为UserName
# a = "user_name"
# print(a.title().replace("_", ""))
# print(''.join(a.title().split("_")))
# 7.当前['武汉', ['湖北',[['北京'],'湖南']], '上海']
# print()取出北京
# list1 = ['武汉', ['湖北', [['北京'], '湖南']], '上海']
# print(list1[1][1][0][0])
list :函数方式:
list 和 str 之间的数据类型转换关系:
# list1 = [1, 2, 3, 4, 5]
# print(list1) # [1, 2, 3, 4, 5]
# print(list1[0]) # 1
# print(type(list1)) # <class 'list'>
# a = str(list1)
# print(a) # [1, 2, 3, 4, 5]
# print(a[0]) # [
# print(type(a)) # <class 'str'>
# str转换成list
# str1 = "123456789"
# a = list(str1)
# print(a) # ['1', '2', '3', '4', '5', '6', '7', '8', '9']
append() :给list添加值
# list1 = [1, 2, 3, 4, 5]
# list1.append(6)
# list1.append([1, 2, 3, 4, 5, 6])
# print(list1) # [1, 2, 3, 4, 5, 6, [1, 2, 3, 4, 5, 6]]
insert :可以通过索引(指定的位置)添加值
# list1.insert(0, 0)
# print(list1) # [0, 1, 2, 3, 4, 5]
# list1.insert(5, "多测师")
# print(list1) # [0, 1, 2, 3, 4, '多测师', 5]
extend :合并列表
# list1 = [1, 2, 3, 4, 5]
# list2 = ["湖北", "武汉"]
# 方法1
# list1.extend(list2)
# print(list1) # [1, 2, 3, 4, 5, '湖北', '武汉']
# 方法2
# print(list1 + list2) # [1, 2, 3, 4, 5, '湖北', '武汉']
面试问题:
reverse :反转输出list内容
# list1 = [1, 2, 3, 4, 5]
# print(list1[::-1]) # [5, 4, 3, 2, 1]
# list1.reverse()
# print(list1) # [5, 4, 3, 2, 1]
remove :删除list当中的值
不能直接通过索引位置进行删除,可以通过值删除
# list1 = [1, 2, 3, 4, 5]
# list1.remove(list1[0])
# print(list1) # [2, 3, 4, 5]
sort :排序 从小到大进行排序
# list1 = [2, 23232, 23, 533]
# list1.sort()
# print(list1) # [2, 23, 533, 23232]
sorted :排序方法,可以实现从小到大,也可以是实现从大到小
默认从小到大进行排序
里面存在reverse参数,这个参数的默认值为 False,改为 True时
从大到小进行排序
# list1 = [2, 23232, 23, 533]
# print(sorted(list1)) # [2, 23, 533, 23232]
# print(sorted(list1, reverse=True)) # [23232, 533, 23, 2]
pop 删除 :
默认删除的是最后一位的值,可以直接通过索引进行删除
# list1 = [2, 23232, 23, 533]
# list1.pop(0)
# print(list1) # [23232, 23, 533]
# print(list1.pop()) # 533
del:可以同时删除多个值,支持切片的删除方式
# list1 = [1, 2, 3, 4, 5, 6]
# del list1[0:3]
# print(list1) # [4, 5, 6]
#
# del list # 直接删除整个list
# # NameError: name 'list' is not defined
# print(list) # 报错
clear :清空
# list1 = [1, 2, 3, 4, 5, 6]
# list1.clear()
# print(list1) # []
index :查看对应元素的索引位置
# list1 = [1, 2, 3, 4, 5, 6]
# print(list1.index(1)) # 0
tuple :元组:
tuple是一个安全的写保护数据类型,里面的值不允许被修改
表达式:()
# 定义一个tuple
# tuple1 = (1, 2, 3, 4, 5, ["wuhan"])
# print(tuple1) # (1, 2, 3, 4, 5)
# print(type(tuple1)) # <class 'tuple'>
# tuple1[5][0] = "多测师"
# print(tuple1) # (1, 2, 3, 4, 5, ['多测师'])
如果当前括号里面只有一个值,那么这个值本身是什么数据类型
返回的就是对应的数据类型,并不是一个元组
如果当前括号里面只有一个值,你又想申明他是一个元组,需要在
值的后面加上逗号
# tuple1 =("武汉")
# print(type(tuple1)) # <class 'str'>
#
# # 方法二:定义一个元组
# tuple2 = 1, 2, 3, 4, 5
# print(type(tuple2)) # <class 'tuple'>
#
# tuple3 = ("武汉",)
# print(type(tuple3)) # <class 'tuple'>
改元组的数据不能直接去改,可以通过数据类型转换,修改list
# tuple1 = ("湖北", "湖南", "江西")
# list1 = list(tuple1)
# print(list1) # ['湖北', '湖南', '江西']
# list1[0] = "武汉"
# tuple1 = tuple(list1)
# print(tuple1) # ('武汉', '湖南', '江西')
|
|