python类的动态方法是什么_如何在python中为类动态创建类方法
如果我将一个小python程序定义为class a():
def _func(self):
return "asdf"
# Not sure what to resplace __init__ with so that a.func will return asdf
def __init__(self, *args, **kwargs):
setattr(self, 'func', classmethod(self._func))
if __name__ == "__main__":
a.func
我收到回溯错误Traceback (most recent call last):
File "setattr_static.py", line 9, in
a.func
AttributeError: class a has no attribute 'func'
我想知道的是,如何在不实例化对象的情况下动态地将类方法设置为类?
编辑:
这个问题的答案是class a():
pass
def func(cls, some_other_argument):
return some_other_argument
setattr(a, 'func', classmethod(func))
if __name__ == "__main__":
print(a.func)
print(a.func("asdf"))
返回以下输出>
asdf
python类的动态方法是什么_如何在python中为类动态创建类方法相关推荐
- python对文件每行数据计算_如何在python中对pandas数据帧的每一行进行计算?
我是python的新手,我正在尝试将我在R中创建的函数转换为python,R函数描述如下: 从我的阅读来看,在python中实现这一点的最佳方法是使用一个for循环,该循环采用以下形式for line ...
- python包含多个元组的元组_如何在python中将多个”列出的”元组连接成一个元组?...
在python中,关于这个问题的答案很少,如何将一个元组列表连接到一个列表中?,如何在python中合并两个元组?,如何在python中合并任意数量的元组?所有的答案都引用了元组列表,所以提供的解决方 ...
- razor页面跳转_如何在Blazor中使用Razor页面创建单页应用程序
razor页面跳转 In this article, we are going to create a Single Page Application (SPA) using Razor pages ...
- python requests.get每次都要初始化_如何在Python(GET/POST)409confi中使用“requests”成功登录...
通过这个网站登录的正确方法是什么?在 我想使用requests模块登录here.在 到目前为止,我已经做到了:#!/usr/bin/env python # -*- coding: utf-8 -*- ...
- python ascii码16进制转换_如何在Python十六进制整数和ASCii编码的字符串之间进行转换...
今天,我将与您分享一种将Python十六进制整数转换为ASCii编码的字符串的方法,该方法具有很好的参考价值,希望对大家有所帮助. 让我们一起关注小编,看看 当使用Pyserial与STM32通信时, ...
- python一次输入多个值_如何在Python的一行中从用户输入多个值?
为了读取语言C中的多个变量,我们编写类似-//Read three variable in one line scanf("%d %d %d", &x, &y, & ...
- python将小时数换成分钟_如何在Python中将datetime.timedelta转换为分钟、小时?
没有用于timedelta对象的内置格式化程序,但您自己很容易做到:days, seconds = duration.days, duration.seconds hours = days * 24 ...
- python getopt参数参数自动补全_如何在Python中使用getopt / OPTARG?如果给出过多的参数(9),如何转移参数?...
How to use getopt/optarg in Python? 解决方案 This is an example of how I do it, I usually use the same b ...
- python怎么判断输入的是不是数字_如何在PYTHON里判断字符串是否为数字
1 打开JUPYTER NOTEBOOK,新建一个空白的PY文档. 2 str1 = "888" print(str1.isdecimal()) print(str1.isdigi ...
最新文章
- linux驱动:i2c驱动(一)
- tcpdump-根据IP查看程序与服务都用了哪些端口
- Ubuntu16.04下配置最新Vs Code的C/C++开发环境
- 4g内存 mysql_4G内存 mysql数据库
- 2015 AlBaath Collegiate Programming Contest(2月14日训练赛)
- IDEA中实用的快捷方式
- 2014年 第5届 蓝桥杯 Java B组 省赛解析及总结
- javafx 表单_JavaFX 2:创建登录表单
- laravel 控制器中使用中间件_在 Laravel 中使用 Slack 进行异常通知
- GTK+图形化应用程序开发学习笔记(二)—Glib库
- 家电智能化转型之下 长虹在挖什么“坑”?
- 物联网中间件的未来是云计算技术为中心和混合结构
- 大数据技术全解之三分虚拟化技术、七分分布式管理、十二分大数据
- 锋锋5日一更正式开始2021-1-5
- 借贷记账思考2015.12.28
- OPPO VIVO 三星 小米破网络锁,改全网通与案例分析
- SpringBoot系列课程(二)-SpringBoot整合MyBatis
- Linux一条命令修改账号密码
- 微博数据分析工具限时福利!购买西瓜微数加送会员时长 ,最多加赠1个月!
- 中国科学技术大学课程资源 最新github地址