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