回答你的问题 -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
-新样式类也应该总是继承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)
通过覆盖 classes方法可以自动完成创建某些内容。__init__()
例如:
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