第十一章:类

python类定义格式:

class ClassName:

       ...类属性定义

       ...类方法定义

下面是个简单的例子,类方法中必须有"self"参数,表示方法是类实例的方法。

class MyClass:

       i = 12

      def f(self):

             return "hello"

self不是关键字,只是表示第一个参数,换成别的名称也是可以的(通常还是书写为self程序可读性更好):

class MyClass:

       i = 12

      def f(jianshu):

             return "hello"

形如__init__(self, param1,...)的方法是构造方法,除了self外可以有0到多个参数。构造方法如下所示:

class People:

       name =''

       age =0

       __weight =0

      def __init__(self, name, age, weight):

             self.name = name

             self.age = age

             self.__weight = weight

      def speak(self):

             print("{0} say: I'm {1} year old, and I {2} weight".format(self.name, self.age, self.__weight))

__weight是私有属性,类外部无法直接访问。

p = People("jianshu", 10, 120)

p.speak()

print(p.age)

print(p.name)

print(p.__weight)//错误

python私有方法也是类似定义:

def __myMethod(self):

       ......

声明静态方法:

class MyClass:

       @staticmethod

        def static_method(arg1, arg2,...):

               pass

参数可以为空

析构函数

def __del__(self):

       pass

你可能感兴趣的:(第十一章:类)