首页 >社区问答列表 >python 类成员函数的参数问题

python 类成员函数的参数问题

今天遇到一个没见过的代码:

class Iface:
  def ping(self, ):                                                                                                                                                                      
    pass                                                                                                                                                                                 
  def say(self, msg):                                                                                                                                                                    
    """
    Parameters:                                                                                                                                                                          
     - msg                                                                                                                                                                               
    """
    pass

这里ping()的参数是以逗号结尾,是指参数为有一个元素的元组吗?


  • 代言
  • 代言    2016-11-12 15:11:482楼

    其中函数定义部分:

    funcdef: 'def' NAME parameters ':' suite
    parameters: '(' [varargslist] ')'varargslist: ((fpdef ['=' test] ',')*
                  ('*' NAME [',' '**' NAME] | '**' NAME) |
                  fpdef ['=' test] (',' fpdef ['=' test])* [','])


    +1添加回复

  • 回复
  • 代言
  • 代言    2016-11-12 15:11:241楼

    Python的参数本来就是用tuple来实现的。关于这一点,你可以去看看怎么写一个Python C扩展,你就会有很深的了解了,其中PyArg_ParseTuple是一个最常用的API。

    +0添加回复

  • 回复