Python对象定义,构造和析构函数,属性的作用,预置实例属性,用于类的方法

Python对象定义,构造和析构函数,属性的作用,预置实例属性,用于类的方法

什么是对象:对象是指现实中的物体或实体

什么是面向对象:把一切看成对象(实例),让对象和对象之间建立关联关系

对象的特征:

对象有很多属性(名词):姓名,年龄,性别

对象有很多行为(动作,动词):学习,吃饭,睡觉,工作

什么是类:

拥有相同属性和行为的对象分为一组,即为一个类

类是用来描述对象的工具,用类可以创建同类对象

类的创建语句:

语法:

class 类名(继承列表):

'''类的文档字符串'''

实例方法定义(类内的函数称为方法method)

类变量定义

类方法定义

静态方法定义

作用:

创建一个类

用于描述此类对象的行为和属性

类用于创建此类的一个或多个对象(实例)

类的构造函数:

表达式:类名([创建传参列表])

作用创建这个类的实例对象,并返回此实例对象的引用关系

实例(对象)说明

实例有自己的作用域和名字空间,可以为该实例添加实例变量(属性)

实例可以调用类方法和实例方法

实例可以访问类变量和实例变量

实例方法:

语法:

class 类名(继承列表):

def 实例方法名(self, 参数1 ,参数2...):

语句块

作用:

实例方法实质是函数,是定义在类内的函数

实例方法至少有一个形参,第一个形参代表调用这个方法的实例,一般命名为'self'

实例方法的调用语法:

实例.实例方法名(调用参数)

类名.实例方法名(实例, 调用传参)

属性 attribute(也叫实例变量)

每个实例都可以有自己的变量,此变量也称为实例变量(也叫属性)

属性的使用语法:

实例.属性名

赋值规则:

首次为属性赋值则创建此属性

再次为属性赋值则改变属性的绑定关系

作用:

用来记录对象自身的数据

删除属性:

用del 语句可以删除一个对象的实例变量

语法:del 对象.实例变量名

如:

class Cat:

pass

c1 = Cat()

c1.color = '白色' #添加属性

print(c1.color)

del c1.color #删除属性

print(c1.color) #属性错误

初始化方法

作用:对新创建的对象添加实例变量(属性)或相应的资源

语法格式:

class 类名(继承列表):

def __init__(self [,形参列表]):

语句块

说明:

1.初始化方法名必须为 __init__ 不可改变

2.初始化方法会在构造函数创建实例后自动调用,且次实例自身通过第一个参数 self 传入 __init__ 方法

3.构造函数的实参将通过 __init__ 方法的形参列表传入 __init__方法中

4.初始化方法内部如果需要返回则只能返回 None

析构方法:

语法:

class 类名(继承列表):

del __del__(self):

语句块

说明:析构方法在对象销毁时被自动调用

作用:清理此对象占用的资源

Python 不建议在析构方法内做任何事情,因为对象销毁的时间难以确定

预置实例属性

__dict__属性:此属性绑定一个存储此实例自身实例变量(属性)的字典

如:

class Dog:

pass

dog1 = Dog()

print(dog1.__dict__)

dog1.kinds = '金毛'

print(dog1.__dict__)

用于类的函数:

isinstance(对象, class_or_tuple) 返回这个对象 obj 是否是某个类 class 或某些类的实例,如果是则返回 True,否则返回 False

type(对象) 返回对象的类型

如:

class Dog:

pass

class Cat:

pass

animal = Dog()

isinstance(animal, Dog) #True

isinstance(animal, Cat) #False

isinstance(animal, (Cat, int, list)) #False

isinstance(animal, (Cat, int, Dog)) #True

isinstance('abc', str) #True

type(animal) #Dog

type('sss') #str


最后编辑于:2019/09/09作者: 牛逼PHP

发表评论