Python 类的声明及使用

Python里面的类和C语言里面的比较类似,也需要有构造函数等一些东西,下面先给出完整的类声明,再逐步讲解里面每句话的含义。

1
2
3
4
5
6
7
8
9
10
class Human:
name = ""
def __init__(self, _name):
self.name = _name

def sayHello(self, _name):
print ("%s say hello to %s" % (_name, self.name))

jack = Human("jack")
jack.sayHello("tom")

首先我们从第一行代码,开始说起:

  1. class Human:就是定义类Human,后面需要加:
  2. name = ""声明了一个实例变量,就是这个人的名字
  3. def __init__(self, _name):这句话每个类都需要有,相当于C语言中的构造函数,Python里面每个非静态函数都需要把self作为第一个参数传递给函数,这里除了self还有_name,就是初始化的时候给人类赋予初始名字
  4. def sayHello(self, _name):是一个普通函数

关于声明类和调用类方法

  1. 声明使用jack = Human("jack"),它相当于调用了__init__函数,注意这里self虽然是参数,但是不用传递
  2. 调用类里面的方法,用实例变量的名称点方法的方式,例如jack.sayHello("tom")

注意点

总结下需要注意的地方吧

  1. 类的声明不需要用def关键字
  2. 对于新手还是需要注意缩进,啄木鸟社区提倡使用空格
  3. 定义函数和类的语句之后有一个:,新手也老是忘记
  4. 类里面的所有实例函数都需要传递一个self作为参数,才能使用实例里面的变量
  5. Python3 里面print已经变成一个方法了,如果你发现你之前写的东西有错误,不要灰心,检查下是不是这个原因,Python3 里面的写法是print("hello")

最后

以动手实践为荣 , 以只看不练为耻;

以打印日志为荣 , 以单步跟踪为耻;

以空格缩进为荣 , 以制表缩进为耻;

以单元测试为荣 , 以人工测试为耻;

以模块复用为荣 , 以复制粘贴为耻;

以多态应用为荣 , 以分支判断为耻;

以Pythonic为荣 , 以冗余拖沓为耻;

以总结分享为荣 , 以跪求其解为耻;

引自啄木鸟社区