码迷,mamicode.com
首页 > 编程语言 > 详细

Python-浅析Python面向对象

时间:2020-02-01 12:43:26      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:对象   back   python面向对   pytho   参数   概念   img   别名   image   

Python同Java一样,都属于面向对象语言。

面向对象语言,可以创建类及对象的概念,万物皆对象。

类作为一种抽象的概念,可以视为一个通用的模板。

而对象则可视为实例化的类,是一个个的实体。

 1 class Car:
 2     """这是一个汽车类"""
 3     def power(self):
 4         print(f"汽车加速,我是{self.name}")
 5 
 6     def stop(self):
 7         print("汽车刹车")
 8 
 9 
10 sedan= Car()  #创建Car类下的一个实例化对象sedan
11 sedan.name = "benz"
12 sedan.power()
13 sedan.stop()

我们首先创建了一个Car类,Car类中包含两个分别名为power和stop的方法,内容分别为输出“汽车加速”和“汽车刹车”

然后我们在下面创建了一个实例化的对象sedan,并且给对象赋予了一个属性name,值为benz

最后,调用类中的方法power()和stop()

 

输出结果如下

技术图片

 

同时我们注意到,在调用对象的方法时,方法中会自动生成一个供调用的self参数

根据定义,类中的每个实例方法的第一个参数都是self,它用于指向对象自身

再看实例

 1 class Car:
 2     """这是一个汽车类"""
 3     def power(self):
 4         print(f"汽车加速,我是{self.name},self的地址是{id(self)}")
 5 
 6     def stop(self):
 7         print("汽车刹车")
 8 
 9 
10 sedan = Car()
11 print(fbenz的对象id是{id(sedan)})
12 sedan.name = "benz"
13 sedan.power()
14 sedan.stop()
15 print(-*30)
16 volvo = Car()
17 print(fvolvo的对象id是{id(volvo)})
18 volvo.name = "沃尔沃"
19 volvo.power()
20 volvo.stop()

输出结果

技术图片

self的地址与当前调用对象的id一致,说明self调用的的确为当前对象自身

 

但是,上述示例中我们在第12行,在类的外部给对象增加了一个属性,这在实际开发中是不被允许的。

对象中包含的属性应封装在类的内部。

 

Python-浅析Python面向对象

标签:对象   back   python面向对   pytho   参数   概念   img   别名   image   

原文地址:https://www.cnblogs.com/fcbyoung/p/12247999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!