Python 学习新模块时,我是否应该记住函数参数的顺序?

Python 学习新模块时,我是否应该记住函数参数的顺序?,python,function,Python,Function,例如,我现在正在学习wxPython,特别是一个类的init函数: __init__(self, parent, id=-1, label=EmptyString, pos=DefaultPosition, size=DefaultSize, style=0, name=StaticTextNameStr) 作为一种良好的编程实践,我应该记住参数的顺序,还是只记住关键字并每次使用关键字调用函数?为了可读性,使用后一种方法更好吗?您需要查看实际的函数签名,而不仅仅是文档所声称的。由于该方法被

例如,我现在正在学习wxPython,特别是一个类的init函数:

__init__(self, parent, id=-1, label=EmptyString, pos=DefaultPosition,
 size=DefaultSize, style=0, name=StaticTextNameStr) 

作为一种良好的编程实践,我应该记住参数的顺序,还是只记住关键字并每次使用关键字调用函数?为了可读性,使用后一种方法更好吗?

您需要查看实际的函数签名,而不仅仅是文档所声称的。由于该方法被声明为
\uuuu init\uuuuu(self,*args,**kwargs)
,因此对于位置而言唯一重要的方法是
父级
,因为其他方法必须通过关键字调用。不过,您可能希望遵循文档中给出的关键字顺序,以减少您或其他人再次查看代码时的惊讶程度。

记住?不,这就是文档(包括源代码)的目的


也就是说,有时使用关键字参数有助于代码的清晰,特别是对于需要大量参数的函数。您应该始终努力编写清晰的代码,特别是在Python中,源代码是用来补充文档的。

莫扎特可能已经记住了现代软件库。我们其余的人依赖于智能IDE,它具有代码完成和参考文档。也就是说,是的,你应该仔细阅读文档,看看里面有什么,甚至可以做笔记。设计了一个编写良好的API(如苹果的库),使名称和原型具有意义并与读者保持一致

e、 g

等等。一个好的面试官会要求你做其中一些(这样他就知道你不会花一整天的时间学习API),但如果你记不住每一个参数,他也会宽大处理

int main(int argc, char *argv[]);
-(void)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section;