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

python之面向对象

时间:2019-10-16 00:09:49      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:报错   info   dog   run   pre   实例变量   bsp   add   类变量   

(一)构造方法和实例方法

__init__() 为构造方法,第一个参数必须为 self 参数。

self 代表该方法的调用者,即谁在调用该方法,那么 self 就代表谁。

类里面的jump()和run()方法为实例方法。

代码:

 1     class Dog:
 2         def __init__(self):
 3             print(self,"在调用构造方法")
 4         # 定义一个jump()方法
 5         def jump(self):
 6             print(self,"正在执行jump方法")
 7         # 定义一个run()方法,run()方法需要借助jump()方法
 8         def run(self):
 9             print(self,"正在执行run方法")
10             # 使用self参数引用调用run()方法的对象
11             self.jump()
12     dog1 = Dog()
13     dog1.run()
14     dog2 = Dog()
15     dog2.run()

结果:

<__main__.Dog object at 0x00000276B14B12B0> 在调用构造方法
<__main__.Dog object at 0x00000276B14B12B0> 正在执行run方法
<__main__.Dog object at 0x00000276B14B12B0> 正在执行jump方法
<__main__.Dog object at 0x00000276B14B1F28> 在调用构造方法
<__main__.Dog object at 0x00000276B14B1F28> 正在执行run方法
<__main__.Dog object at 0x00000276B14B1F28> 正在执行jump方法

 

(二)类属性和实例属性

(1)类变量

类变量推荐直接用类名访问,但也可以使用对象名访问。

代码:

 

 1 class Address:
 2     detail = 广州
 3     post_code = 510660
 4 
 5     def info(self):
 6         # 尝试直接访问类变量
 7         # print(detail) # 报错
 8         # 通过类来访问类变量
 9         print(Address.detail)  # 输出 广州
10         print(Address.post_code)  # 输出 510660
11 
12 
13 # 创建 2 个类对象
14 addr1 = Address()
15 addr1.info()
16 addr2 = Address()
17 addr2.info()
18 # 修改Address类的类变量
19 Address.detail = 佛山
20 Address.post_code = 460110
21 addr1.info()
22 addr2.info()
23 
24 #动态地为类和对象添加类变量
25 Address.depict = "佛山很美"
26 print(addr1.depict)
27 print(addr2.depict)

 

结果:

广州
510660
广州
510660
佛山
460110
佛山
460110
佛山很美
佛山很美

(2)实例变量

实例变量只能通过对象名访问,无法通过类名直接访问。

 

代码:

未完待续 剩下的明天学

python之面向对象

标签:报错   info   dog   run   pre   实例变量   bsp   add   类变量   

原文地址:https://www.cnblogs.com/cvlove/p/11681821.html

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