什么是对象:对象是指现实中的物体或实体
什么是面向对象:把一切看成对象(实例),让对象和对象之间建立关联关系
对象的特征:
对象有很多属性(名词):姓名,年龄,性别
对象有很多行为(动作,动词):学习,吃饭,睡觉,工作
什么是类:
拥有相同属性和行为的对象分为一组,即为一个类
类是用来描述对象的工具,用类可以创建同类对象
类的创建语句:
语法:
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
发表评论