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格式化字符串实例总结
Sep 28 Python
用python写一个windows下的定时关机脚本(推荐)
Mar 21 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
python的变量与赋值详细分析
Nov 08 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
解决python大批量读写.doc文件的问题
May 08 Python
如何实现删除numpy.array中的行或列
May 08 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 Python
手机使用python操作图片文件(pydroid3)过程详解
Sep 25 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
Django contrib auth authenticate函数源码解析
Nov 12 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 彩色文字实现代码
2009/06/29 PHP
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
PHP函数超时处理方法
2016/02/14 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
微信分享调用jssdk实例
2017/06/08 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
js实现随机8位验证码
2020/07/24 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
[43:14]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
在Python程序和Flask框架中使用SQLAlchemy的教程
2016/06/06 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
python实现雪花飘落效果实例讲解
2019/06/18 Python
使用OpenCV去除面积较小的连通域
2020/07/05 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
struct与class的区别
2014/02/03 面试题
质检部岗位职责
2013/11/11 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书
入团申请书格式
2019/06/20 职场文书
如何做好员工培训计划?
2019/07/09 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL