一些基本概念
对象(Object):将一组数据和与这组数据有关操作组装在一起,形成一个实体,这个实体就是一个对象。
类 (Class):具有相同或相似性质的对象的抽象就是类。因此,对象的抽象就是类,类的具体化就是对象。例如,如果人类是一个类,则一个具体的人就是一个对象。
封装:将数据和操作捆绑在一起,定义一个新类的过程就是封装。
继承:指一个类可以继承另一个类的特性,和父子关系的类似。
方法:也称为成员函数,是指对象上的操作,作为类声明的一部分来定义。方法定义了对一个对象可以执行的操作。
构造函数:一种成员函数,用来在创建对象时初始化对象。构造函数一般与它所属的类完全同名。
析构函数:析构函数与构造函数相反,当对象脱离其作用域时(例如声明对象的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做清理善后工作。
类与对象的使用
类的声明
class 类名:
成员变量
成员函数
如
class Person:
def SayHello(self):
print("hello")
在成员函数SayHello()中有一个参数self。这是类的成员函数(方法)与普通函数的主要区别。类的成员函数必须有一个参数self,而且位于参数列表的开头。
定义类的对象
对象是类的实例。如果人类是一个类的话,那么某个具体的人就是一个对象。只有定义了具体的对象,才能使用类。
python对象的创建方法:
对象名 = 类名()
例:
class Person:
def SayHello(self):
print("hello")
p = Person() #对象名p相当于一个变量,可以使用它来访问类的成员变量和成员函数
p.SayHello()
成员变量
在类的定义中,可以定义成员变量并同时对其赋初始值。
class MyString:
str = "Hello MyString" #str是静态变量
def output(self ):
print(self.str) #使用self引用变量
s = MyString()
s.output()
在类的成员函数中使用self引用成员变量。
python使用下划线作为变量前缀和后缀来指定特殊变量,规则如下:
__xxx __表示系统定义的名字
__xxx 表示类中的私有变量,至于内部可以访问,外部不可以访问
(都是双下划线)
类的成员变量可以分为两种,一种是共有变量,一种是私有变量。共有变量可以在类的外部访问,私有变量只能在类的内部访问。
构造函数
构造函数是类的一个特殊函数,它拥有一个固定的名称,即 __init __。当创建类的对象实例时系统会自动调用构造函数,通过构造函数对类进行初始化操作。
class UserInfo:
def __init__(self , name, pwd):
self.username = name #self.username表示为类中的公有变量
self.__pwd = pwd #self.__pwd表示类中的私有变量
def output(self):
print("用户:"+ self.username + "\n密码:" + self.__pwd)
u = UserInfo("admin" , "123") #此时的初始化,就是调用的__init__函数
u.output()
析构函数
析构函数也有一个固定的名称__del __。通常在析构函数中释放类所占用的资源。使用del语句可以删除一个对象,释放它所占用的资源。
class UserInfo:
def __init__(self , name, pwd):
self.username = name #self.username表示为类中的公有变量
self.__pwd = pwd #self.__pwd表示类中的私有变量
def __del__(self):
print("删除对象")
def output(self):
print("用户:"+ self.username + "\n密码:" + self.__pwd)
u = UserInfo("admin" , "123") #此时的初始化,就是调用的__init__函数
u.output()
del u #删除对象语句