复制代码:
class Complex: #定义一个类
def __init__(self, a, b): #构建函数,类似Java构造函数
self.a = a
self.b = b
print self.a#输出:a
print self.b#输出:b
print self #输出:<__main__.Complex instance at 0x00000000021B8B48>
#说明self就是一个对象
def say(self, name):
return "I am say()%s" % name
c = Complex(2.0, "张三")
print c.a # 输出:2.0
print c.b # 输出:张三
print c.say("jeff")
输出:
2.0
张三
<__main__.Complex instance at 0x0000000002265BC8>
2.0
张三
I am say()jeff
return "I am say()%s" % name改成:print "I am say()%s" % name
输出:
2.0
张三
<__main__.Complex instance at 0x00000000021D5BC8>
2.0
张三
I am say()jeff
None
分析程序:
每一个类在创建类实例后:c = Complex(2.0, "张三"),都会调用构建函数__init__。如果类中没有定义__init__函数,则有一个默认的__init__()函数,如果定义了__init__(self,参数1,参数2……),那么就调用定义的构建函数来。
self其实一个对象,是类自身的引用对象,它可以在构建函数中定义出类的成员属性出来。它和Java中的this关键字非常相似。
可以在类中使用"""三引号符号来写文档说明,例如:
def say(self, name):
"""这是say函数"""
print "I am say()%s" % name
# return "I am say()%s" % name
文档说明位于那个方法的下面或者类的声明的下面第一行,那么就属于那个方法或者类的文档说明。