python学习-类
python之类
类的定义
类(Class),类相当于一个模板。对象是类的实例。
创建类
# 类的创建以class关键字定义,类的名称以大写开头,后面接:
class People():
pass
使用People类创建实例
chuck = People()
# 打印输出chuck
print(chuck)
# 输出chuck的类型
print(type(chuck))
验证实例与类的关系
# 使用isinstance()函数检查一个对象是否是一个类的实例,返回True或者Flase
result = isinstance(chuck,People)
print(result)
类的属性与方法
现在创建的类中没有任何限制,没有属性和方法。
类中定义的变量就是类的属性,是类的公共属性,所有类实例都可以调用该类属性。
类中定义的函数就是类的方法,是类的公共属性,所有类实例都可以调用该类方法。
属性的定义
# 对People类进行修改
class People():
# 定义一个name属性
name = 'test'
# 使用类创建实例并调用属性
wzs = People()
print(wzs.name)
方法的定义
# 使用类创建实例并调用方法
class People():
# 定义一个方法,与定义函数的方法类似,在定义方法时必须有一个形参,否则会报错
def say_hello(self):
print('我是类中的方法')
# 创建实例并调用方法,与调用函数一致
lym = People()
lym.say_hello()
实例对象属性和方法的查找顺序,先查找对象自身的属性和方法,有则返回,没有则查找类对象中的属性。
一般属性保存到实例对象中,方法保存到类对象中。
类对象中的方法的第一个形参一般是调用方法的对象本身,习惯设置为:self
类的特殊方法init
类中的属性在类初始化时执行一次,init方法在每次创建对象时执行。
# __init__方法,特殊方法不需要自己调用
class People():
# 定义__init__,每次创建对象时调用
# 使用类创建对象时输入的实参会按顺序传递到init形参中
def __init__(self,name):
# 通过self向新创建的对象初始化属性
self.name = name
# 定义一个方法,与定义函数的方法类似,在定义方法时必须有一个形参,否则会报错
def say_hello(self):
print('我是类中的方法')
# 调用类创建对象
p1 = People('chuck')
类属性与方法的创建与使用流程
- 定义类
- 定义init特殊方法定义形参
- 定义方法,第一个参数为self自身
- 使用类创建实例对象,传入实参
示例:
class Person():
def __init__(self,name):
self.name = name
def say_hello(self):
print('大家好,我是%s'%self.name)
p1 = Person('lym')
点点滴滴,积少成多,终有一日能发挥用处。