python中MethodType方法介绍与使用示例
作者:BiuBiuBiu666 时间:2022-09-08 03:28:50
前言
本文主要给大家介绍了关于python中MethodType方法的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍吧
示例代码
#!/usr/bin/python
# -*-coding:utf-8-*-
from types import MethodType
"""
文件名 class2.py
MethodType 测试
"""
# 首先看第一种方式
#创建一个方法
def set_age(self, arg):
self.age = arg
#创建一个类
class Student(object):
pass
#------以上为公共部分
s_one = Student()
#给student 创建一个方法 但这里不是在class中创建而是创建了一个链接把外部的set_age 方法用链接知道Student内
s_one.set_age = MethodType(set_age,s_one,Student)
s_one.set_age(32) #调用实例方法
print s_one.age
#》》》》结果 32
s_two = Student()
s_two.set_age(100) #这里来验证下是在类内有方法还是类外有方法。
print s_two.age
#》》》》结果Traceback (most recent call last):
#》》》》 File "class2.py", line 22, in <module>
#》》》》 s_two.set_age(100) #这里来验证下是在类内有方法还是类外有方法。
#》》》》 AttributeError: 'Student' object has no attribute 'set_age'
看另一种
#直接用类来创建一个方法 不过此时还是用链接的方式在类外的内存中创建
Student.set_age = MethodType(set_age,Student)
#此时在创建实例的时候外部方法 set_age 也会复制 这些实例和Student类都指向同一个set_age方法
new1 = Student()
new2 = Student()
new1.set_age(99)
new2.set_age(98) #第二个会覆盖第一个
print (new1.age,new2.age) #看结果 2个都是98
#》》》》(98, 98)
来源:http://www.cnblogs.com/yhl664123701/p/6051448.html
标签:python,methodtype方法
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
跟老齐学Python之数据类型总结
2023-05-30 07:15:07
Python使用progressbar模块实现的显示进度条功能
2023-11-20 05:40:07
Python for循环搭配else常见问题解决
2021-04-23 06:08:56
python中pass语句用法实例分析
2021-08-12 01:49:13
js选取多个或单个元素的实现代码(用class)
2023-08-24 16:51:29
也谈谈DIV+CSS的牛角尖
2007-11-16 16:12:00
Python猴子补丁Monkey Patch用法实例解析
2022-02-20 06:45:01
asp如何自动更新导航栏?
2010-07-07 12:10:00
页面自动刷新javascript代码大全
2010-06-28 18:54:00
Django初步使用Celery处理耗时任务和定时任务问题
2023-10-15 07:41:59
![](https://img.aspxhome.com/file/2023/0/88010_0s.png)
PHP hebrev()函数用法讲解
2023-06-03 12:49:32
![](https://img.aspxhome.com/file/2023/6/55386_0s.png)
PHP join()函数用法与实例讲解
2023-06-02 00:39:19
![](https://img.aspxhome.com/file/2023/8/55378_0s.png)
Django的ListView超详细用法(含分页paginate)
2021-02-13 00:53:41
python搭建微信公众平台
2022-05-24 00:14:09
python 多进程通信模块的简单实现
2021-06-13 08:21:32
简单谈谈Python中的模块导入
2021-02-24 20:28:17
登陆成功后自动计算秒数执行跳转
2023-10-10 19:47:59
![](https://img.aspxhome.com/file/2023/8/56348_0s.gif)
Python 使用PIL numpy 实现拼接图片的示例
2021-03-20 02:50:20
MySQL的数据库常用命令 超级实用版分享
2012-01-05 18:58:00
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2022-06-13 04:36:44
![](https://img.aspxhome.com/file/2023/6/93556_0s.jpg)