给类,实例绑定属性和方法

class Student(object):
    pass
>>> s = Student()
>>> s.name = ‘Michael‘ # 动态给实例绑定一个属性
>>> print(s.name)
Michael
>>> def set_age(self, age): # 定义一个函数作为实例方法
...     self.age = age
...
>>> from types import MethodType
>>> s.set_age = MethodType(set_age, s) # 给实例绑定一个方法
>>> s.set_age(25) # 调用实例方法
>>> s.age # 测试结果
25
给类绑定方法:
>>> def set_score(self, score):
...     self.score = score
...
>>> Student.set_score = set_score
>>> s.set_score(100)
>>> s.score
100
>>> s2.set_score(99)
>>> s2.score
99
 

原文地址:https://www.cnblogs.com/LewisAAA/p/9287059.html

时间: 2024-10-16 06:37:59

给类,实例绑定属性和方法的相关文章

Python的实例定属性和方法或类绑定方法

一.给实例对象绑定属性和方法:1.给实例绑定属性:先定义一个Student类 #!/usr/bin/python class Student(object): pass 然后绑定属性: s = Student() s.name = 'AAA' # 动态给实例绑定一个属性 print(s.name)#输出AAA 2.给实例绑定方法:先定义一个方法 def add(self,a,b): self.a = a self.b = b return self.a +self.b 然后绑定方法: Metho

final修饰的类,其属性和方法默认是被final修饰的吗?

在论坛上,看到一个问题,当然,各位聪明的客官想必已经知道问题是什么了,嘿嘿,没错就是文章的标题:final修饰的类,其属性和方法默认是被final修饰的吗? 老实说,刚开始看到这个问题的时候,有点懵...(现场捕获懵比一只:),嘻嘻),之前学习的语法什么的,隔了太久忘记了...既然忘记了,就写个程序进行测试下吧 嘻嘻,以下是测试的程序:(小程序中用到了反射机制,还没学习到的客官,可以先去了解下哈:) ) /** * DateAndTime: 2016-12-13下午10:38:08 */ pac

Vue(十二)vue实例的属性和方法

vue实例的属性和方法 1. 属性 vm.$el vm.$data vm.$options vm.$refs 2. 方法 vm.$mount() vm.$destroy() vm.$nextTick(callback) vm.$set(object,key,value) vm.$delete(object,key) vm.$watch(data,callback[,options]) 原文地址:https://www.cnblogs.com/yulingjia/p/8288273.html

Python day 9(1) 对实例动态绑定属性和方法

一:未使用slots方法(都是在class定义完之后在class外部添加的): (1)动态绑定属性 class Student(object):           pass        >>> s = Student() >>> s.name = 'Michael' # 动态给实例绑定一个属性 >>> print(s.name) Michael(2)动态绑定方法 >>> def set_age(self, age): # 定义一个

类特殊成员(属性和方法)

Python下划线命名模式 - 小结 以下是一个简短的小结,即"速查表",罗列了我在本文中谈到的五种Python下划线模式的含义: 因为python中所有类默认继承object类.而object类提供了了很多原始的内建属性和方法,所以用户自定义的类在Python中也会继承这些内建属性.可以使用dir()函数可以查看,虽然python提供了很多内建属性但实际开发中常用的不多.而很多系统提供的内建属性实际开发中用户都需要重写后才会使用.对于python来说,属性或者函数都可以被理解成一个属

python 动态给实例添加属性和方法并使用__slots__

from types import MethodType #创建一个空类class Person(object): __slots__ = ("name", "age", "speak") per = Person()#动态添加属性,这体现了动态语言的特点(灵活)per.name = "tom"print(per.name)#动态添加方法'''def say(self): print("my name is &quo

NetTcpBinding 类nettcpbinding的属性和方法

  一种适合于跨计算机通信的安全可靠的绑定. 继承层次结构 System.Object   System.ServiceModel.Channels.Binding    System.ServiceModel.NetTcpBinding      System.ServiceModel.NetTcpContextBinding 命名空间:  System.ServiceModel程序集:  System.ServiceModel(在 System.ServiceModel.dll 中) 语法

UIView类的常用属性与方法

UIView表示屏幕上的一块矩形区域,它在App中占有绝对重要的地位,因为IOS中几乎所有可视化控件都是UIView的子类.负责渲染区域的内容,并且响应该区域内发生的触摸事件. UIView的功能:1.管理矩形区域里的内容2.处理矩形区域中的事件3.子视图的管理 4.还能实现动画 UIView的子类也具有这些功能. 1.UIView中的三个结构体CGPoint.CGSize.CGRect 1.  CGPoint//点结构体 1 struct CGPoint { 2 CGFloat x; 3 CG

Java反射特性--获取其他类实例并调用其方法

1. 代码结构 .├── com│   └── test│   └── MyTest.java└── MainCall.java 2. 代码内容 MyTest.java: package com.test; public class MyTest { public void do_test() { System.out.println("Doing test...\n"); } } MaiCall.java import java.lang.reflect.Method; public