将数据扔进列表中,这就是一种简单的封装,属于数据层面的封装。把常用的代码块打包成一个函数,这也是一种封装,属于语句层面的封装。
一种更大的封装 -- 类。类一般都是从模块中直接导入使用。简单了解类的概念、类的定义和类的属性与方法。
和类密切相关的,还有一个概念,叫做对象,它们形影不离。简单来说,类表示着一类事物,对象就表示类中某一个具体的实例。
类与对象(Class And Object):类代表一些拥有相同特性与功能的事物。对象是类中的某个具体的实例。将人定义为一个类,“张三”就是人类的一个对象。
类的定义(Class Definition):定义了一个手机的类,并命名为Phone。第4~5行,为该手机类添加了品牌和颜色。第7~10行,为该手机类添加了打电话和发短信两个功能。
# 定义一个类Phone
#关键字class是用来告诉Python,我们要定义类。class在英文中本意就是“种类”,它是定义类的固定格式。class和Phone之间有一个空格,是定义类的标准格式。Phone是类名,为类定义的名称。为了区分类与函数,类的名称首字母建议大写。一对括号,定义类的标准写法。最后是一个英文冒号,表明接下来缩进的代码是属于这个类的。
class Phone():
# 类的属性。缩进:brand,color,二个def前有四个空格,表示该代码块属于Phone这个类。brand和color是类的属性,表示这个类具有的特性。简单来说,属性就是类中的变量的别称。
brand = "夜米"
color = "蓝色"
# 类的方法:makeCall和sendMsg类的方法表示这个类的一些功能。简单来说,方法就是类中的函数的别称。所以,私底下将方法叫做函数也是可以的。self参数,self是一个由程序自动传入的特殊参数。它的作用会在课程最后做一个简单的介绍。
def makeCall(self):
print("拨打电话")
def sendMsg(self):
print("发送信息")
类,代表一些拥有相同特性与功能的事物,是一个抽象的统称。要使用类时必须通过该类创建一个具体的实例,也就是一个对象。把类创建对象的过程,称为实例化对象。
下面,我们通过前面定义好的Phone类,来实例化一个对象。
特殊的self参数
在前面说到了类方法中,会有一个参数self。简单来说,self参数代表的就是实例化生成的对象。即对象会将自己传递给self参数。如图所示,对象myPhone将自己传递给self,此时self.brand就表示是yPhone.brand。
类方法的其他参数
因为类中的方法,本质上也是函数。所以我们也可以在调用类方法时,在括号内传入参数。示例中,参数self会接收实例对象myPhone,而参数n接收调用方法时的实参100。
函数与方法的区别:函数一般直接使用,比如print()函数。而方法使用句点表示法,紧跟在某一个对象后面使用,比如.append()方法。
网友评论