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方法
0
投稿

猜你喜欢

  • 跟老齐学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
  • PHP hebrev()函数用法讲解

    2023-06-03 12:49:32
  • PHP join()函数用法与实例讲解

    2023-06-02 00:39:19
  • 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
  • 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
  • asp之家 网络编程 m.aspxhome.com