python函数与方法的区别总结


Posted in Python onJune 23, 2019

(1)函数的分类:

内置函数:python内嵌的一些函数。

匿名函数:一行代码实现一个函数功能。

递归函数

自定义函数:根据自己的需求,来进行定义函数。

(2)方法的分类:

普通方法:直接用self调用的方法。

私有方法:__函数名,只能在类中被调用的方法。

属性方法:@property,将方法伪装成为属性,让代码看起来更合理。

特殊方法(双下划线方法):以__init__为例,是用来封装实例化对象的属性,只要是实例化对象就一定会执行__init方法,如果对象子类中没有则会寻找父类(超类),如果父类(超类)也没有,则直接继承object(python 3.x)类,执行类中的__init__方法。类方法:通过类名的调用去操作公共模板中的属性和方法。

静态方法:不用传入类空间、对象的方法, 作用是保证代码的一致性,规范性,可以完全独立类外的一个方法,但是为了代码的一致性统一的放到某个模块(py文件)中。

其次,从作用域的角度来分析:

(1)函数作用域:从函数调用开始至函数执行完成,返回给调用者后,在执行过程中开辟的空间会自动释放,也就是说函数执行完成后,函数体内部通过赋值等方式修改变量的值不会保留,会随着返回给调用者后,开辟的空间会自动释放。

(2)方法作用域:通过实例化的对象进行方法的调用,调用后开辟的空间不会释放,也就是说调用方法中对变量的修改值会一直保留。

最后,调用的方式不同。

(1)函数:通过“函数名()”的方式进行调用。

(2)方法:通过“对象.方法名”的方式进行调用。

class Foo(object): def func(self):  pass#实例化obj = Foo()# 执行方式一:调用的func是方法obj.func() #func 方法# 执行方式二:调用的func是函数Foo.func(123) # 函数

更多Python相关技术文章,请访问Python教程栏目进行学习!

Python 相关文章推荐
Python struct模块解析
Jun 12 Python
在Python中操作字符串之startswith()方法的使用
May 20 Python
初步讲解Python中的元组概念
May 21 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
python ddt数据驱动最简实例代码
Feb 22 Python
python 中的列表生成式、生成器表达式、模块导入
Jun 19 Python
使用Python中的reduce()函数求积的实例
Jun 28 Python
python的常见矩阵运算(小结)
Aug 07 Python
Pycharm最新激活码2019(推荐)
Dec 31 Python
解决jupyter运行pyqt代码内核重启的问题
Apr 16 Python
python实现贪吃蛇双人大战
Apr 18 Python
Python3 pywin32模块安装的详细步骤
May 26 Python
python中的单引号双引号区别知识点总结
Jun 23 #Python
Python中的pathlib.Path为什么不继承str详解
Jun 23 #Python
Python中判断子串存在的性能比较及分析总结
Jun 23 #Python
树莓派与PC端在局域网内运用python实现即时通讯
Jun 22 #Python
树莓派采用socket方式文件传输(python)
Jun 22 #Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 #Python
树莓派使用USB摄像头和motion实现监控
Jun 22 #Python
You might like
深入解析php之apc
2013/05/15 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
laravel自定义分页效果
2017/07/23 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
node.js中的fs.symlinkSync方法使用说明
2014/12/15 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
JavaScript获取元素尺寸和大小操作总结
2015/02/27 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
2015/09/10 Javascript
Bootstrap中的Panel和Table全面解析
2016/06/13 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
使用node.js中的Buffer类处理二进制数据的方法
2016/11/26 Javascript
Bootstrap的class样式小结
2016/12/01 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
Angular2关于@angular/cli默认端口号配置的问题
2017/07/15 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
详解Python编程中time模块的使用
2015/11/20 Python
Django实现的自定义访问日志模块示例
2017/06/23 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
澳大利亚连衣裙和女装在线:Esther
2017/11/11 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
写给老师的感谢信
2015/01/20 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
教你用Python+selenium搭建自动化测试环境
2021/06/18 Python