关于函数,方法,构造函数,模块中的函数的提醒(及它们之间的不同)

A Reminder About Functions, Methods, Constructor Functions, and Functions in Modules(and the Differenct Between Them)

函数和方法几乎相同,都是调用来实现某种功能。不同之处是:方法要有附加的对象。
例如:

调用函数foo()

foo()

调用名为foo()的方法,将其附加在变量名为duckie中的对象上

ducki.foo()

但是,值得注意的是。模块中函数的调用和方法的调用看起来几乎相同。为了区分,我们需要观察名字。看他究竟是何方妖孽,即是模块名字还是有对象的变量名字。很好区分,如果是模块的话,在程序顶部会导入模块。
例:sys.exit()就是模块中的函数,因为程序开头有声明import sys

构造函数(constructor function)可以和一般的函数同样调用,区别是构造函数返回一个新的对象。构造函数还可以简称为(ctor 或 see-tor)。返回新对象的函数的名称。通常首字母大写,因此我们在创建函数时,通常首字母小写。

例如,pygame.Rect()pygame.Surface()都是pygame模块中的构造函数 ,它返回新的Rect和Surface对象。

下面是一个例子,调用函数,调用方法和调用模块中的函数

代码

import whammy
fizzy()
egg = Wombat()
egg.bluhbluh()
whammy.spam()

解释

1、whammy是一个模块,第一行导入;
2、fizzy名称前什么都没有,后边跟括号,是一个函数调用;
3、Wombat()也是一个函数调用,在这种情况下,他是一个构造函数,返回一个对象。(首字母大写,不能保证就是一个构造函数,但是它一定与常规函数不同),返回的对象存储在变量名为egg当中;
4、egg.bluhbluh()是一个方法调用;
5、whammy.spam()是函数调用,不是方法调用。因为第一行导入了whammy模块。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容