python中MethodType方法介绍与使用示例
作者:BiuBiuBiu666 发布时间:2022-09-08 03:28:50
标签:python,methodtype方法
前言
本文主要给大家介绍了关于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


猜你喜欢
- 需要把一个从csv文件里读取来的数据集等距抽样分割,这里用到了列表表达式和dataframe.iloc先生成索引列表:index_list
- 在使用爬虫爬取网络数据时,如果长时间对一个网站进行抓取时可能会遇到IP被封的情况,这种情况可以使用代理更换ip来突破服务器封IP的限制。随手
- 项目内容:用Python写的糗事百科的网络爬虫。使用方法:新建一个Bug.py文件,然后将代码复制到里面后,双击运行。程序功能:在命令提示行
- 这篇博客主要写flatten()作用,及其参数的含义flatten()是对多维数据的降维函数。flatten(),默认缺省参数为0,也就是说
- 怎么增大MySQL数据库连接数,MYSQL数据库安装完成后,默认连接数是100,流量稍微大一点的论坛或网站这个连接数是不够哟用
- Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后
- 准备下载安装Python3官网下载即可,选择合适的版本:https://www.python.org/downloads/安装一直下一步即可
- 本文实例为大家分享了python3实现弹弹球小游戏的具体代码,供大家参考,具体内容如下from tkinter import *from t
- 我们今天主要描述的是php和MySQL转义字符,我们大家都知道php和MySQL转义字符的实际应用比例还是占为多数的,如果你对这一技术,心存
- 前言索引的本质是存储引擎用于快速查询记录的一种数据结构。特别是数据表中数据特别多的时候,索引对于数据库的性能就愈发重要。在数据量比较大的时候
- 对于在外的游子,每逢佳节倍思亲。而对于996ICU的苦逼程序猿们,最期待的莫过于各种节假日能把自己丢在床上好好休息一下了。这几天各公司都陆续
- 本文介绍了可以帮助简化 PHP 开发的10个项目,包括框架,类库,工具,代码。1.CakePHP Development Framework
- IE的特殊性 IE的DOM元素属性与Firefox, Opera, Safari有些不同。在IE中,我们可以给DOM添加任意自定
- asp替换函数如下:Function ReplaceNoIgnoreCase(str,replStr) &n
- 一、概述SQL SERVER2012 之前版本,一般采用GUID或者IDENTITY来作为标示符。在2012中,微软终于增加了 SEQUEN
- 引言写这篇文章主要是周末休息太无聊,看了看别人代码,发现基本上要么是多协程下载文件要么就只有单协程的断点续传,所以就试了试有进度条的多协程下
- 准备本文环境信息:软件版本CentOSCentOS 7.4MySQL8.0.x安装前先更新系统所有包sudo yum update安装1.
- 十要:第一:要认真规划和分析。这是网页设计灵魂工作。创建站点之前,要明确你的网站主要针对哪些访问者,为哪些用户服务,要把握准主页题材第二:网
- var obj = document.getElementById("testSelect"); //定位idvar i
- asp压缩access数据库(带密码)方法:以下是一个类文件,下面的注解是调用类的方法 注意:如果系统不支持建立Scripting