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

python函数的面向对象——面向对象设计

时间:2018-02-26 13:32:16      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:eva   就是   过程   dog   print   pos   style   编程   type   

通过几个函数式编号演进,理解面向对象设计

def01.py

 1 dog1 = {
 2     name:元昊,
 3     gender:,
 4     type:藏獒
 5 }
 6 dog2 = {
 7     name:李李,
 8     gender:,
 9     type:腊肠
10 }
11 
12 def jiao(dog):
13     print(一条狗[%s],汪汪%dog[name])
14 
15 def yaoren(dog):
16     print(一条狗[%s]正在咬人%dog[type])
17 
18 jiao(dog1)
19 yaoren(dog1)
20 yaoren(dog2)

 def02.py

 6 
 7 def dog():
 8     def jiao(dog):
 9         print(一条狗[%s],汪汪%dog[name])
10 
11     def yaoren(dog):
12         print(一条狗[%s]正在咬人%dog[type])
13 
14     dog1 = {
15         name: 元昊,
16         gender: ,
17         type: 藏獒,
18         jiao:jiao,
19         yaoren:yaoren
20     }
21     return dog1
22 
23 d1 = dog()
24 d1[jiao](d1)

def03.py

 6 
 7 def dog(name,gender,type):
 8     def jiao(dog):
 9         print(一条狗[%s],汪汪%dog[name])
10 
11     def yaoren(dog):
12         print(一条狗[%s]正在咬人%dog[type])
13 
14     dog1 = {
15         name: name,
16         gender: gender,
17         type: type,
18         jiao:jiao,#内部函数
19         yaoren:yaoren#内部函数
20     }
21     return dog1#因为作用域的问题,所以一定要用内部的return 返回jiao,yaoren的函数,才能被外部调用
22 
23 d1 = dog(张明,,腊肠)

24 d1[jiao](d1)#引入返回的那个数组d1 ,

 

def04.py

 6 
 7 def dog(name,gender,type):
 8     def jiao(dog):
 9         print(一条狗[%s],汪汪%dog[name])
10 
11     def yaoren(dog):
12         print(一条狗[%s]正在咬人%dog[type])
13 
14     def init(name,gender,type):
15         dog1 = {
16             name: name,
17             gender: gender,
18             type: type,
19             jiao:jiao,#内部函数
20             yaoren:yaoren#内部函数
21         }
22         return dog1
23 
24     return init(name,gender,type)
25 
26 d1 = dog(张明,,腊肠)
26 print(d1[‘name‘],d1[‘gender‘])
27 d1[jiao](d1)#引入返回的那个数组d1 ,

# 那么一个函数,
# 就是给定不同属性,设置属性到它内部,
# 并且它内部的函数使用了这些属性,完成了新的动作,
# 通过返回方法至一个字典当中,让外部调用这个方法(属性和方法都需要让外部去访问,在字典类型当中来讲,是平等的),
# 即完成了所谓的【面向对象】

# 对象在不描述之前什么都不是。
# 对象就是需要描述它的动作和特征,才能去定义它。比如:人,长什么样,能做什么;灯泡,是什么样,能做什么。

# 类是抽象的,只有属性和方法。 dog()函数就是
# 但对象是经过动作和特征的定义的。d1 定义后,就是一条狗了
# 这就是面向对象设计

类就像模板,定义后就是一个对象了。

由 类-----产生-----对象的过程叫做实例化(实例=对象)

 在python当中,没有要求你一定要写面向对象的代码。用面向对象的语言,和一个程序的设计是面对对象的,两者无任何关系。

你写的程序是不是面向对象的,和你用的语言是不是面向对象的无关系!面向对象设计,只不过是函数/过程式编程的演进。关键在于面向对象的设计思路。

 

python函数的面向对象——面向对象设计

标签:eva   就是   过程   dog   print   pos   style   编程   type   

原文地址:https://www.cnblogs.com/ekuj/p/8472392.html

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