Python中区分函数和方法
2024-08-31 05:35:57
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
最新文章
- BZOJ 4668: 冷战
- 419. Battleships in a Board
- char和byte的区别
- 13 Balls Problem
- Jackson fasterxml跟codehaus的区别 (fasterxml vs. codehaus) -- 转载
- Sharepoint CAML 增删改查 List
- 成为一个PHP专家:缺失的环节
- cf445A DZY Loves Chessboard
- Run Configurations(Debug Configurations)->;Arguments里填写program arguments和VM arguments
- PHP安装Eclipse与使用
- ECharts图表之柱状折线混合图
- ubuntu “无法获得锁 /var/lib/dpkg/lock -open”
- Navicat for MYSQL 断网时本地连接无法打开,2005错误
- DamonOehlman/detect-browser
- 3451: Tyvj1953 Normal 点分治 FFT
- Kaggle(2):验证和过分拟合
- js实现照片墙效果
- 2018.10.24 bzoj2064: 分裂(状压dp)
- 第11课 enum、sizeof、typedef 分析
- Alpha阶段敏捷冲刺①Scrum 冲刺博客
热门文章
- python 中 try catch finally语句中含有return语句的执行情况
- 了解基本的bash shell命令
- Mysql数据库引擎介绍--转载
- HTTP的一些基本概念
- 安装sql server2017出现错误:Visual Studio 运行时";Microsoft visual c++2017 X64 Minimum Runtime - 14.10.25008";需要修复
- nginx部署静态页面
- CentOS系统版本的查看方法
- consumer zookeeper is not a recognized option
- 深入Redis持久化
- B+树和B-树的区别