jadechenyt 2018-11-19 08:44 采纳率: 33.3%
浏览 2240

Python的方法括号为空,是什么含义

2018/11/19:

class Bird(object):
    def init(self,sound):
        self.sound = sound
        print("my sound is:",sound)
        
    def chirp(self):
        print(self.sound)
        
    def chirp_repeat(self,sound,n):
        for i in range(n):
            self.chirp(sound)
        
summer = Bird("ji")
summer.chirp_repeat("ji",10)

执行后一直报错,见下方截图:

修改后:

执行成功。 其中原因是什么,求解!

  • 写回答

1条回答 默认 最新

  • DCY7074 2018-11-19 09:16
    关注
    1. 你想使用summer = Bird("ji"),需要__init__()这个函数进行初始化,而你使用的init相当于自定义初始化函数,所以你应该使用 summer.init('ji')来初始化sound这个变量 2.chrip()这个函数只有一个参数 ,但是 你调用时,有两个参数, 3.chrip_repeat()这个函数不需要重新传参sound

    正确代码如下:

     class Bird(object):
        def __init__(self, sound):
            self.sound=sound
    
        '''
        def init(self,sound):
            self.sound = sound
            print("my sound is:",sound)
        '''    
        def chirp(self):
            print(self.sound)
    
        def chirp_repeat(self,n):
            for i in range(n):
                self.chirp()
    
    summer = Bird('ji')
    #summer.init('ji')
    summer.chirp_repeat(10)
    
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器