![](/img/trans.png)
[英]Python: a way to avoid <<print “variable_name =”, variable_name>>?
[英]self.variable_name vs variable_name in method inside python class
两个版本的代码都可以工作。 我试图了解 self.data_as_csv 与 data_as_csv 之间的区别。
在哪种情况下,它们中的每一个都比另一个有用。
版本 1:
import pandas as pd
class test_class:
def __init__(self, inputFile):
self.file = inputFile
def generate_csv(self):
self.data_as_csv = pd.read_csv(self.file)
return self.data_as_csv
x = test_class("out.csv")
df = x.generate_csv()
print(df)
版本 2:
import pandas as pd
class test_class:
def __init__(self, inputFile):
self.file = inputFile
def generate_csv(self):
data_as_csv = pd.read_csv(self.file)
return data_as_csv
x = test_class("out.csv")
df = x.generate_csv()
print(df)
使用 as self,您可以像这样访问变量,因此如果您需要访问 class 中的数据,在这种情况下会很有用:
x.data_as_csv
Out[1456]:
Empty DataFrame
Columns: [P234, Dog, Billy, No, No.1, D32432432, Lost, 01/09/2018, 28/08/2019, return to owner, 123 Fake Drive, LS34 1LE]
Index: []
使用self.
将允许您从 class 的任何方法访问此变量,这意味着您可以让您的“全局”变量仅在当前 class 中可用,并且仅适用于当前实例
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.