python类中成员的的调用
python类中成员的调用
python类中的方法到底到底是方法还是函数取绝于调用者,
当类名调用这个方法时他是一个函数
class Foo(object):def f1(self):print("hello beijing")def f2(self):print("hello china")def f3(self):print("hello world") obj1=Foo() Foo.f1(obj1) #当以类名调用时,他是一个函数,但是 print(Foo.f1(obj1)) #需要自己传值 obj2=Foo() obj2.f2() #当以实例调用时他是一个方法,这个用的 print(obj2.f2()) #不用多解释
关于这个知识点最主要的应用在反射中体现的比较重要
如下
class Foo(object):def f1(self):print("hello beijing")def f2(self):print("hello china")def f3(self):print("hello world")obj2=Foo() func_or_val = getattr(Foo,"f1") #这个相当于执行了Foo.f1,上面讲过,这 个要手动传参的 print(func_or_val) print(func_or_val(obj2))
obj2=Foo()func_or_val = getattr(obj2,"f1") #这个相当于执行了obj2.f1 ,当他是一个方法的时候不需要传参print(func_or_val)print(func_or_val())
类中成员的调用和反射的最终结合
class Handler:f0 = 9def f1(self):print('F1--001')def f2(self):print('F2--002')def f3(self):print('F3--003')def f4(self):print('F4--004')def f5(self):print('F5--005') while True:print("""系统支持的函数有:1. f12. f23. f34. f45. f5""")val = input("请输入要执行的函数:")func_or_val = getattr(Handler, val)print(func_or_val) #这个相当于Handler.f1,在这里f1是个函数,前面说过,后面是要自己传参数的obj=Handler()print(func_or_val(obj)) #传的参数是实例print(func_or_val(Handler())) #这两个写法是一样的#这么做最厉害的是可以动态的调用类中的方法了,想调用哪个都可以
转载于:https://www.cnblogs.com/zhuhaofeng/p/9561450.html
python类中成员的的调用相关推荐
- Java笔记-通过放射获取类中成员名及调用get方法及map构造JSON数据
目录 通过反射获取类中成员名 通过反射调用get方法 map生成JSON数据 通过反射获取类中成员名 /*** 获取类中的所有成员名* @param currentClass* @return* @t ...
- python类中包含一个特殊的变量、它可以访问类的成员_Python 类的特殊成员介绍...
类的成员有两种形式 公有成员,在任何地方都能访问 私有成员,只有在类的内部才能方法,私有成员命名时,前两个字符是下划线. class Foo: def __init__(self, name, age ...
- python类中私有成员和方法的访问
1.私有成员的访问 python类中的私有成员和方法内的私有成员(在python中以__开头的变量),在类外只能通过类中定义的方法来进行访问,或者用一种特殊的方式a._A__value(a是对象,A是 ...
- python类装饰器详解-Python类中的装饰器在当前类中的声明与调用详解
我的Python环境:3.7 在Python类里声明一个装饰器,并在这个类里调用这个装饰器. 代码如下: class Test(): xx = False def __init__(self): pa ...
- Python 同一个类中不同函数相互调用
本文采取:Python的类中函数方法相互调用的两种方式_狗哥的博客-CSDN博客 __metaclass__=type class Stu:name=Noneage=Noneschool=" ...
- python类中包含一个特殊的变量、它可以访问类的成员_区域联防的运用中遵循并贯彻以球为主的防守原则,做到球人区三者兼顾。( )...
刘墉书法的特点是用墨厚重,体丰骨劲,浑厚敦实,别具面目.A:对B:错 Python类中包含一个特殊的变量(),它表示当前对象自身,可以访问类的成员.A:meB:selfC:thisD:与类同名 在过火 ...
- python类中包含一个特殊的变量、它可以访问类的成员_Python类中包含一个特殊的变量( ),它表示当前对象自身,可以访问类的成员....
包含票务系统的业务管理主要内容包括()A:运营监督B:规则管理C:信息管理D:财务管理E:模式管理 特殊表嘌呤核苷酸补救合成途径的主要器官是().A:脑组织B:小肠C:胸腺D:肝脏E:肾脏 示当身嘌呤 ...
- 【Python——类】 同一个类中一个函数里调用另一个函数的方法
[Python-类] 同一个类中一个函数里调用另一个函数的方法 class Solution:def a(self):self.b() # 注意这种写法:self.类名def b(self):prin ...
- python类中的属性分为类属性和实例属性两种_python从入门到大神---1、初始化实例、类属性、方法...
python从入门到大神---1.初始化实例.类属性.方法 一.总结 一句话总结: 方法不加括号是代码段:感觉python方法和js,php很类似,不加括号是代码段,加括号变成方法,比如f,f() 1 ...
最新文章
- 联想android刷机教程视频,联想s939刷机教程(刷官方系统)
- Python中的高阶函数reduce
- Java千百问_05面向对象(012)_泛型是什么
- war包怎么解压_渣渣辉表情包下载-渣渣辉抖音表情包动态图下载
- 马上就5g时代了,5g时代有什么风口吗?
- textView 父视图alpha设置不影响子视图
- 控制input输入框光标的位置
- 单片机——电子密码锁设计报告
- ue修改倚天服务器时间,正途私服UE修改一些配置脚本
- Windows自建虚拟机搭建kms激活服务器激活正版系统教程
- 激光雷达定位-论文心得
- css 设置手机浏览器背景图片填充整个页面的小问题级解决方法
- 尚硅谷-TypeScript
- echarts实现全国及各省市地图(内附地图json文件)
- 政务内网不能上网的解决办法
- 将fla文件的影片剪辑按钮等一些类文件和外部的as文件整合到swc中
- 物联网毕业设计 - 基于STM32的轮足两用可变形环境感知探测机器人
- 易语言传文本到c 崩溃,win7系统易语言打开支持库配置就崩溃的解决方法
- 判断浏览器类型及是否能使用ES6部分特性
- 元祖python_python元祖和列表
热门文章
- python与c语言在语法上的区别-论c++/java/c 与python的语法上的区别
- python基础教学视频-Python基础教程(附教学视频)
- python语言属于-Python语言属于( )。_学小易找答案
- python对文件的读操作有哪些方法-Python之文件操作:文件的读写
- python 数据分析学什么-如何学习Python数据分析呢?老男孩Python培训
- spring中bean的实例化
- 行为模式之Visitor模式
- 结构型模式之Proxy模式
- 牛客网 PAT乙级(Basic Level)练习题 1023 考新郎
- Python入门学习笔记03(装饰器)