首页 / PYTHON / 【Python】入门学习十一 类
【Python】入门学习十一 类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Python】入门学习十一 类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2581字,纯文字阅读大概需要4分钟。
内容图文
![【Python】入门学习十一 类](/upload/InfoBanner/zyjiaocheng/814/718497215acb4b678f15f9822b5f7583.jpg)
在面向对象编程中,我们通过编写表示现实世界中的事物或场景的类,并基于这些类创建对象。在类中我们定义了一大类对象都有的通用行为,基于类创建对象时,每个类自动具备这种通用行为,然后可以根据需要赋予每个对象独特的个性。
根据类创建对象叫做实例化。
1、创建类
使用类几乎可以让我们模拟任何东西,下面编写一个表示餐厅的Restaurant类,它表示的不是特定的餐厅,而是任何餐厅。
class Restaurant(): def __int__(self, restaurant_name, cuisine_type): self.name = restaurant_name self.type = restaurant_type def describe_restaurant(self): print("This restaurant's name is " + self.name.title() +".")
print("This restaurant is " + self.type + "restaurant.") def open_restaurant(self): print("This restaurant is open now.")
实例化:first_restaurant = Restaurant('Peace Restaurant', Chinese)、second_restaurant = Restaurant('Summer', Italian)
访问属性:first_restaurant.name、second_restaurant.type
调用函数:first_restaurant.describe_restaurant()、second_restaurant.open_restaurant()
2、修改类中的属性值
我们创建一个Car类表示汽车,它存储了有关汽车的信息,还有一个汇总这些信息的方法,同时添加一个随时间变化的属性,用它存储汽车的总里程:
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("This car has " + str(self.odometer_reading) + "miles on it."
实例化my_new_car = Car('audi', 'a4', 2016)
修改属性odometer_reading 的值,有以下两种方法可以实现:
①直接修改:my_new_car.odometer_reading = 23
②通过在类中定义函数,比如将里程表读数设置为指定值,还可以通过函数使读数增加一定的值:
def update_odometer(self, mileage): """将里程表读数设置为指定的值""" self.odometer_reading = mileage def increment_odometer(self, miles): """将里程表读数增加指定的量""" self.odometer_reading += miles
3、继承
编写类时,并非总是要从零开始,如果你要编写的类是另一个类的特殊版本,可以使用继承。一个类继承另一个类时,它将自动获得另一个类的所有属性和方法,原有的类叫父类,新类称为子类。当然,长江后浪推前浪,子类可以定义自己的属性和方法。
继承通过class 子类名(父类名): 的形式来实现,比如新建一个电动汽车类ElectricCar继承上面的Car类:
class ElectricCar(Car): """电动汽车的独特之处""" def__init__(self, make, model, year): """初始化父类的属性""" super().__init__(make, model, year)
super()是一个特殊函数,能够帮助Python将父类和子类关联起来。这行代码让Python调用父类的__init__(),使子类实例包含父类的所有属性。
内容总结
以上是互联网集市为您收集整理的【Python】入门学习十一 类全部内容,希望文章能够帮你解决【Python】入门学习十一 类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。