是否可以像下面的示例一样将类型作为函数参数传递?
def test(*args):
'''decorator implementation with asserts'''
...
@test(str, int)
def fn1(ma_chaine, mon_entier):
return ma_chaine * mon_entier
@test(int, int)
def fn2(nb1, nb2):
return nb1 * nb2
还是应该将它们作为字符串传递(例如@test('str', 'int)
),并且在内部测试函数中将它们与if
和elif
一起使用?
答案 0 :(得分:1)
行得通吗?
Private Sub List0_AfterUpdate()
Forms![Form1]![List2].Requery
End Sub
是的
您应该这样做吗?
答案 1 :(得分:0)
Python函数的参数与它的类型无关。
您可以传递任何类型的参数,并可以检查参数的类型。
很简单,您可以检查得到的参数类型。
尝试
def fn1(ma_chaine, mon_entier):
if type(ma_chaine) == int && type(mon_entier) == int:
return ma_chaine * mon_entier
else:
raise TypeError("Arguments should be 'int' type. Got '{}' type and '{}' type.".format(type(ma_chaine), type(mon_entier))