我来自Java
背景,我在Python
中是全新的。
我尝试创建一个简单的类程序。问题是我无法在方法中显示。
代码:
class Employee(object):
def __init__(self, x, y):
self.x=x
self.y=y
def display():
print("x: ", x)
print("y: ", y)
#Here, I'm creating an objects..
myObj=Employee("print 1", "print 2")
myObj.display()
请帮助..为什么我无法显示? 这段代码有问题吗?我试图创建自己的代码。
谢谢!
答案 0 :(得分:4)
你有缩进问题。这将解决它。
class Employee(object):
def __init__(self, x, y):
self.x=x
self.y=y
def display(self): # Have to include the `self` argument.
print("x: ", self.x)
print("y: ", self.y)
# Here, I'm creating an objects..
myObj=Employee("print 1", "print 2")
myObj.display()
我不熟悉Java,但如果它与大多数其他语言一样,那么空格不会像Python那样对待。在这里,你真的必须小心注意缩进级别你正在定义一个函数或一个类。
在您的示例中,您基本上在Employee的display
方法中定义了__init__
方法。事实上,这将是一个非常奇怪的程序设计选择。很可能你并不是这个意思! ;)
编辑:正如评论中提到的那样,总是有一个隐式self
参数作为实例方法的第一个参数传递。此参数名称不是硬编码的。它可以重写为this
,但这是一个非常强大的惯例。打破它将是毫无意义的,通常不推荐。但是,了解Python允许您更改它可让您深入了解系统如何工作而不是其他语言