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 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 CSS实现渐隐虚线框
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容