Python中区分函数和方法
2020-02-17 03:09
309 查看
1.简单粗暴型:
def func(): ... class Foo: def eat(self): print("吃") f = Foo() print(func) #<function func at 0x0000021527DAC1E0> print(Foo.eat) #<function Foo.eat at 0x000001AE7FF6B268> print(f.eat) #<bound method Foo.eat of <__main__.Foo object at 0x0000025711BD5EF0>>
# 通过类名调用的就是函数,通过类实例化的对象调用就是方法
2.导入模块判断:
from types import FunctionType,MethodType def func(): ... class Foo: def eat(self): print("吃") f = Foo() print(isinstance(func,FunctionType)) # True print(isinstance(f.eat,MethodType)) # True print(isinstance(Foo.eat,FunctionType)) # True print(isinstance(Foo.eat,MethodType)) # False
转载于:https://www.cnblogs.com/changtao/p/10741787.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python之时间复杂度
- Python学习之崖(1)
- python import MySQLdb报错
- python2与python3的区别
- Python定时任务框架:APScheduler源码剖析(三)
- 使用Python实现RPC框架
- Error loading Python DLL ‘python36.dll'. LoadLibrary: 找不到指定的模块。
- python基础
- Python与PLC踩坑实录:成功解决西门子 PLC S7-200_SMART与PC连接时不能同时用Python的snap7包和step7软件同时连接
- [python] raw string,反斜杠\,re Lib
- [python] matplotlib 中文汉字 更改字体
- Python学习笔记之——生成器和迭代器
- python列表,字典排序
- python连接数据库的几种方式!
- 用python爬取伯乐在线的准备
- 模拟登录知乎selenium在python中
- python 爬取伯乐在线完整版
- python 爬取知乎完整版
- Windows下python的安装包的网址
- python构造方法__init__()