类的实例化过程
⼀、定义⼀个类
class Dog(object): # 定义class实例化类和实例化对象
def __init__(self, name): # 构造函数,构造⽅法 == 初始化⽅法
self.name = name # d.name = name 类的属性 / 成员变量
def say_hi(self): # 类的⽅法
print("Hello, I am a dog. My name is", self.name)
def eat(self, food):
print("%s is eating %s." % (self.name, food))
d = Dog("xiaohei") # Dog(d,"xiaohei") d == self
# d 实例化的对象即实例,类中的self相当于实例
d.say_hi() # d.say_hai(d)
d.eat('beaf')
第⼀种⽅法__init__()⽅法是⼀种特殊的⽅法,被称为类的构造函数或初始化⽅法,当创建了这个类的实例时就会调⽤该⽅法self 代表类的实例,self 在定义类的⽅法时是必须有的,虽然在调⽤时不必传⼊相应的参数。
⼆、self代表的实例,⽽⾮类
类的⽅法与普通的函数只有⼀个特别的区别——它们必须有⼀个额外的第⼀个参数名称, 按照惯例它的名称是 self。
class Dog(object):
def prt(self):
print(self)
print(self.__class__)
d = Dog()
print(d)
print("-------------")
d.prt()
#输出
<__main__.Dog object at 0x000001DDBD10C5F8>
-------------
<__main__.Dog object at 0x000001DDBD10C5F8>
<class '__main__.Dog'>
从执⾏结果可以很明显的看出,self 代表的是类的实例,代表当前对象的地址,⽽ self.class 则指向类。
三、创建实例对象
实例化类其他编程语⾔中⼀般⽤关键字 new,但是在 Python 中并没有这个关键字,类的实例化类似函数调⽤⽅式。
# 创建⼀个Dog类的对象
d = Dog("xiaohei")
实例化后的对象⼜称之为:实例
四、访问属性
您可以使⽤点(.)来访问对象的属性 # 通过 d.⽅法来访问属性
d.eat('beaf')
#输出
xiaohei is eating beaf.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论