[英]Changing global objects while still being able to validate arguments
目前,我的python模块中有2个全局变量。 我想摆脱使用全局变量作用域,而仍然能够在我的模块中调用这两个变量。 基本上,什么是摆脱全局对象的最佳方法,同时仍然能够验证参数。
我试图在一个函数中创建一个类,但我意识到这是行不通的。
全局gl_args全局gl_hashType
gl_args 1⁄4 parser.parse_args()
if gl_args.md5:
gl_hashType = 'MD5'
elif gl_args.sha256:
gl_hashType = 'SHA256'
elif gl_args.sha512:
gl_hashType = 'SHA512'
elif gl_args.sha224:
gl_hashType = 'SHA224'
elif gl_args.sha384:
gl_hashType = 'SHA384'
else:
gl_hashType = "Unknown"
logging.error('Unknown Hash Type Specified')
DisplayMessage("Command line processed: Successfully")
return
在整个模块中调用变量。
听起来像是要上课
class MyClass(object):
def __init__(self,x,y):
self.x = x
self.y = y
def f1(self):
return self.x + self.y
def f2(self):
return self.y - self.x
def area(self):
return self.y*self.x
像这样使用:
my_instance = MyClass(4,5)
my_instance.f1()
my_instance.f2()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.