Python--day7--面向对象编程进阶

介绍

学习记录。。。。

目录:

  1. 面向对象高级语法部分

  • 字段

  • 方法

  • 属性

经典类 新式类类的特殊成员反射

  • 字段


    • 普通字段

    • 静态字段

  • 方法


    • 普通方法

    • 类方法

    • 静态方法

  • 属性


    • 普通属性

    • 私有属性

字段

普通字段    属于对象, 实例变量,存在每个实例里面,进行实例的时候,开辟一个实例对象,

静态字段    属于类,类变量, 内存中存在类里面,没实例化,也存在。

方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class  Animal:
     def  __init__( self ,name):
         self .name = name
     hobbie  =  'meat'
     @ classmethod  ##类方法,不能访问实例变量
     def  talk( self ):
         print ( "{}  is   talking" . format ( self .hobbie))
     @ staticmethod   ##静态方法,不能访问类变量 和实例变量,大多情况不用,类的工具箱
     def  walk():
         print ( " is   talking" )
     @ property    ##属性,下面就不是方法了,变成了一个属性,但是依然可以访问实例和类变量
     def   habit( self ):
         print ( "{}  habit  is  xxoo" . format ( self .name))
=  Animal( "Hequan" )
Animal.talk()
d.talk()
d.walk()
d.habit
meat   is    talking
meat   is    talking
  is    talking
Hequan  habit   is   xxoo


私有属性 __

self.__num=num


经典类: 深度有限

新式类:广度优先


类的特殊成员

  1. __doc__         打印注释

  2. __module__   表示当前操作的对象在那个模块

  3. __class__       表示当前操作的对象的类是什么

  4. __init__          构造方法,通过类创建对象时,自动触发执行

  5. __del__          析构方法,当对象在内存中被释放时,自动触发执行。执行完成后,统一销毁。

  6. __call__          对象后面加括号,触发执行 

  7. __dict__         查看类或对象中的所有成员、

  8. __new__ \ __metaclass__    类的生成 调用 顺序依次是 __new__ --> __call__ --> __init__


反射

通过字符串映射或修改程序运行时的状态、属性、方法

  1. hasattr

  2. getattr

  3. setattr

  4. delattr

if __name__=="__main__":

    server = WebServer('localhost',3306)

    if   hasattr(server,sys.argv[1]):              

        func = getattr(server,sys.argv[1])     ##获取执行后面加的值  如 start

        func()










本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1886936,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值