• 自学Python5.3-类和对象的简单操作


    自学Python之路

    自学Python5.3-类和对象的简单操作

    1. 定义一个类 

    定义一个类的格式如下:

    class 类名:
        方法列表
    

     举例1 : 

    class Cat:    #定义一个Cat类
        #属性
        #方法
        def eat(self):
            print("猫在吃鱼....")
        def drink(self):
            print("猫正在喝kele.....")
    

     举例2:

    class Car:  # 定义一个Car类
        # 属性
        # 方法
        def getCarInfo(self):
            print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color))     # 稍后介绍
        def move(self):
            print("车正在移动...")
    

    说明:

    • 定义类时有2种:新式类和经典类,上面的Car为经典类,如果是Car(object)则为新式类
    • 类名 的命名规则按照"大驼峰"

    2. 创建对象

    类不会自动执行,于是需要创建对象。

    创建对象的格式为: 

      对象名 = 类()  

     举例1:

    class Cat:
        #属性
        #方法
        def eat(self):
            print("猫在吃鱼....")
        def drink(self):
            print("猫正在喝kele.....")
    #创建一个对象
    tom = Cat()
    

     举例2:

    class Car:  # 定义一个Car类
        # 属性
        # 方法
        def getCarInfo(self):
            print('车轮子个数:%d, 颜色%s'%(self.wheelNum, self.color))     # 稍后介绍
        def move(self):
            print("车正在移动...")
    #创建一个对象
    BWM = Car()
    

    3. 调用对象的方法

      举例1 :

    class Cat:
        #属性
        #方法
        def eat(self):
            print("猫在吃鱼....")
        def drink(self):
            print("猫正在喝kele.....")
    #创建一个对象
    tom = Cat()
    #调用tom指向的对象中的方法
    tom.eat()
    tom.drink()

    4. 获取对象添加属性

      举例1 :

    class Cat:
        #属性
        #方法
        def eat(self):
            print("猫在吃鱼....")
        def drink(self):
            print("猫正在喝kele.....")
    #创建一个对象
    tom = Cat()
    #调用tom指向的对象中的方法
    tom.eat()
    tom.drink()
    # 给tom指向的对象添加两个属性
    tom.name = “汤姆”
    tom.age = 40
    print("%的年龄是:%d"%(tom.name,tom.age))

      

    class Cat:
        #属性
        #方法
        def eat(self):
            print("猫在吃鱼....")
        def drink(self):
            print("猫正在喝kele.....")
        def introduce(self):
            print("%的年龄是:%d"%(tom.name,tom.age))
    #创建一个对象
    tom = Cat()
    #调用tom指向的对象中的方法
    tom.eat()
    tom.drink()
    # 给tom指向的对象添加两个属性
    tom.name = “汤姆”
    tom.age = 40
    #获取属性
    tom.introduce()
    

    5. 创建多个对象 

    class Cat:
        #属性
        #方法
        def eat(self):
            print("猫在吃鱼....")
        def drink(self):
            print("猫正在喝kele.....")
        def introduce(self):
            print("%的年龄是:%d"%(tom.name,tom.age))
    #创建一个对象
    tom = Cat()
    #调用tom指向的对象中的方法
    tom.eat()
    tom.drink()
    # 给tom指向的对象添加两个属性
    tom.name = “汤姆”
    tom.age = 40
    #获取属性
    tom.introduce()
    #创建另一个对象
    lanmao = Cat()
    #调用lanmao指向的对象中的方法
    lanmao.eat()
    lanmao.drink()
    # 给lanmao指向的对象添加两个属性
    lanmao.name = “蓝猫”
    lanmao.age = 12
    #获取属性
    tom.introduce()
    lanmao.introduce()  

      这样的结果肯定不对,那是因为lanmao.introduce()调用内存的时候对应的是print("%的年龄是:%d"%(tom.name,tom.age)) ,那么如何解决此问题???

    class Cat:
        #属性
        #方法
        def eat(self):
            print("猫在吃鱼....")
        def drink(self):
            print("猫正在喝kele.....")
        def introduce(self):
            print("%的年龄是:%d"%(self.name,self.age))
    #创建一个对象
    tom = Cat()
    #调用tom指向的对象中的方法
    tom.eat()
    tom.drink()
    # 给tom指向的对象添加两个属性
    tom.name = “汤姆”
    tom.age = 40
    #获取属性
    tom.introduce()
    #创建另一个对象
    lanmao = Cat()
    #调用lanmao指向的对象中的方法
    lanmao.eat()
    lanmao.drink()
    # 给lanmao指向的对象添加两个属性
    lanmao.name = “蓝猫”
    lanmao.age = 12
    #获取属性
    tom.introduce()
    lanmao.introduce()  
    

    self总结:

    • 所谓的self,可以理解为自己
    • self就相当于一个变量, 可以换成任何一个字符
    • 可以把self当做C++中类里面的this指针一样理解,就是对象自身的意思
    • 某个对象调用其方法时,python解释器会把这个对象作为第一个参数传递给self,所以开发者只需要传递后面的参数即可

    ......

  • 相关阅读:
    二分查找
    Uva11464 Even Parity
    Uva10881 Piotr's Ants
    POJ3154 Graveyard
    [NOIP2015] 提高组 洛谷P2680 运输计划
    [NOIP2015] 提高组 洛谷P2679 子串
    [NOIP2015] 提高组 洛谷P2678 跳石头
    [NOIP2015] 提高组 洛谷P2668 斗地主
    [NOIP2015] 提高组 洛谷P2661 信息传递
    [NOIP2015] 提高组 洛谷P2615 神奇的幻方
  • 原文地址:https://www.cnblogs.com/yaoyaojcy/p/9854607.html
Copyright © 2020-2023  润新知