python中MethodType方法介绍与使用示例


Posted in Python onAugust 03, 2017

前言

本文主要给大家介绍了关于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)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python实现从一组颜色中找出与给定颜色最接近颜色的方法
Mar 19 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
用Python中的字典来处理索引统计的方法
May 05 Python
Linux下用Python脚本监控目录变化代码分享
May 21 Python
Python + selenium自动化环境搭建的完整步骤
May 19 Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 Python
使用pandas批量处理矢量化字符串的实例讲解
Jul 10 Python
opencv python 基于KNN的手写体识别的实例
Aug 03 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
Jan 23 Python
python pandas时序处理相关功能详解
Jul 03 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 Python
Python实现照片卡通化
Dec 06 Python
初学python的操作难点总结(新手必看篇)
Aug 03 #Python
python 禁止函数修改列表的实现方法
Aug 03 #Python
详解Python函数可变参数定义及其参数传递方式
Aug 02 #Python
详解Python import方法引入模块的实例
Aug 02 #Python
Python字符串拼接的几种方法整理
Aug 02 #Python
详解 Python 读写XML文件的实例
Aug 02 #Python
Python MD5加密实例详解
Aug 02 #Python
You might like
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
javascript JSON操作入门实例
2010/04/16 Javascript
Javascript处理DOM元素事件实现代码
2012/05/23 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
javascript loadScript异步加载脚本示例讲解
2013/11/14 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
JavaScript函数的特性与应用实践深入详解
2018/12/30 Javascript
javascript实现弹出层效果
2019/12/10 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
小程序实现密码输入框
2020/11/16 Javascript
使用基于Python的Tornado框架的HTTP客户端的教程
2015/04/24 Python
简单易懂的python环境安装教程
2017/07/13 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
tensorflow实现简单的卷积神经网络
2018/05/24 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
python支付宝支付示例详解
2019/08/22 Python
python 装饰器的使用示例
2020/10/10 Python
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
大学毕业登记表自我鉴定
2013/10/09 职场文书
卫校护理专业毕业生求职信
2013/11/26 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
反四风对照检查材料
2014/09/22 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
给客户的检讨书
2014/12/21 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书