什么时候?
get_names
name_type
是
None
,因为
main
还没接到电话。两个都不是
if/elif
我跑了,所以
nameDecorator
退货
没有
获取\u名称
. 一种解决办法是移除
把它变成一个
__name__
检查文件顶部附近。
import os
import re
import sys
name_type=None
if __name == '__main__': # If this doesn't happen, this error will still occur.
name_type="FEMALE"
def superNameDecorator(value):
def nameDecorator(func):
if value in ["MALE"]:
def wrapper1(*args,**kwargs):
original_result=func(*args,**kwargs)
modified_result= "<MALE>"+original_result + "<\MALE>"
return modified_result
return wrapper1
elif value in ["FEMALE"]:
def wrapper2(*args,**kwargs):
original_result=func(*args,**kwargs)
modified_result= "<FEMALE>"+original_result + "<\FEMALE>"
return modified_result
return wrapper2
return nameDecorator
@superNameDecorator(name_type)
def get_names():
name='AMY'
return name
if __name == '__main__':
get_names()
一个更明智的解决办法是重写你的
姓名装饰人
处理任何
,以及缺乏
,在某种程度上这对你来说是有意义的。