我想学习在Python中使用类,并编写了这个测试程序。 它在一定程度上基于我在另一个问题中找到的代码,我在这里找到 Stack OverFlow。Python面向对象编程练习
的代码如下:
class Student(object):
name = ""
age = 0
major = ""
# The class "constructor" - It's actually an initializer
def __init__(self, name, age, major):
self.name = name
self.age = age
self.major = major
def list_values():
print "Name: ", self.name
print "Age: ", self.age
print "Major: ", self.major
def make_student(name, age, major):
student = Student(name, age, major)
return student
print "A list of students."
Steve = make_student("Steven Schultz",23,"English")
Johnny = make_student("Jonathan Rosenberg",24,"Biology")
Penny = make_student("Penelope Meramveliotakis",21,"Physics")
Steve.list_values()
Johnny.list_values()
Penny.list_values()
当我运行此,得到错误 “类型错误:list_values()不带任何参数(1给出)”。 在我oppinion我没有给任何参数,但是我去掉括号,给 代码
Steve.list_values
Johnny.list_values
Penny.list_values
这使得没有任何错误,但不会做任何事情 - 没有东西打印出来。
我的问题:
- 什么是与括号内的交易?
- 与打印报表有什么关系?
这是什么意思?它有任何实际用途吗? – user2536262
假设你的意思是'self'变量 - ebarr给出了一个指向Guido(启动python的人)的链接。检查出来:http://neopythonic.blogspot.com.au/2008/10/why-explicit-self-has-to-stay.html – WeaselFox
这是interresting,但实际上我的意思是另一件事,我只是提到没有执行它们的函数名称?这似乎非常奇怪。 – user2536262