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使用mysqldb连接数据库操作方法示例详解
Dec 03 Python
python脚本实现统计日志文件中的ip访问次数代码分享
Aug 06 Python
python通过定义一个类实例作为ftp回调方法
May 04 Python
Python中列表和元组的相关语句和方法讲解
Aug 20 Python
Django自定义manage命令实例代码
Feb 11 Python
python寻找list中最大值、最小值并返回其所在位置的方法
Jun 27 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
keras的三种模型实现与区别说明
Jul 03 Python
keras分类之二分类实例(Cat and dog)
Jul 09 Python
Pycharm安装第三方库失败解决方案
Nov 17 Python
python如何利用traceback获取详细的异常信息
Jun 05 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
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
validator验证控件使用代码
2010/11/23 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
Bootstrap Fileinput文件上传组件用法详解
2016/05/10 Javascript
js微信分享API
2020/10/11 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
jQuery命名空间与闭包用法示例
2017/01/12 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
js实现按座位号抽奖
2017/04/05 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
layer弹出层扩展主题的方法
2019/09/11 Javascript
Vue 使用Props属性实现父子组件的动态传值详解
2019/11/13 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
vue实现登录拦截
2020/06/29 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
[01:10:16]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第一局
2016/02/27 DOTA
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
如何提高python 中for循环的效率
2020/04/15 Python
一款超酷的js+css3实现的3D标签云特效兼容ie7/8/9
2013/11/18 HTML / CSS
美国领先的商务贺卡出版商:The Gallery Collection
2018/02/13 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
三查三看党性分析材料
2014/02/18 职场文书
政风行风整改报告
2014/11/06 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书
2016年毕业实习心得体会范文
2015/10/09 职场文书
php 解析非标准json、非规范json
2021/04/01 PHP
如何解决php-fpm启动不了问题
2021/11/17 PHP
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技