python中的函数和方法有什么区别?
2023-03-20 15:36:09 时间
一直跟大家讨论,函数和方法,很多时候我们会将这两个内容混为一谈,那到底是不是这样的呢?如果一样,为什么存在函数或者方法两个名词呢?毫无质疑的是,函数肯定是函数,方法肯定是方法,两者是独立的个体,那我们要怎么区分,或者在什么场景下区分这两个是怎么用呢?一起来看下吧~
区别:
1、在标准库inspect 中,它提供了两个自省的函数,即 ismethod() 和 isfunction(),可以用来判断什么是方法,什么是函数。
2、Function也是包含一个函数头和一个函数体, 也同样支持0到n个形参,而Method则是在function的基础上, 多了一层类的关系, 正因为这一层类, 所以区分了function 和 method 。
3、本质上, 函数和方法的区别是: 函数是属于 FunctionObject , 而 方法是属 PyMethodObject
简单来看下代码:
def aa(d, na=None, *kasd, **kassd): passclass A(object): def f(self): return 1a = A()print '#### 各自方法描述 ####'print '## 函数 %s' % aaprint '## 类方法 %s' % A.fprint '## 实例方法 %s' % a.f
输出结果:
#### 各自方法描述 ###### 函数 <function aa at 0x000000000262AB38>## 类方法 <unbound method A.f>## 实例方法 <bound method A.f of <__main__.A object at 0x0000000002633198>>
所以大家看懂了吗?
上述内容就是转对函数和方法的区别的示例,大家仔细看下会很容易发现两者区别还是蛮大的,但是在有些情况下,可以混说,具体是哪些情况呢?大家还是继续多多学习,更深入了解吧~
相关文章
- Python中的函数与方法 以及Bound Method和Unbound Method
- 一文贯通python文件读取
- Python 中的异步编程:Asyncio
- 7个你现在就该学习Python的理由
- 提高Python运行效率的六个窍门
- Python数据科学:神经网络
- 一篇文章看懂大数据分析就业前景及职能定位
- R和Python中的文本挖掘:8个入门小贴士
- 告诉你为什么Python有点慢,但我却无所谓?
- 专注学习DevOps编程语言Top 5推荐
- Python发送邮件脚本
- Python多进程并行编程实践: mpi4py 的使用
- Python语言在未来的发展前景
- Python vs Ruby: 谁是最好的 web 开发语言?
- Python对Ruby:谁在Web开发领域更胜一筹?
- Python一行代码完成并行任务
- Python开发者2017应该关注的七个类库
- python爬虫入门基本知识
- 在终端中优雅地编写Python
- Python机器学习实战:信用卡欺诈检测