1064337728 发表于 2021-9-29 15:48:22

37讲第0题

class t():
    def __i__(s,w=False,child=False):
      s.ex=100
      if w:
            s.e=1.2
      else:
            s.e=1
      if child:
            s.p=0.5
      else:
            s.p=1
    def cp(s,num):
      return s.ex*s.e *s.p*num

a=t()
j=t(child=True)
print("成人加小孩的价格:%2f"%(a.cp(2)+j.cp(1)))



##我都照抄了,怎么还是报错啊,头疼,求助求助

冬雪雪冬 发表于 2021-9-29 16:00:33

再仔细看看,这里 __i__ 应该是 __init__ 吧

1064337728 发表于 2021-9-29 16:08:45

冬雪雪冬 发表于 2021-9-29 16:00
再仔细看看,这里 __i__ 应该是 __init__ 吧

对了,一定得是_init_吗?这不是自定义的吗?

冬雪雪冬 发表于 2021-9-29 16:13:16

__init__ 是类实例化时自动调用的方法,起别的名就不会自动执行了。

jackz007 发表于 2021-9-29 16:25:21

       记住,在 Python 语言中,任何一个前后都带有双下划线的属性、函数,其名称都是系统规定的,必须一字不差地照写,否则,就不会有预期的功能和效果。

1064337728 发表于 2021-9-29 16:42:58

jackz007 发表于 2021-9-29 16:25
记住,在 Python 语言中,任何一个前后都带有双下划线的属性、函数,其名称都是系统规定的,必须一 ...

受教了,谢谢

1064337728 发表于 2021-9-29 16:43:32

冬雪雪冬 发表于 2021-9-29 16:13
__init__ 是类实例化时自动调用的方法,起别的名就不会自动执行了。

受教了,谢谢
页: [1]
查看完整版本: 37讲第0题