Python-浅析Python面向对象
Python同Java一样,都属于面向对象语言。
面向对象语言,可以创建类及对象的概念,万物皆对象。
类作为一种抽象的概念,可以视为一个通用的模板。
而对象则可视为实例化的类,是一个个的实体。
class Car: """这是一个汽车类""" def power(self): print(f"汽车加速,我是{self.name}") def stop(self): print("汽车刹车") sedan= Car() #创建Car类下的一个实例化对象sedan sedan.name = "benz" sedan.power() sedan.stop()
我们首先创建了一个Car类,Car类中包含两个分别名为power和stop的方法,内容分别为输出“汽车加速”和“汽车刹车”
然后我们在下面创建了一个实例化的对象sedan,并且给对象赋予了一个属性name,值为benz
最后,调用类中的方法power()和stop()
输出结果如下
同时我们注意到,在调用对象的方法时,方法中会自动生成一个供调用的self参数
根据定义,类中的每个实例方法的第一个参数都是self,它用于指向对象自身
再看实例
class Car: """这是一个汽车类""" def power(self): print(f"汽车加速,我是{self.name},self的地址是{id(self)}") def stop(self): print("汽车刹车") sedan = Car() print(f‘benz的对象id是{id(sedan)}‘) sedan.name = "benz" sedan.power() sedan.stop() print(‘-‘*30) volvo = Car() print(f‘volvo的对象id是{id(volvo)}‘) volvo.name = "沃尔沃" volvo.power() volvo.stop()
输出结果
self的地址与当前调用对象的id一致,说明self调用的的确为当前对象自身
但是,上述示例中我们在第12行,在类的外部给对象增加了一个属性,这在实际开发中是不被允许的。
对象中包含的属性应封装在类的内部。
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16