目录
Python 数据类型常用的内置方法(二)
1、字符串类型常用内置方法
经常使用的内置方法,必会!!!
1、upper、lower、isupper、islower
- upper():转大写
- lower():转小写
- isupper():判断是否为纯大写
- islower():判断是否为纯小写
实例如下:
#1、upper()转大写
#lower()转小写
str = 'Hi,I am HammerZe'
print(str.upper())
print(str.lower())
#结果
HI,I AM HAMMERZE
hi,i am hammerze
#2、isupper()判断是否为全大写
#islower()判断是否为全小写
str1 = 'python'
print(str1.islower(),str.isupper())
#结果
True False
生活实际案例:现在好多图片验证码,不用区分大小写,底层原理就是大小写转换的方法。
"""
用户登录验证码验证是否正确
"""
code = 'W8Q5'
#输入验证码,strip去空格
user_input_code = input('please input right code:').strip()
#不论用户输入什么,upper()方法都可以转换成统一大写
if user_input_code.upper() == code.upper():
print('Login success!')
else:
print('Code is incorrect!')
#结果
please input right code:w8q5
Login success!
2、startswith、endswith
- startswith():判断字符串是否以指定的字符开头
- endswith():判断字符串是否以指定的字符结尾
实例如下:
"""
判断是否以指定字符开头和结尾
"""
str = 'I love python'
print(str.startswith('I'))
print(str.endswith('n'))
print(str.endswith(('python')))
#结果
True
True
True
3、format
格式化我在前变总结,不会占位符的可以再巩固一下
[格式化两种方法](Python如何格式化输出 - HammerZe - 博客园 (cnblogs.com))
format():格式化输出就是将字符串的某些内容替换掉再输出
实例如下:
"""
format格式化输出
"""
#不设置参数,按默认顺序输出
Info = 'my name is {},Age is {}'
print(Info.format('HammerZe',18))
#设置参数,按指定顺序输出
Info = 'my name is {0},{0} age is {1}'
print(Info.format('HammerZe',18))
#设置参数
Info_url = '我的博客地址为:{url},求关注~'
print(Info_url.format(url = 'https://www.cnblogs.com/48xz/'))
搭配列表、字典使用,实例如下:
# 搭配列表
lst_mat = ['HammerZe', 'https://www.cnblogs.com/48xz/']
print('我的博客名{0[0]},博客地址为{0[1]}'.format(lst_mat))
# 搭配字典
dic_mat = {'name': 'Hammer', 'url': 'https://www.cnblogs.com/48xz/'}
print('博客名:{name},博客地址:{url}'.format(**dic_mat))
4、join
字符串拼接可以用‘+’,操作起来麻烦,需要写的代码多,这里推荐使用join()方法。
- 格式:
- 指定拼接符.join(需要拼接的字符串)
实例如下:
#join拼接字符串
join_str = ['hello','world']
print('$'.join(join_str))
注意!!!!!!!!!!!!!!!!!
拼接的必须是字符串,不同数据类型之间无法直接操作
#可以拼接
join_str = ['age','18']
print('$'.join(join_str))
#结果
age$18
#不可以拼接
join_str = ['age',18]
print('$'.join(join_str))
#结果
TypeError: sequence item 1: expected str instance, int found
5、replace
格式
replace(oldstr,newstr,n) #n为需要替换的个数,默认全部替换
实例如下:
rep_str = 'I am HammerZe'
# 把a全部替换成b
print(rep_str.replace('a', 'b'))
# 替换一个a
print(rep_str.replace('a', 'b', 1))
6、isdigit
- isdigit():判断字符串是否为纯数字
实例如下:
is_num = 'HammerZe48'
is_num1 = '123'
print(is_num.isdigit(),is_num1.isdigit())
#结果
False True
7、title、capitalize、swapcase
- title():所有单词首字母大写
- capitalize():开头单词首字母大写
- swapcase():大小写互换
实例如下:
transform_word = 'HammerZe'
print(transform_word.title(),transform_word.capitalize(),transform_word.swapcase())
# 结果
Hammerze Hammerze hAMMERzE
8、find、index
- find():查看字符对应索引位置,从左往右,找到一个就结束,找不到返回-1
- index():查看字符对应索引位置,从左往右,找到一个就结束,找不到报错
实例如下:
find_str = "I am HammerZe"
#包含'Z'
print(find_str.find('Z'))
#不包含'w'
print(find_str.find('w'))
#包含'e'
print(find_str.index('e'))
#不包含'n'
print(find_str.index('n'))
#结果
11
-1
9
ValueError: substring not found
9、center、ljust、rjust
- center():居中
- ljust():左对齐
- rjust():右对齐
格式:方法名(指定长度,指定填充字符)
实例如下:
center_str = 'HammerZe'
#居中
print(center_str.center(16,'$'))
#左对齐
print(center_str.ljust(16,'$'))
#右对齐
print(center_str.rjust(16,'$'))
10、isalnum、isalpha
- isalnum():判断字符串中既可以包含数字也可以包含字母
- isalpha():判断字符串中只包含字母
实例如下:
is_num = 'HammerZe123'
print(is_num.isalnum(),is_num.isalpha())
#结果
True False
2、列表的内置方法
1、类型转换
list关键字可以支持for循环可迭代的数据类型转换成列表,就是可变类型,不可变类型(元组除外)不能转换
[可变类型不可变类型](Python--基本数据类型(可变/不可变类型) - HammerZe - 博客园 (cnblogs.com))
实例如下:
# 不可转换,报错
# print(list(666))
# print(list(123.123))
# print(list(True))
# 可以转换,结果相当于for循环遍历的结果
print(list('hello'))
print(list({'name': 'HammerZe', 'age': 18}))
print(list((1, 2, 3, 4, 5)))
print(list({1, 2, 3, 4, 5}))
#结果
['h', 'e', 'l', 'l', 'o']
['name', 'age']
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
2、append、insert、extend
- append():将括号内的元素当成一个整体追加到列表尾部
- insert():插入元素,可以指定位置
- extend():一个一个追加在字符串尾部,相当于for+append
实例如下:
#append():
add_list = ['HammerZe',666,'python']
add_list.append('java')
print(add_list)
add_list.append(['123','C++'])
print(add_list)
#结果
['HammerZe', 666, 'python', 'java']
['HammerZe', 666, 'python', 'java', ['123', 'C++']]
#insert():
#在索引为0的的位置插入字符串
add_list.insert(0,'my name is:')
print(add_list)
#结果
['my name is:', 'HammerZe', 666, 'python', 'java', ['123', 'C++']]
#extend():
add_list = ['HammerZe',666,'python']
add_list.extend(['111',222,456,'123','python'])
print(add_list)
#结果
['HammerZe', 666, 'python', '111', 222, 456, '123', 'python']
3、del、remove、pop
- del():根据索引移除需要移除的元素
- remove():括号内指定需要移除的元素值
- pop():括号内指定需要弹出的元素索引值,括号内如果不写参数则默认弹出列表尾部元素
实例如下:
num = [1, 2, 3, 4, 5, 'python','php']
del num[0] #移除索引为0的元素
print(num)
num.remove('php') #移除指定的元素值
print(num)
num.pop(1) #按索引值去除值
print(num)
num.pop()
print(num)
#结果
[2, 3, 4, 5, 'python', 'php']
[2, 3, 4, 5, 'python']
[2, 4, 5, 'python']
[2, 4, 5]
附送字符串的内置方法思维图:
学习笔记持续更新中,求关注····