• python基础三——面向对象


    1.用dir命令可以查看一个对象的所有属性:

    s='How are you'   #s 被赋值后就是一个字符串类型的变量
    l=s.split()   #l是一个list类型的变量
    dir(s)
    dir(l)

    2.创建类

    class Myclass:
        pass               #pass语句表示一个空的代码块
    
    mc=Myclass()
    print mc

    输出结果:<__main__.Myclass instance at 0x01C5BEE0>

    表示mc是__main__模块中Myclass类来的一个实例(instance),后面的一串16进制数据表示该对象的内存地址。

    class Myclass:
        name='Sam'
        def sayHi(self):
            print 'Hello %s' %self.name
    
    mc=Myclass()
    print mc.name
    mc.name='Lily'
    mc.sayHi()

    python类中定义的函数一定要有self,self表示当前实例。

    3.类的继承

    class Vehicle:
        def __init__(self,speed):
            self.speed=speed
        def drive(self,distance):
            print 'need %f hours' %(distance/self.speed)
    
    class Bike(Vehicle):
        pass
    
    class Car(Vehicle):
        def __init__(self,speed,fuel):               #重载__init__函数
            Vehicle.__init__(self,speed)
            self.fuel=fuel
        def drive(self,distance):                 
            print 'need %f fuels' %(distance*self.fuel)
    
    b=Bike(15.0)
    c=Car(80.0,0.012)
    b.drive(100.0)
    c.drive(100.0) 

    函数会在类被创建的时候自动调用,用来初始化类。它的参数,要在创建类的时候提供。于是我们通过提供一个数值来初始化speed的值。

    Car类中,我们又重新定义了__init__和drive函数,这样会覆盖掉它继承自Vehicle的同名函数。但我们依然可以通过“Vehicle.函数名”来调用它的超类方法。

    以此来获得它作为Vehicle所具有的功能。注意,因为是通过类名调用方法,而不是像之前一样通过对象来调用,所以这里必须提供self的参数值。

  • 相关阅读:
    2019-2020-1 20191312《信息安全专业导论》第十二周学习总结
    GPG
    2019-2020-1 20191312《信息安全专业导论》第十一周学习总结
    wireshark
    ssh
    Nmap
    2019-2020-1 《python程序设计》20192428魏来 综合实践报告
    20192428 魏来 2019-2020《Python程序设计》 实验三 报告
    20192428 实验二《Python程序设计》实验报告
    20192428 实验一《Python程序设计》实验报告
  • 原文地址:https://www.cnblogs.com/wy1290939507/p/4747350.html
Copyright © 2020-2023  润新知