类的构建

 

1.使用class保留字定义类

         class <类名> :

                 [类描述 "documention string" ]

                 <语句块>

     (1) 类名:标识符/大写单词组合

  (2)类描述:定义后通过 <类名>._doc_属性来访问

class Democlass:
    "this is a demo for python class"
    pass
print (Democlass.__doc__)


运行结果:this is a demo for python class

2.类对象:class Object

         '类定义完成后,默认生成一个类对象

         每个类唯一对应一个类对象,用于存储这个类的基本信息

         类对象是type类的实例,表达为type类型

 

class Democlass:
    "this is a demo for python class"
    print("hello Demo class")
print(Democlass.__doc__)
print(type(Democlass))
  

运行结果:hello Demo class
              this is a demo for python class
              <class 'type'>

类对象内直接包含的语句会被执行   print("hello Demo class")  ,因此,一般不在类定义中直接包含语句

3.类的使用方法:实例对象

 通过创建实例对象(Instance Object)使用类的功能

         <对象名> = <类名>([参数])

采用<对象名> . <属性名>和<对象名>. <方法名>()体现类的功能

class Democlass:
    "this is a demo for python class"
    print("hello Demo class")
print(Democlass.__doc__)
print(type(Democlass))
cn = Democlass()
print(type(cn))

运行结果:hello Demo class
this is a demo for python class
<class 'type'>
<class '__main__.Democlass'>

4.类的构造函数

  •  类的构造函数用于从类创建实例对象的过程
  • 类的构造函数为实例对象提供了参数输入方式
  • 类的构造函数为实例属性的定义和赋值提供了支持
  • 构造函数无返回值,否则发生异常
  •  python使用预定义的 def _init _()作为构造函数
  •         class <类名>:

                     def_init_(self , <参数列表>)

    class Democlass:
        def __init__(self, name):
            print(name)
    dc1 = Democlass("老王")
    dc2 = Democlass("老李")
    
    执行结果:老王
            老李

5.类的属性(变量)

   类属性:类对象的属性,由所有实例对象共享,

   实例属性:实例对象的属性,由各实力对象所独享

           class <类名>:

                   <类属性名> = <初值>

                   def _init _(self , <参数列表>)

                              self. <实例属性名> = < 初值>

class Democlass:
    count = 0
    def __init__(self,name, age):
        self.name = name
        self.age = age
        Democlass.count+=1             #类属性:使用类名.属性名访问
dc1 = Democlass("老王",45) #实例属性:在类内部,使用self . 属性名 dc2 = Democlass("老李",51) 在类外部,使用对象名 . 属性名 print("总数", Democlass.count) print(dc1.name,dc2.name) 运行结果:总数 2 老王 老李

 

posted @ 2020-03-29 19:12  小小鱼鱼儿  阅读(101)  评论(0)    收藏  举报