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 相关文章推荐
PyQt5每天必学之布局管理
Apr 19 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
Dec 17 Python
深度辨析Python的eval()与exec()的方法
Mar 26 Python
python中的数据结构比较
May 13 Python
python pytest进阶之fixture详解
Jun 27 Python
django 基于中间件实现限制ip频繁访问过程详解
Jul 30 Python
python基于property()函数定义属性
Jan 22 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
Django用户登录与注册系统的实现示例
Jun 03 Python
Python configparser模块操作代码实例
Jun 08 Python
python编程的核心知识点总结
Feb 08 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
PHP4 与 MySQL 交互使用
2006/10/09 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
php中ob_flush函数和flush函数用法分析
2015/03/18 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
js 创建书签小工具之理论
2011/02/25 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
vue 监听某个div垂直滚动条下拉到底部的方法
2018/09/15 Javascript
layer实现弹出层自动调节位置
2019/09/05 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
python中文编码问题小结
2014/09/28 Python
Python实现的选择排序算法示例
2017/11/29 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
Python threading的使用方法解析
2019/08/28 Python
Django框架反向解析操作详解
2019/11/28 Python
python实现布隆过滤器及原理解析
2019/12/08 Python
python实现低通滤波器代码
2020/02/26 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
2020/07/13 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
体育课外活动总结
2014/07/08 职场文书
十八大宣传标语
2014/10/09 职场文书
新学期家长寄语2016
2015/12/03 职场文书
详解PHP用mb_string处理windows中文字符
2021/05/26 PHP
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android