python 类

本文案例来自python编程,从入门到实践

创建和使用类

Dog类

class Dog():
    def __init__(self,name,age):  //定义形参 方便传值
        self.name = name
        self.age = age

    def sit(self):
        print(self.name.title())

    def roll_over(self):
        print(self.name.title()+ "rolled over!")

my_dog = Dog('Lily',6)
my_dog.sit()
my_dog.roll_over()

根据类创建实例

访问属性并调用方法

my_dog = Dog('Lily',6)
print(my_dog.name.title())
my_dog.sit()
my_dog.roll_over()

输出台内容


image.png

创建多个实例

my_dog1 = Dog('andy',3)
my_dog2 = Dog('awndy',4)

使用类和实例

Car类

class Car():
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.milliage = 0 // 初始化定义值

    def getinfo(self):
        long_name = str(self.year)+''+self.make+'' +self.model
        return long_name.title()
    
mynewcar = Car('audi',a4,2016)
print(mynewcar.getinfo())

修改属性值

直接修改

mynewcar.year = 6
print(mynewcar.getinfo())

通过方法修改

class Car():
    #省略····
    def updateinfo(self,newmilliage):
        self.milliage = newmilliage
        
    
mynewcar = Car('audi',a4,2016)
mynewcar.updateinfo(100)
print(mynewcar.milliage)

继承

Ecar继承了car

class Ecar(Car):
    def __init__(self,make,model,year):
        super().__init__(make,model,year)

mytesla = Ecar('tesla','model 3',2019)
print(mytesla.getinfo())

给子类定义属性和方法

class Ecar(Car):
    def __init__(self,make,model,year):
        super().__init__(make,model,year)
        self.battery=70
    def getbattery(self):
        print('this car is' + str(self.battery) + 'battery')

mytesla = Ecar('tesla','model 3',2019)
print(mytesla.getinfo())
mytesla.getbattery()

重写父类方法

class Car():
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.milliage = 0 # 初始化定义值
    def gas(self):
        print("use gas")


class Ecar(Car):
    def __init__(self,make,model,year):
        super().__init__(make,model,year)
        self.battery=70
    def gas(self):  #重写父类方法
        print("use Electric")

将实例作属性
比如把电车的电瓶作为属性

class Car2():
  #此处省略

class Battery():
    def __init__(self,battery_size=70):
        self.battery_size = battery_size
    def describe_battery(self):
        print("Battery Size is "+str(self.battery_size)+'kwh')

class Ecar2(Car2):
    def __init__(self,make,model,year):
        super().__init__(make,model,year)
        self.battery = Battery()

myEcar2 = Ecar2('tsl2','model3',2020)
myEcar2.battery.describe_battery()

从文件中导入类

car.py

from car imprort Car

一个模块中存储多个类

car.py

class Car:

class Battery:

class Ecar(Car):

从一个文件中导入多个类

from car imprort Car,Ecar

导入整个模块

import car 
mycar = car.Car('volvo','eastwind',2016)
mytesla = car.Ecar('tesla','model 3',2019)

导入模块中的所有类

from modulename import *
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.创建和使用类 1.1创建Dog类 根据Dog 类创建的每个实例都将存储名字和年龄。我们赋予了每条小狗蹲下(si...
    尔玉RGX阅读 191评论 0 1
  • 面向对象编程是最有效的软件编写方法之一。 在面向对象编程中, 你编写表示现实世界中的事物和情景的类,并基于这些类来...
    yushui1995阅读 756评论 0 0
  • 知识点 类的名字要首字母大写。 类由属性和方法组成。 类里的函数称为方法。 可以用一个类创造多个实例,只要实例名不...
    陶不渊阅读 730评论 0 1
  • 原文作者:Jeff Knupp原文链接:这里 class 是Python的基础构建快。它是很多流行的程序和库,以及...
    lakerszhy阅读 2,191评论 0 5
  • 编程思想 1.面向过程编程 --- 遇到问题直接将逻辑转换成代码;逻辑思维和算法为工具。2.函数式编程 --- 遇...
    PIECE_MAN阅读 314评论 0 1

友情链接更多精彩内容