python语法-类

作者: 权艳霞 | 来源:发表于2017-11-07 15:57 被阅读19次

    一、创建和使用类
    1.创建类:

    class Dog():
        """一次模拟小狗的简单尝试"""
    
        def __init__(self, name,age):
            """初始化属性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!")
    

    2.init(self, name,age)类:

    def __init__(self, name,age):
    

    self是指向对象的引用,name和age为属性。
    3.使用类,调用方法,调用属性:

    my_dog = Dog('willie',6)
    
    my_dog.sit()
    
    my_dog.name.title()
    

    二、
    1.使用类和属性,给类默认属性:

    class Car():
        """一次模拟汽车的简单尝试"""
    
        def __init__(self, make,model,year):
            """初始化描述汽车的属性"""
            self.make = make
            self.model = model
            self.year = year
            self.odometer_reading = 0
    
        def get_descriptive_name(self):
            """返回整洁的描述性信息"""
            long_name = str(self.year) + ' ' + self.make + ' ' + self.model
            return long_name.title()
    
        def read_odometer(self):
            """打印一条指出汽车里程的消息"""
            print(self.make+" ,odometer is "+str(self.odometer_reading)+" miles.")
    
    my_new_car = Car('audi','a4',2016)
    print(my_new_car.get_descriptive_name())
    my_new_car.read_odometer()
    

    2.修改属性的值:
    1)直接修改属性的值:

    my_new_car.odometer_reading = 234
    

    2)通过方法修改属性的值:

        def update_odometer(self,mileage):
            """将里程表读数设置为指定的值"""
            if mileage >= self.odometer_reading:
               self.odometer_reading = mileage
            else:
                print("You can't roll back an odometer!")
    

    3)通过方法对属性的值进行递增:

        def increment_odometer(self,miles):
            """将里程表读数增加指定的量"""
            self.odometer_reading += miles
    

    三、继承
    1.子类的继承:

    class ElectricCar(Car):
        """电动汽车的独特之处"""
    
        def __init__(self, make,model,year):
            """初始化父类的属性"""
            super().__init__(make,model,year)
    

    2.给子类定义方法和属性:

            super().__init__(make,model,year)
            self.battery_size = 70
    
        def describe_battery(self):
            """打印一条描述点评容量的消息"""
            print("This car has a " + str(self.battery_size) + "-kWh battery.")
    

    3.重写父类的方法:
    4.将实例用作属性:

    my_tesla.battery.describe_battery()
    

    四、导入类:
    1,导入单个类:

    from cars import Car
    

    2,在一个模块中存储多个类
    3,从一个模块中导入多个类

    from car import Car,ElectricCar
    

    4,导入整个模块

    import car
    

    5.导入模块中的所有类

    from car import *
    

    6.在一个模块中导入另一个模块
    五、python标准库中OrderedDict能够记录字典添加键-值的顺序。


    类编码风格.png

    相关文章

      网友评论

        本文标题:python语法-类

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