python中如何定义类

来源:互联网 发布:js点击小图查看大图 编辑:程序博客网 时间:2024/06/04 19:55
定义类

class Person,这是在声明创建一个名为"Person"的类。类的名称一般用大写字母开头,这是惯例。如果名称是两个单词,那么两个单词的首字母都要大写,例如class HotPerson,这种命名方法有一个形象的名字,叫做“驼峰式命名”。当然,如果故意不遵循此惯例,也未尝不可,但是,会给别人阅读乃至于自己以后阅读带来麻烦,不要忘记“代码通常是给人看的,只是偶尔让机器执行”。既然大家都是靠右走的,你就别非要在路中间睡觉了。

接下来,分别以缩进表示的,就是这个类的内容了。其实那些东西看起来并不陌生,你一眼就认出它们了——就是已经学习过的函数。没错,它们就是函数。不过,很多程序员喜欢把类里面的函数叫做“方法”。是的,就是上节中说到的对象的“方法”。我也看到有人撰文专门分析了“方法”和“函数”的区别。但是,我倒是认为这不重要,重要的是类的中所谓“方法”和前面的函数,在数学角度看,丝毫没有区别。所以,你尽可以称之为函数。当然,听到有人说方法,也不要诧异和糊涂。它们本质是一样的。

需要再次提醒,函数的命名方法是以def发起,并且函数名称首字母不要用大写,可以使用aa_bb的样式,也可以使用aaBb的样式,一切看你的习惯了。



#!/usr/bin/env python# coding=utf-8__metaclass__ = typeclass Person:    def __init__(self, name):        self.name = name    def getName(self):        return self.name    def color(self, color):        print "%s is %s" % (self.name, color)

不过,要注意的是,类中的函数(方法)的参数跟以往的参数样式有区别,那就是每个函数必须包括self参数,并且作为默认的第一个参数。这是需要注意的地方。至于它的用途,继续学习即可知道。

初始化

def __init__,这个函数是一个比较特殊的,并且有一个名字,叫做初始化函数(注意,很多教材和资料中,把它叫做构造函数,这种说法貌似没有错误,但是一来从字面意义上看,它对应的含义是初始化,二来在python中它的作用和其它语言比如java中的构造函数还不完全一样,因为还有一个__new__的函数,是真正地构造。所以,在本教程中,我称之为初始化函数)。它是以两个下划线开始,然后是init,最后以两个下划线结束。


0 0
原创粉丝点击