问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

python函数里定义的类

发布网友 发布时间:2022-03-03 16:05

我来回答

2个回答

热心网友 时间:2022-03-03 17:34

#Python 2.5
#这个可以用修饰器来完成
#但是一般不会*参数类型
#给你个思路:

def argfilter(*types):
def deco(func): #这是修饰器
def newfunc(*args): #新的函数
if len(types)==len(args):
correct = True
for i in range(len(args)):
if not isinstance(args[i], types[i]): #判断类型
correct = False
if correct:
return func(*args) #返回原函数值
else:
raise TypeError
else:
raise TypeError
return newfunc #由修饰器返回新的函数
return deco #返回作为修饰器的函数

@argfilter(int, str) #指定参数类型
def func(i, s): #定义被修饰的函数
print i, s

#之后你想*类型的话, 就这样:
#@argfilter(第一个参数的类名, 第二个参数的类名, ..., 第N个参数的类名)
#def yourfunc(第一个参数, 第一个参数, ..., 第N个参数):
# ...
#
#相当于:
#def yourfunc(第一个参数, 第一个参数, ..., 第N个参数):
# ...
#yourfunc = argfilter(第一个参数的类名, 第二个参数的类名, ..., 第N个参数的类名)(yourfunc)

热心网友 时间:2022-03-03 18:52

装饰器的问题
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
蘑菇发胀变黑菌伞张开还能吃吗 r720服务器硬盘闪黄灯 求助:戴尔PowerEdge R720服务器重启出现按F1继续才能进入系统问题,而且... r720如何设置u盘启 主板上的oc是什么意思 猫咪为什么要检查抗体呢怎么回事 猫咪抗体检测 如何检测猫打了疫苗 猫打完疫苗要检查吗 为什么要安装无线路由器? python怎么定义对象属性 电脑屏幕闪屏是怎么回事?要怎样解决? python怎么定义elasticsearch的类型 电脑闪屏怎么处理 python定义数据类型 电脑突然闪屏怎么回事 电脑闪屏怎么办 笔记本电脑键盘按键错乱怎么办 电脑一直闪屏怎么办? 电脑键盘突然错乱 台式电脑键盘按键错乱 端午节为什么要吃粽子 什么意思???? 电脑键盘打字错乱怎么恢复台式电脑 笔记本电脑按键错乱怎么办 如何解决 电脑按键错乱怎么恢复 电脑上打开微博啦但设置在哪? 键盘按键错乱怎么恢复 请问一下手机版新浪微博在哪里发微博 小米摄像头换了wifi怎么重新连接? 小米摄像头换手机怎么重新连接 电脑一开机就闪屏是怎么回事? python定义类时必须指定基类吗? python类的问题,为什么总说我newname没定义?怎么定义 电脑开机的时候突然闪屏怎么回事啊? 电脑一直闪屏是什么原因,怎么解决 电脑老闪屏怎么回事 五孔插座如何接线 急求五孔插座如何接线 电脑老闪屏怎么办? 五孔插座如何接线。 电脑闪屏闪屏,如何解决 请问这个五孔插座开关怎么连接 电脑闪屏是怎么回事 公牛一开关五孔插座如何接线 电脑一直闪屏,点不了任何东西怎么办? 电脑显示器一直闪屏怎么办 摄氏度怎么打出符号 电脑闪屏了怎么办 电脑闪屏怎么回事 华为手机通知栏不显示怎么办
  • 焦点

最新推荐

猜你喜欢

热门推荐