我有 3 个 python 脚本,分别是
script1.py
script2.py
script3.py
我已经在 script1 中导入了 script2
和 script3
类。
当我执行时,我只运行
script1
,它将根据需要调用script2
中的函数。
但是在
script2.py
中我有一个类,在类中我有一个变量y_path
,它被设置为与另一个字符串变量连接的string
,如下所示
class LAUtils(BBCAPIInfra):
y_path = "/foo/bar/abc/__dname__/pfile.yml".replace("__dname__",str(dname))
dname
的值是使用script1
中的方法获得的
我的问题是如何在
dname
中的类初始化期间更新变量 script2
的值,例如,如果 dname
值为 MCSX
,我希望变量 y_path
将其设置为 /foo/bar/abc/MCSX/pfile.yml
已经在类初始化期间。
你应该使用构造函数
class LAUtils(BBCAPIInfra):
def __init__(dname)
self.y_path = "/foo/bar/abc/__dname__/pfile.yml".replace("__dname__",str(dname))
现在您可以这样使用它:
la_utils = LAUtils(dname)
print(la_utils.ypath)
在 Python 中,您可以在类初始化期间(即在构造函数中)使用变量,方法是将其定义为 init 方法中的参数。当您创建类的实例时,您可以传递该参数的值,它将在初始化过程中使用。
这是一个如何在类初始化期间使用变量的简单示例:
class MyClass:
def __init__(self, my_variable):
self.my_variable = my_variable
def some_method(self):
print("Value of my_variable:", self.my_variable)
# Create an instance of the class and pass a value for my_variable
instance = MyClass("Hello, World!")
# Call the method that uses the initialized variable
instance.some_method()
输出:
Value of my_variable: Hello, World!
在上面的示例中,init方法采用参数my_variable,实例创建期间传递的值(MyClass("Hello, World!"))被分配给类属性self。我的变量。稍后,我们调用 some_method 来访问并打印 self.my_variable 的值。
您可以在init方法中使用多个变量来根据需要初始化类的不同属性。每次创建类的新实例时,您可以为这些变量传递不同的值以自定义每个实例的行为。