首页 > python 类成员函数的参数问题

python 类成员函数的参数问题

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

class Iface:
  def ping(self, ):                                                                                                                                                                      
    pass                                                                                                                                                                                 

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

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


补充一下,关于Python的形式语法,参见http://docs.python.org/2/reference/grammar.html

其中函数定义部分:

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

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

【热门文章】
【热门文章】