python 中声明方法 ( & self) 的问题
Issues with declaration method ( & self) in python
在尝试使用 类 和方法以及如何在它们之间传递变量时,我编写了几个脚本来尝试理解其机制。
在这样做的过程中,我遇到了一个问题,即我的一个函数未定义:
NameError: name 'exclaim' is not defined
我认为使用 self 可能会解决问题,但我只是循环进入
NameError: name 'self' is not defined
我发现了几个与此相关的资源,这让我查看了方法的缩进级别,并通过 HelloWorld.exclaim() 调用
这遇到了同样的问题。
请看我的代码:(script1)
import datasource
class HelloWorld:
def exclaim():
number1 = input("enter a number")
datasource.Class2.method3.impvariable1 = number1
def main():
HelloWorld.exclaim()
print(datasource.Class1.method1.variable1)
print(datasource.Class2.method2.variable2)
print(datasource.Class2.method3.variable3)
if __name__ == '__main__':
main()
脚本 2:
#datasource.py
class Class1:
def method1():
variable1 = "Hello "
class Class2:
def method2():
variable2 = "World"
def method3():
impvariable1 = 0
variable3 = "!"
for x in range(impvariable1):
variable3 = variable3 + "!"
我也尝试了(其他迭代次数为 100 次)
#datahandler.py
import datasource
class HelloWorld:
def exclaim(self):
number1 = input("enter a number")
datasource.Class2.method3.impvariable1 = number1
def main(self):
HelloWorld.exclaim(self)
print(datasource.Class1.method1.variable1)
print(datasource.Class2.method2.variable2)
print(datasource.Class2.method3.variable3)
if __name__ == '__main__':
main(self)
产生;
NameError: name 'self' is not defined
import datasource
class HelloWorld:
def exclaim(self):
number1 = input("enter a number")
datasource.Class2.method3.impvariable1 = number1
def main():
obj = HelloWorld()
obj.exclaim()
print(datasource.Class1.method1.variable1)
print(datasource.Class2.method2.variable2)
print(datasource.Class2.method3.variable3)
if __name__ == '__main__':
main()
在尝试使用 类 和方法以及如何在它们之间传递变量时,我编写了几个脚本来尝试理解其机制。 在这样做的过程中,我遇到了一个问题,即我的一个函数未定义:
NameError: name 'exclaim' is not defined
我认为使用 self 可能会解决问题,但我只是循环进入
NameError: name 'self' is not defined
我发现了几个与此相关的资源,这让我查看了方法的缩进级别,并通过 HelloWorld.exclaim() 调用 这遇到了同样的问题。
请看我的代码:(script1)
import datasource
class HelloWorld:
def exclaim():
number1 = input("enter a number")
datasource.Class2.method3.impvariable1 = number1
def main():
HelloWorld.exclaim()
print(datasource.Class1.method1.variable1)
print(datasource.Class2.method2.variable2)
print(datasource.Class2.method3.variable3)
if __name__ == '__main__':
main()
脚本 2:
#datasource.py
class Class1:
def method1():
variable1 = "Hello "
class Class2:
def method2():
variable2 = "World"
def method3():
impvariable1 = 0
variable3 = "!"
for x in range(impvariable1):
variable3 = variable3 + "!"
我也尝试了(其他迭代次数为 100 次)
#datahandler.py
import datasource
class HelloWorld:
def exclaim(self):
number1 = input("enter a number")
datasource.Class2.method3.impvariable1 = number1
def main(self):
HelloWorld.exclaim(self)
print(datasource.Class1.method1.variable1)
print(datasource.Class2.method2.variable2)
print(datasource.Class2.method3.variable3)
if __name__ == '__main__':
main(self)
产生;
NameError: name 'self' is not defined
import datasource
class HelloWorld:
def exclaim(self):
number1 = input("enter a number")
datasource.Class2.method3.impvariable1 = number1
def main():
obj = HelloWorld()
obj.exclaim()
print(datasource.Class1.method1.variable1)
print(datasource.Class2.method2.variable2)
print(datasource.Class2.method3.variable3)
if __name__ == '__main__':
main()