前几次我写了一篇有关python对象的文章【一】python对象类型及数字对象,今天来聊一下python对象的方法。
首先,对象都拥有属于自己的方法。
调用对象的方法和调用函数差不多,在方法的前面加上所属对象和一个点“.”。
例如:
#定义一个列表对象
list1 = [1,2,3,4,5]
#列表对象的reverse方法,可以将列表元素进行倒放
list1.reverse()
print(list1)
运行结果如下:
这里的reverse就是列表对象的方法,用于将列表元素进行倒放。
list1.reverse()可以将list1列表对象中的元素进行倒放。
当然,对象有很多种类型,不同的对象类型有不同的方法。
一,字符串的方法
count
count方法可以返回字符串对象包含多少个参数指定的字符串
例:
#因为var1中包含3个“爱”的字符串,所以调用字符串count方法后显示为3
var1 = '哈哈,我爱你,你爱不爱我呢'
print(var1.count('爱'))
运行结果如下:
find
find方法 会在字符串中查找参数子字符串,并返回该参数字符串在子字符串中第一个出现的位置索引
例:
var1 = '哈哈,我爱你,你爱不爱我呢'
print(var1.find('爱'))
print(var1.find('是'))
运行结果如下:
如果想要查找的子字符串“爱”在字符串中存在的话,返回第一个位置的索引4,如果要查找的子字符串“是”不在字符串中存在的话,就返回-1
当然,find方法可以存在第二个参数,可以用来指定字符串范围
例:
var1 = '哈哈,我爱你,你爱不爱我呢'
print(var1.find('爱',5))
运行结果如下:
因为从索引为我开始进行查找,所以忽略了第一个索引为4的字符串,从而选择了第二个索引为8的字符串。
split、splitlines
split方法可以从字符串中截取出我们想要的信息。
split方法以参数字符串为分隔符,将字符串切割为多个字符串,作为元素存入一个列表,并返回这个列表。
例:
str1 = '小黄:88|小李:89|小张:90'
list1 = str1.split('|')
print(list1)
运行结果如下:
在这里,split方法指定“|”作为分隔符,使原来的字符串分成3个字符串存入列表中进行返回。
注意:
- 分隔符在分割后会被自动删除
- 分隔符前后有空格的将保留空格
splitlines方法可以将字符串按换行符进行切割。
例:
str1 = '''
小黄:88
小李:89
小张:90
'''
print(str1.splitlines())
运行结果如下:
就这样,splitlines方法将字符串按行进行切割然后保存在一个列表中进行输出。即:字符串每行内容都是列表的一个元素。
join
join方法和split方法相反,
- split方法将字符串以切割符进行切割
- join方法将字符串以切割符进行连接,从而变成一个字符串
例:
str1 = [
'小黄:88',
'小李:89',
'小张:90'
]
str2 = '|'
print(str2.join(str1))
运行结果如下:
strip、lstrip、rstrip
strip方法可以将字符串前面和后面的空格删除,但不会删除字符串中间的空格。
例:
str1 = ' xiaohuang : 89 '
print(str1.strip())
运行结果如下:
lstrip方法可以将字符串前面的空格删除,但不会删除字符串中间和后边的空格
例:
str1 = ' xiaohuang : 89 '
print(str1.lstrip())
运行结果如下:
rsrip方法将字符串后边的空格删除,但是不会删除字符串中间和左边的空格
例:
str1 = ' xiaohuang : 89 '
print(str1.rstrip())
运行结果如下:
replace
replace方法可以用来将字符串中指定的子字符串替换为另一个字符串
例:
str1 = '小黄,你爱我,我也爱你'
str1 = str1.replace('爱','不爱')
print(str1)
运行结果如下:
startswith、andswith
- startswith方法检查字符串是否以参数指定的字符串开头,如果是返回True,否则返回False。
- startswith方法检查字符串是否以参数指定的字符串结尾,如果是返回True,否则返回False。
例:
str1 = '我们今天不上数学课,上体育课'
print(str1.startswith('我们'))
print(str1.endswith('我们'))
运行结果如下:
isdigit
isdigit方法可以用来检查字符串中是否全部由数字构成,如果是,返回True,否则返回False。
例:
str1 = input('请输入学号')
if not str1.isdigit():
print('您输入的的学号不正确,需要全部为数字')
运行结果如下:
列表的方法
append
列表是一种内容可以改变的对象
append方法就会改变列表的内容,在列表后面添加一个元素
例:
list1 = [1,2,3,4]
list1.append('5')
print(list1)
#继续进行添加
list1.append([6,7])
print(list1)
运行结果如下:
当然,append方法的返回值是None,而不是新的列表对象。
如果直接将append方法后的赋值给新的对象,则会发现值为None
例:
list1 = [1,2,3,4]
b = list1.append('5')
print(b)
运行结果如下:
insert
如果我们需要在列表中指定位置插入一个元素,则可以使用insert方法。
例:
str1 = [1,2,3,4,5,6]
str1.insert(0,'xiaohuang')
print(str1)
运行结果如下:
注意:insert方法的返回值也是None。
pop
如果我们要在列表中进行删除元素,可以使用pop方法。
该方法的参数是需要删除元素的索引。
例:
str1 = [1,2,3,4,5,6]
a = str1.pop(0)
print(str1)
运行结果如下:
pop方法返回值是提取出来的元素
remove
remove也是删除列表元素。
- pop方法的参数是要删除元素的索引
- remove方法的参数是要删除元素的值
remove方法从第一个元素开始,寻找和参数相同的元素,如果找到后就删除,删除之后不会继续往后寻找其他相等的元素。
- remove方法最多只会删除一个元素
例:
str1 = ['a','b','c','d','e','f']
str1.remove('a')
print(str1)
运行结果如下:
注意:remove方法的返回值为None。
reverse
reverse方法将列表元素倒过来
例:
str1 = [1,2,3,4,5,6,7]
str1.reverse()
print(str1)
运行结果如下:
index
index方法返回参数对象在列表中的位置,即索引。
例:
str1 = [1,2,3,4,5,6,7]
a = str1.index(6)
print(a)
运行结果如下:
即值为6的元素在列表中的索引为5
sort
sort方法可以对列表进行排序
例:
str1 = [9,56,33,98,21]
str1.sort()
print(str1)
运行结果如下:
使用sort方法之后,原列表的内容就发生了改变,且sort方法的返回值为None.
好啦,这篇文章到这里就结束啦,如果有什么疑问可以下方评论或者私信我讨论。