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 pass 语句使用示例
Mar 11 Python
Python3.0与2.X版本的区别实例分析
Aug 25 Python
通过Python实现自动填写调查问卷
Sep 06 Python
Tensorflow中的placeholder和feed_dict的使用
Jul 09 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
Python输出\u编码将其转换成中文的实例
Dec 15 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
python爬虫之自制英汉字典
Jun 24 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
Aug 13 Python
利用rest framework搭建Django API过程解析
Aug 31 Python
使用NumPy读取MNIST数据的实现代码示例
Nov 20 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应用程序的七个习惯深入分析
2013/06/08 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
PHP微信开发之查询微信精选文章
2016/06/23 PHP
让mayfish支持mysqli数据库驱动的实现方法
2010/05/22 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
js面向对象编程之如何实现方法重载
2014/07/02 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
vue小白入门教程
2018/04/02 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
解决vue初始化项目一直停在downloading template的问题
2020/11/09 Javascript
python获取豆瓣电影简介代码分享
2014/01/16 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available
2019/07/31 Python
python3 xpath和requests应用详解
2020/03/06 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
Django ORM实现按天获取数据去重求和例子
2020/05/18 Python
python else语句在循环中的运用详解
2020/07/06 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
求职简历自荐信范文
2013/10/21 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python
pandas中关于apply+lambda的应用
2022/02/28 Python
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python