参考了不同的文章,写的都蛮不错的
附上源链接:https://blog.youkuaiyun.com/u012193416/article/details/78112710
python是一门动态语言,也就是说可以给对象动态添加属性和方法,python中的__init__()方法相当于java中的构造函数,在创建一个类对象之后一定会调用的方法。如果用过java这种面向对象的语言的话,我们一般使用使用构造函数来传参,在python中也是,我们可以使用__init__()方法来传递参数,比如赋值给对象属性等。
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
class Cat:
def __init__(self,color):
self.color=color
def eat(self):
print("--chi--")
def printinfo(self):
print(self.color)
wangheng = Cat("白")
wangheng.eat()
wangheng.color="黑" #(注释掉即为不修改wangheng的color属性)
wangheng.printinfo()
上面创建一个Cat类,并生成一个wangheng这个对象,可以给对象传color这个属性,否则在后面调用printinfo()函数时,会出现无法使用color这个属性的异常,第一个打印白是没有修改wangheng的属性,这时候self代指的就是wangheng这个对象本身,而修改了wangheng的color属性之后,再去打印就变成黑了。
----------------------------------------------------------
拓展:
class Cat:也可以写为class Cat():
对结果没有影响,应该是一种表达方式的问题。
另附一篇:https://blog.youkuaiyun.com/geerniya/article/details/77487941
就不粘贴过来了,先学习学习