Python编程 从入门到实践 第9章 类

本文介绍了如何在Python中定义Dog类,包括初始化属性和方法,以及类的实例化、属性访问和方法调用。随后深入讲解了类的继承,展示如何创建ElectricCar子类并重写父类方法。涵盖了面向对象编程的基础概念。
摘要由CSDN通过智能技术生成

1 创建Dog类

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!")

每个类被创建时都会自动运行方法__init__()

2 访问属性,用类实例+句点+属性名

my_dog = Dog('willie',6)
print("My dog's name is " + my_dog.name.title())
print("My dog is "+str(my_dog.age)+" years old")

3 调用方法,也是用类实例+句点+函数名

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

4 类有几个属性是在__init__()方法里定义好的,不是方法的形参,而是方法内出现的self.xxx

5 python支持类继承,先执行父类的__init__,再执行子类的__init__。

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()


class EletricCar(Car):   # 继承Car类
	def __init__(self,make,model,year):
		super().__init__(make,model,year)

my_tesla = EletricCar('tesla','model s',2016)
print(my_tesla.get_descriptive_name())
  • 创建子类时,父类必须包含再当前文件中,父类必须要在子类前面声明好
  • 定义子类时,必须在括号内指定父类的名称
  • super() 表示父类

6 重写父类的方法,即子类中定义一个与父类方法同名的方法

7 从一个模块中导入多个类,如from car import Car , EletricCar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值