Python中函数不是方法,主要有以下区别:

首先,从分类的角度来分析二者的区别

(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中函数与方法的区别?相关推荐

  1. python中函数和类的区别_Python中函数和方法的区别

    简单总结: 与类和实例无绑定关系的function都属于函数(function): 与类和实例有绑定关系的function都属于方法(method). 首先摒弃错误认知:并不是类中的调用都叫方法 函数 ...

  2. python函数与方法的区别_python中函数和方法有哪些区别

    python中函数和方法有哪些区别 发布时间:2020-11-16 09:30:04 来源:亿速云 阅读:89 作者:小新 小编给大家分享一下python中函数和方法有哪些区别,相信大部分人都还不怎么 ...

  3. python中的方法和函数的区别_Python中函数和方法的区别

    在Python中函数和方法是有区别的. 区别一所处的位置:函数是直接写文件中而不是class中,方法是只能写在class中. 区别二定义的方式: 1.函数定义的方式 def关键字  然后接函数名 再是 ...

  4. python属性和方法的区别_Python中几种属性访问的区别与用法详解

    起步 在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言, ...

  5. python sort函数返回值_python中 sort方法 和sorted函数

    sort和sorted在python中常用语列表(或类列表)的排序,但是在python中有所区别. 他们的唯一的共同点恐怕就是都可以对列表排序,区别: 1. sorted是python的内置函数,可以 ...

  6. python中eval函数和int函数功能一样_python中eval与int的区别浅析

    python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval()能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval()函数将去掉字符串的两个 ...

  7. python属性和方法的区别_Python中几种属性访问的区别

    起步 python的提供一系列和属性访问有关的特殊方法:__get__, __getattr__, __getattribute__, __getitem__ .本文阐述它们的区别和用法. 属性的访问 ...

  8. python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...

    match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...

  9. python中isnumeric函数怎么用_Python中isnumeric()方法的使用简介

    Python中isnumeric()方法的使用简介 isnumeric()方法检查字符串是否仅由数字组成.这种方法只表示为Unicode对象. 注意:要定义一个字符串为Unicode,只需前缀分配'u ...

最新文章

  1. 数据结构之直接插入排序
  2. DevExpress TreeList 调优_绑定数据源方式, 放弃原来的AppendNode加载数据的方式
  3. 洛谷P1057传球游戏题解
  4. pat 甲级1013
  5. springmvc的执行流程详解
  6. Linux主流架构运维工作简单剖析
  7. 跳跃游戏Python解法
  8. .Net 分布式云平台基础服务建设说明概要
  9. 计算机陕西高校保研排名,陕西18所大学2021届保研率排行榜
  10. Objective-C Property 和 Synthesize
  11. SHTML+INC机制说明!
  12. 优秀网页案例教你如何排好内容页
  13. 保持 Go 模块兼容
  14. 编程语言-Python-GUI
  15. openCV无法打开源文件opencv2\opencv.hpp
  16. 麒麟 linux下安装显卡驱动,中标麒麟7安装英伟达显卡驱动过程简述
  17. iphone自动下载当天VOA
  18. 代码编辑器 Sublime Text 系列——安装、插件和菜单中英文对照
  19. Windows没有应用商店情况安装英特尔集成显卡控制面板
  20. 天之博特 多车协同:Waiting for subscriber to connect to /tianbot_1/cmd_vel 解决办法

热门文章

  1. MPLS 成为连接到云的绝佳方法的4个原因
  2. 云计算服务定义及优劣势—Vecloud微云
  3. Darwin Stream server(DSS服务器)的Relay(中继/转发)设置
  4. /dev/console,/dev/tty 和 /dev/null
  5. 一些对制作网站有帮助的站点
  6. python读取word文档
  7. 二十一.HTTP属性管理
  8. http响应头里没有或者有content-length的几种可能性
  9. Nginx TCP代理
  10. JS获取HTML元素属性【转】