yoyo2 发表于 2020-8-27 11:46:04

关于如何定义类的疑问

class C:
    def __init__(self,size = 10):
      self.size = size
注意到视频里小甲鱼是这样设置类的,我平常是这样的,请问有什么区别吗?小甲鱼那样设置有什么好处?
class C:
    def __init__(self):
      self.size = 10


sunrise085 发表于 2020-8-27 15:51:25

区别还是有的
这两种写法在实例化该类的对象的时候是不一样的
第一种写法实例化该类对象的时候,可以不加参数,因为size有默认值,也可以加参数。
即:class C:
    def __init__(self,size = 10):
      self.size = size
c1=C()   #这样是对的,c1.size=10
c2=C(15) #这样写也是对的,c2.size=15
第二种写法实例化该类对象的时候,不可以有参数,因为__init__中无参数
即:class C:
    def __init__(self):
      self.size = 10
c1=C()   #这样写是对的,c1.size=10
c2=C(15) #这样写会报错,因为实例化的时候,不能传进去参数
页: [1]
查看完整版本: 关于如何定义类的疑问