Python学习之类

类的创建和使用

  • 创建类:
class Dog():
    """docstring for Dog"""

    def __init__(self, name, age):
        # 类似构造函数,self类似this
        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!')
  • 使用类——实例化:
# 使用
my_dog = Dog('willite', '3')
print("My dog's name is " + my_dog.name + ".It's " + str(my_dog.age) + " years old.")
# 调用方法
my_dog.sit()
my_dog.roll_over()

继承

  • 在定义子类时,在类名后的括号中写上父类的名字
  • 子类的__init__函数中需要先初始化父类的属性
  • 子类中可以增加新的属性和方法
  • 子类中也可以重写父类的方法
  • 一个类的实例也可以成为另一个类的属性
    (Python中有关类的用法总体上和 Java类似)
# 有关继承

# 父类
class Car():
    """docstring for 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('This car has' + str(self.odometer_reading) + 'miles on it.')

    def update_odometer(self, mileage):
        if mileage >= self.odometer_reading:
            self.odometer_reading = mileage
        else:
            print("You can't roll back an odometer!")

    def increment_odometer(self, miles):
        self.odometer_reading += miles

    def fill_gas_tank(self):
        print("The gas tank is filled!")


# 子类
class ElectricCar(Car):
    """docstring for ElectricCar"""

    def __init__(self, make, model, year):
        # 父类的属性
        super().__init__(make, model, year)
        # 子类的新属性
        self.battery_size = 70

    # 子类中新的方法
    def describe_battery(self):
        print("This car has a " + str(self.battery_size) + "-kwh battery.")

    # 重写父类的方法
    def fill_gas_tank(self):
        print("This car doesn't need a gas tank!")


# 使用
my_tesla = ElectricCar('tesla', 'model s', 2016)
print(my_tesla.get_descriptive_name())
my_tesla.describe_battery()
my_tesla.fill_gas_tank()

Python的模块化

  • 可以将某个或某几个相关联的类放置于同一个.py中以形成模块
  • 如果想使用其他模块中的类可以用import语句导入
  • 可以import某一个类或某几个类,也可以import整个模块或是import模块中的所有类
# 导入某些类
from 模块名 import 类名

#导入模块
import 模块名

# 导入模块中的所有类
from 模块名 import * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值