第八章、对象

8.1.对象的概念

上面列举到的数字和字符串,在python语言中,都叫做对象,数字是数字对象,字符串是字符串对象。python语言所有的数据类型都是对象

 

对象这个概念非常的广,他在python语言中就类似于我们的汉语中的“东西”,我们几乎可以把所有的事物都可以成为“东西”

 

事实上,对象(object)就是python语言对数据的一种抽象的总称

 

8.2.什么是对象的方法

之前说,python中的一切类型的数据都是对象

对象通常由两部分组成:对象数据和对象方法

对象数据部分可以看做是对象所对应的存储的东西,是静态的部分

而对象方法可以看做对象的行为,是动态的部分。对象方法其实就是隶属于对对象的函数

有时也叫做成员函数。他们的一般以.methodname(arg1,arg2.....)这样的方式出现

当然字符串也是对象,字符串对象的数据部分当然就是其存储的那些字符

同时字符串对象还有他们的方法

8.3.字符串对象的常用方法

** str.count 计算器字符串中包含的多少个指定的子字符串

>>>'123 123 123 34567'.count('123')

** str.endswith 检查字符串是否以指定的字符串结尾,如果是,返回ture,否则返回False

    str.startswith 检查字符串是否以指定的字符串开头,如果是,返回ture,否则返回False

>>>'123 123 789'.endswith('89')
True
>>>'123 123 789'.startswith('123')
True

** str.find返回指定的子字符串在字符串中出现的位置

>>>'123 456 93284'.find('456')
4

** str.isalpha 检查字符串中是否都是字母,如果是,返回True,只有有一个不是字母,返回False

>>>'abc1'.isalpha()
False

** str.isdigit 检查字符串中是否都是数字,如果是返回True,只要有一个不是数字,返回False

>>>'2349234'.isdigit()
True
>>>'2349223g34'.isdigit()
False

** str.join将sequence类型的参数的元素字符串合并(连接)到一个字符串,string作为分隔符

>>>''.join(['a','city','name'])
'a:city:name'

** str.split将字符串分割为几个子字符串。参数为分隔符。比如

>>>'123 345 678'.split(' ')
['123','345','678']

这里参数是空格符,指明要碰到空格符号就分割一段字符串。这样他被分割成三个子字符串,返回结果存放在一个列表中

 

我们也可以根据其他的分隔符来分割字符串

>>>'123,456,234'.split(';')
['123','456','234']

** str.lower将字符串里面如果有大写字母全部转为小写字母

>>>'China'.lower()
'china'

str.upper将字符串里面如果有小写字母的全部转为大写字母

>>>'China'.upper()
'CHINA'

** str.strip 将字符串前置空格和后置空格删除

    str.lstrip 将字符串前置空格删除

    str.rstrip 将字符串后置空格删除

>>>'    good    '.strip()
'good'
>>>'    good'.lstrip()
'good'
>>>'good    '.rstrip()
'good'

** str.replace 替换字符串里面指定的子字符串

>>>'Tom is a dog.August is a pig'.replace(dog,pig)
'Tom is a pig.August is a pig'

8.4.列表对象的常用方法

当然我们也可以创建一个空列表,下面就是一个例子,并且赋值给变量a

>>>a = []
>>>

也可以这样创建一个空list

>>>a =list[]
>>>

list在python里面是一个内置类名称,大家一定不要定义一个变量名称叫list,这样会导致当前模块list这个词含义的改变

 

有人可能会问,创建一个空列表有什么用呢?

上面我们说了,列表的内容是可以改变的,我们可以调用列表;类型的内置方法append,给列表添加一个元素

>>>a = []
>>>a.append(1)
>>>print(a)
[1]

append是列表类型的一个内置方法,它用来向列表的尾部添加一个元素

添加整数1后,a的内容就是[1]

注意 append是向列表的尾部添加。如果我们在添加一个元素abc

>>>a = []
>>>a.append(1)
>>>print(a)
[1]
>>>a.append('abc')
[1,'abc']

print(a)的结果就是[1,'abc']而不是['abc',1],因为是尾部添加

如果我想在前面插入一个元素,数字3呢?

可以调用列表类型的内置方法insert,

>>>a = []
>>>a.append(1)
>>>print(a)
[1]
>>>a.append('abc')
>>>print(a)
[1,'abc']
>>>a.insert(0,3)
>>>print(a)
[3,1,'abc']

insert有两个参数。

第一个参数是表名向插到列表里面的什么位置上。这是列表的元素下标。注意了,所有的sequence类型的下标都是从0开始,而不是从1开始

所以要插入为第一个元素,这里填0,而不是1

 

第二个参数就是我们要插入的那个对象了。可以是任何类型的对象,我们这里用的是整形数字,当然可以是任何其他类型的对象。小数,字符串均可

也可以是另一个列表对象

 

从列表中删除元素有两种方式

第一种是根据元素的下边删除,如下

>>>a = [3,6,1,5]
>>>del a[1]
>>>print(a)
[3,1,5]

 

当然我们还可以用pop方法,在删除掉元素的同时,会得到元素的值

>>>a = [5,3,2,6,7,8]
>>>b=a.pop(3)
>>>print(b)
6
>>>print(a)
[5,3,2,7,8]

 

remove方法是根据值删除,但是这种方法要注意的是,如果列表里面有多个元素都是这个值,那么只能删除第一个元素。

>>>a = [4,7,8,3,5,3]
>>>a.remove(3)
>>>print(a)
[4,7,8,5,3]

除了前面介绍的append、insert、remove、pop,列表还有如下常用的内置方法

用count方法获取列表中某个元素有多少个

>>>a  = [1,6,3,5,1,2,1]
>>>a.count(1)
3
>>>a.count(3)
1

用reverse方法,将列表里面元素倒序排列

>>>a = [1,2,3,4,5,6,7]
>>>a.reverse()
>>>print(a)
[7,6,5,4,3,2,1]

8.5.元组的常用方法

同样的,可以用count方法获取元组中某个元素有多少个

>>>a = (3,4,2,5,6,3,2)
>>>a.count(3)
2
>>>a.count(2)
2

我们不能删除tuple的元素,或者改变tuple的内容

 

posted @ 2019-07-29 18:43  酒剑仙*  阅读(192)  评论(0编辑  收藏  举报