在上一篇札记创建一个类class中介绍了如何来创建一个类,以及讲解了初始化函数和类的调用。本文中讲解实例的相关知识。
- 类是对象的定义,具有属性和方法。
- 实例才是真实的物件,具体存在的东西。比如,
美女
是一个类
,西施
才是具体的实例
,真实的存在。
创建实例
创建实例之前必须先有一个类可以供调用,这里直接引用之前创建的
Person
类。
class Person: # 定义一个Person类
"""
This is a sample of class # 注释部分
"""
def __init__(self, name): # 初始化函数;传入另一个参数name
self.name = name
def get_name(self):
return self.name # 通过get_name函数返回self.name也就是初始化函数中参数name的值
def color(self, color):
d = { }
d[self.name] = color # 向字典中添加键值name:color对并返回
return d
# 调用Person类
if __name__ == "__main__":
boy = Person("xiaoming") # 利用Person类创建实例boy
print(boy.name)
name = boy.get_name() # 加上括号的称之为方法(函数),调用函数即方法
print(name)
boy_color = boy.color("black")
print(boy_color)
- 创建实例的过程就是调用类
Person
,并执行初始化函数 - 初始化函数中,参数
self
默认不用传值,参数name
需要传值“xiaoming”
。 - 写成Person("xiaoming")就是给参数name传值,即name = "xiaoming"
- boy就是一个实例,具有属性和方法
- 建立实例先执行init(),初始化函数,通过参数name,得到实例属性self.name = name
- self就是实例对象本身
方法调用
建立了实例boy,实例就具有了get_name()和color()两种方法
get_name()
boy.get_name()
通过实例boy
来调用方法get_name()
;前面已经提到,在类中函数也称之为方法。在类中,对函数的调用也就是对方法的调用。
- 两个方法中的self不需要写出来,也不需要传值。
- self 实质上就是实例对象本身,不需要显式地传值。self.name就是实例的属性。
color()
- 需要传参数,因为方法中有color
- 方法中也使用了实例属性self.name
- print(boy_color)的结果就是{“color”:"black"}
总结
- 一个类可以建立多个实例,类是实例的工厂
-
通过类建立实例,通过实例来调用类的属性和方法。
image.png
网友评论