美文网首页
共读Python编程-类卡

共读Python编程-类卡

作者: 铺床高手 | 来源:发表于2019-06-19 00:41 被阅读0次

    创建和使用类

    创建类

    class Dog():
        def __init__(self, name, age):
            self.name = name
            self.age = age
    
        def sit(self):
            print(self.name.title() + " is now sitting.")
    
        def roll_over(self):
            print(self.name.title() + " rolled over")
    
    • 使用class关键字定义类

    • 类名后使用冒号结束

    • 方法init()
      init方法是类的构造函数,self为必不可少的,必须位于第一个形参.

    • 类中定义的其他方法
      传入self使方法可以使用类中的属性
      self必须存在因为调用时会默认传入self作为实参

    使用类

    my_dog = Dog("kim",2)
    
    • 访问属性
    my_dog .name
    
    • 调用方法
    my_dog.sit()
    

    类的使用

    给属性指定默认值

    class Car():
        def __init__(self, make, model, year):
            self.make = make
            self.model = model
            self.year = year
            self.odometer_reading = 0
    

    修改属性的值

    • 直接修改
    my_new_car.odometer_reading = 23
    
    • 通过方法修改属性的值
    def update_odometer(self, mileage):
            if mileage < self.odometer_reading:
                print("you can't roll back an odometer")
                return
            self.odometer_reading = mileage
    
    • 通过方法对属性的值进行递增
    def increament_odometer(self, mileage):
            if mileage < 0:
                print("you can't roll back an odometer")
                return
            self.odometer_reading += mileage
    

    继承

    格式

    class Car():
        ....
    
    
    class ElectricCar(Car):
        def __init__(self, make, model, year):
            super().__init__(make, model, year)
    
    
    • 定义子类时,指定父类名称
    • 子类要继承父类方法,属性 需要调用父类构造方法

    重写父类方法

    名称与父类方法相同即可

    将实例用做属性

    当类中细节越来越多的时候可以将类拆分.将同类的属性归并到一个新的类中.在源类中使用新创建类的实例

    class Car():
          --snip--
    
    class Battery():
        def __init__(self, battery_size=70):
              self.battery_size = battery_size
    
      class ElectricCar(Car):
          def __init__(self, make, model, year):
              super().__init__(make, model, year)
              self.battery = Battery()
    

    导入类

    导入单个类

    from car import Car
    

    从一个模块中导入多个类

    from car import Car, ElectricCar
    

    导入整个模块

    import car
    

    导入模块中的所有类(不推荐)

    from module_name import *
    

    Python标准库

    Python 标准库是一组模块

    • collections中的一个类-OrderedDict
    from collections import OrderedDict
    

    类编码风格

    • 类名使用驼峰命名法
    • 实例名和模块名使用小写,下划线连接
    • 都应紧跟在类定义后面包含一个文档字符串
    • 在类中,可使用一个空行来分隔方法;而在模块中,可使用两个空行来分隔类
    • 先编写导入标准库模块的import语句,再添加一个空行,导入自己编写的模块

    相关文章

      网友评论

          本文标题:共读Python编程-类卡

          本文链接:https://www.haomeiwen.com/subject/lvycqctx.html