Python中区分函数和方法
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
Python中区分函数和方法的更多相关文章
- Python中的函数定义方法
def test(x): "hjkasgd" x += 1 return x def——定义函数的关键字 test——函数名 ()——内可定义形参 ""——文档 ...
- Python中print()函数不换行的方法
一.让print()函数不换行 在Python中,print()函数默认是换行的.但是,在很多情况下,我们需要不换行的输出(比如在算法竞赛中).那么,在Python中如何做到这一点呢? 其实很简单.只 ...
- Python中针对函数处理的特殊方法
Python中针对函数处理的特殊方法 很多语言都提供了对参数或变量进行处理的机制,作为灵活的Python,提供了一些针对函数处理的特殊方法 filter(function, sequence):对se ...
- python中List的sort方法的用法
python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法. 关键字: python列表排序 python字典排序 sorted List的元素可以是各种东 ...
- 【转】python中List的sort方法(或者sorted内建函数)的用法
原始出处:http://gaopenghigh.iteye.com/blog/1483864 python列表排序 简单记一下python中List的sort方法(或者sorted内建函数)的用法. ...
- Python中利用函数装饰器实现备忘功能
Python中利用函数装饰器实现备忘功能 这篇文章主要介绍了Python中利用函数装饰器实现备忘功能,同时还降到了利用装饰器来检查函数的递归.确保参数传递的正确,需要的朋友可以参考下 " ...
- Python 中的函数
学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数是结构化编程的核心.我们使用函数可以增加程序的可读性.自定义函数时使用关键字def 函数由多条语句组成.在定义函数 ...
- Python中readline()函数 去除换行符
从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open ...
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
随机推荐
- mongoTemplate查询大数据过慢
先上两段代码 代码一 Query query = new Query();queryAfter.addCriteria(Criteria.where("id").in(idList ...
- HTTP对静态资源的优化
HTTP的If-Modified-Since和Modified-Since标签 在第一次请求静态资源时响应头会携带一个Modified-Since标签,里面存放的是静态资源的最后修改时间,在之后对该静 ...
- Elasticsearch 通关教程(六): 自动发现机制 - Zen Discoveryedit
发现方式 Zen discovery是内建的.默认的.用于Elasticsearch的发现模块.它提供了单播和基于文件的发现,可以通过插件扩展到支持云环境和其他形式的发现. Zen Discovery ...
- EntityFramework Core指定更新导航属性了解一下?
前言 本文来自和何镇汐大哥的探讨,很多时候我习惯于和别人交流过后会思考一些问题,无论是天马行空还是浅薄的想法都会记录下来,或许看到此博文的您能给我更多的思考,与人交流总能收获很多东西,出发点不一样则结 ...
- Neutron: Load Balance as a Service(LBaaS)负载均衡
load balancer 负责监听外部的连接,并将连接分发到 pool member. LBaaS 有三个主要的概念: Pool Member,Pool 和 Virtual IP Pool M ...
- springboot整合Quartz实现定时任务
1.maven依赖: <!--quartz--> <dependency> <groupId>org.quartz-scheduler</groupId> ...
- PyQt5中的信号与槽,js 与 Qt 对象之间互相调用
一.PyQt中的信号与槽 信号(Signal)和槽(Slot)是Qt中的核心机制,用在对象之间互相通信.在Qt中每个QObject对象和PyQt中所有继承自QWidget的控件(这些都是QObject ...
- pytest 14 使用自定义标记mark
标记失败用到的情况是,本身就知道这是失败的例子,所以,不用让他运行,直接跳过.或者是依赖于某个方法,某个方式失败的话,用例直接标记成失败. 标记失败有两种方法,一种是方法内部,一种是方法外部.内部用p ...
- python+appium模拟手机物理按键操作
一句代码:driver.keyevent() 括号里填入的是手机物理按键的数字代号 driver.press_keycode() 括号里填入的是键盘按键的数字代号 手机物理 ...
- JS学习笔记Day22
一.Ajax的概念 (一)Ajax是一种在无需重新加载整个网页(刷新网页)的情况下能够更新部分网页的技术 (二)Ajax的全称是Asynchronous JavaScript and XML,即异步J ...