如果函数在 Class 下运行,如何在函数中调用变量
How to call a variable within a function if it runs under a Class
如何在函数中调用变量:
什么是正确的方法:
示例代码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time
timeStamp = time.strftime("%Y%m%d%H%M%S") # <-- Is this right Approach
class Scanner:
INFO = 0
DEBUG = 3
timeStamp = time.strftime("%Y%m%d%H%M%S") # <-- ?
def __init__(self, config_file, verbose=False):
""" Constructor """
def ask_passwords(self):
def ldap_init(self):
def hosts_module_scanner(self):
def users_module_scanner(self):
def ldap_reporting(self, user_list):
self.write_report(failed_users, "users_ldap_report-{}.txt".format(timeStamp))
def option_parser(prog_version):
if __name__ == '__main__':
scanner.ask_passwords()
scanner.ldap_init()
scanner.hosts_module_scanner()
scanner.users_module_scanner()
注意:在上面的示例中,如果我在 class
.
下定义它不起作用
您可以使用语法在 class 中调用变量:
self.variable_name = # 无论你分配给变量什么。
至于 class 中的位置,您最好的选择是在 def init_() 位中。
编辑:
作为更详细的答案。您将在 init 方法中定义变量,如下所示。在 class 中使用 self.variable,但在方法之外(class 函数)将抛出“self is not defined”错误。
class Scanner:
def __init__(self, config_file, verbose=False):
""" Constructor """
self.INFO = 0
self.DEBUG = 3
self.timeStamp = time.strftime("%Y%m%d%H%M%S")
#declare rest of variables here
#other class methods go here
如何在函数中调用变量:
什么是正确的方法:
示例代码:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time
timeStamp = time.strftime("%Y%m%d%H%M%S") # <-- Is this right Approach
class Scanner:
INFO = 0
DEBUG = 3
timeStamp = time.strftime("%Y%m%d%H%M%S") # <-- ?
def __init__(self, config_file, verbose=False):
""" Constructor """
def ask_passwords(self):
def ldap_init(self):
def hosts_module_scanner(self):
def users_module_scanner(self):
def ldap_reporting(self, user_list):
self.write_report(failed_users, "users_ldap_report-{}.txt".format(timeStamp))
def option_parser(prog_version):
if __name__ == '__main__':
scanner.ask_passwords()
scanner.ldap_init()
scanner.hosts_module_scanner()
scanner.users_module_scanner()
注意:在上面的示例中,如果我在 class
.
您可以使用语法在 class 中调用变量: self.variable_name = # 无论你分配给变量什么。
至于 class 中的位置,您最好的选择是在 def init_() 位中。
编辑: 作为更详细的答案。您将在 init 方法中定义变量,如下所示。在 class 中使用 self.variable,但在方法之外(class 函数)将抛出“self is not defined”错误。
class Scanner:
def __init__(self, config_file, verbose=False):
""" Constructor """
self.INFO = 0
self.DEBUG = 3
self.timeStamp = time.strftime("%Y%m%d%H%M%S")
#declare rest of variables here
#other class methods go here