要回答你的问题 - return
不不打印任何东西,却是稍显混乱,因为交互式Python提示确实打印出的最后一条语句如价值:
Python 2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+1
2
但如果你创建一个内容为1+1
的文件,并将其作为python脚本运行,不会打印任何内容。
既然你说你是一个新手,我会给你几个关于如何改进你的代码的指针。
class className:
def createName(self, name):
self.name = name
def displayName(self):
return self.name
def saying(self):
print("Hello %s" % self.name)
className
有冗余,您应该重命名你的类只是Name
- 也new style类应该始终继承object
,让我们改变你定义了一下:
class Name(object):
def createName(self, name):
self.name = name
def displayName(self):
return self.name
def saying(self):
print("Hello %s" % self.name)
创建采取某些措施通过重写__init__()
类的方法自动。 e.g:
class Name(object):
def __init__(self, name):
self.name = name
def displayName(self):
return self.name
def saying(self):
print("Hello %s" % self.name)
这种方式,您已经可以初始化你的名字的时候实例类,例如
first = Name("Jack")
其次,display
是通过覆盖方法__repr__
例如惯用处理
class Name(object):
def __init__(self, name):
self.name = name
def __repr__(self):
return self.name
def saying(self):
print("Hello %s" % self.name)
这种方式,你只需要做两件事情:
>>> n = Name("Jack")
>>> print n
Jack
它看起来像您所呼叫first.displayName(),它简单地返回名称的代码看简单。如果你想打印一些你需要调用的东西:first.saying()或print(“Hello%s”%first.displayName()) – Roger 2012-08-09 03:45:33
我明白了,但不是返回应该返回自我的任何东西。名称? – Hyzenthlay 2012-08-09 04:14:45
是的,但你没有在任何地方打印出来吗?你只是回来了。 – Roger 2012-08-09 04:18:16