第十一章:类

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,242评论 19 139
  • 类和结构体的通用、灵活特性可以成为程序代码的基石。我们可以通过对常量、变量和函数精确的使用相同的语法来定义属性和方...
    杨雪丹阅读 415评论 0 1
  • Java io的接口经过了多次迭代,现在主要分为三部分,即java IO (since JDK1.0),java ...
    joyhj阅读 1,129评论 0 2
  • 这一周感觉过得好快,光怪陆离的就过完了!总体的回顾就是这么几句话: 开会开庭不开心紧赶慢赶平常心咨询教练助人心确定...
    小小山药阅读 212评论 0 0
  • 我久久地站在六楼高高的玻璃窗前遥望远方。 天空中飞鸟成阵,细密地斜织着一个夏天离去之后的落寞与空寂,与一个新的秋...
    chlenug阅读 907评论 0 0