Python中类带括号与类不带括号的区别,以及类中定义方法带括号与不带括号的区别

1. 类的定义

Car类

class Car: 
	"""一次模拟汽车的简单尝试""" 
	
	def __init__(self, make, model, year): 
		"""初始化描述汽车的属性""" 
		self.make = make 
		self.model = model 
		self.year = year 
	
	def get_descriptive_name(self): 
		"""返回汽车的描述性信息""" 
		long_name = str(self.year) + ' ' + self.make + ' ' + self.model 
		return long_name.title() 

Car类不带(),所以默认继承object

class Car(): 
	"""一次模拟汽车的简单尝试""" 
	
	def __init__(self, make, model, year): 
		"""初始化描述汽车的属性""" 
		self.make = make 
		self.model = model 
		self.year = year 
	
	def get_descriptive_name(self): 
		"""返回汽车的描述性信息""" 
		long_name = str(self.year) + ' ' + self.make + ' ' + self.model 
		return long_name.title() 

Car类在()中未指明特定的父类,所以默认继承object

class Car(object): 
	"""一次模拟汽车的简单尝试""" 
	
	def __init__(self, make, model, year): 
		"""初始化描述汽车的属性""" 
		self.make = make 
		self.model = model 
		self.year = year 
	
	def get_descriptive_name(self): 
		"""返回汽车的描述性信息""" 
		long_name = str(self.year) + ' ' + self.make + ' ' + self.model 
		return long_name.title() 

Car类在()中指明继承object

Car, Car(), Car(object)三种类的创建方法是相等的!!!

ElectricCar类

class ElectricCar(Car): 
	"""电动汽车的独特之处""" 
 
	def __init__(self, make, model, year): 
		"""初始化父类的属性""" 
		super().__init__(make, model, year) 

	def describe_battery(self): 
		"""打印一条描述电瓶容量的消息""" 
		print("This car has a " + str(self.battery_size) + "-kWh battery.") 

ElectricCar类在()中指明了继承了Car类,如此Car所包含的方法在ElectricCar中同样可以使用。

2. 类的调用

调用Car(),为创建实例或创建对象

my_car = Car()

调用car,为赋值

my_car = Car

3. 类中方法的调用

函数不带括号时,调用的是函数本身,是整个函数体,是一个函数对象,不需要等待函数执行完成

my_car = Car('audi', 'a4', 2016) 
print(my_car.get_descriptive_name)

"""
输出:
<bound method Car.get_descriptive_name of <__main__.Car object at 0x000002106573BEB0>>
"""

函数带括号时,调用的是函数的执行结果,需等待函数执行完毕的结果

my_car = Car('audi', 'a4', 2016) 
print(my_car.get_descriptive_name())

"""
输出:
2016 Audi A4
"""

个人水平有限,如有整理不正确的地方欢迎大家指正。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值