python删除类方法_python中向类中动态添加新特性及删除属性方法

class Foo(object):

pass

obj = Foo()

# 添加对象属性(对象名追加对象属性)

obj.a = 100

# print(obj.a)

# 添加类属性(类名称追加类属性)

Foo.b = 200

# print(Foo.b)

# print(obj.b)

# 添加对象方法

def obj_fun(self):

print(self.a)

# 第一方法,通过类名追加对象方法, 所有这个类的对象都能调用这个对象方法

Foo.o_fun= obj_fun(类名追加对象方法

# obj.o_fun()

# 第二方法,通过对象名追加对象方法,只有这个对象能够使用

#obj.o2_fun = obj_fun(对象名追加对象方法

#

#obj.o2_fun(obj)(注意参数问题

import types

# 使用MethodType函数将obj与obj_fun的参数self绑定

binded_fun =types.MethodType(obj_fun, obj)

obj.o2_fun =binded_fun

# obj.o2_fun()

# 添加类方法 (类名追加对象属性

@classmethod

def class_fun(cls):

print(cls.b)

Foo.c_fun =class_fun

# Foo.c_fun()

# 添加静态方法 (类名追加对象属性

@staticmethod

def static_fun():

print("static_fun called")

Foo.s_fun =static_fun

# Foo.s_fun()

# 删除属性方法

# 对象属性(对象名追加对象属性

# del obj.a

delattr(obj,"a")

# print(obj.a)

# 类属性(类名追加对象属性

del Foo.b

# print(Foo.b)

# 对象方法(类名追加对象方法

del Foo.o_fun

# obj.o_fun()

# 类方法

del Foo.c_fun

# 静态方法

del Foo.s_fun

---------------------

作者:幸福清风

来源:CSDN

原文:https://blog.csdn.net/xun527/article/details/76795371

版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值