首页 / PYTHON / Python 面向对象基础知识
Python 面向对象基础知识
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python 面向对象基础知识,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1736字,纯文字阅读大概需要3分钟。
内容图文
面向对象基础知识 |
1.什么是面向对象编程?
- 以前使用函数
- 类 + 对象
2.什么是类什么是对象,又有什么关系?
class 类: def 函数1(): pass def 函数2(): pass # obj是对象,实例化的过程 obj = 类() obj.函数1()
========== 面向对象不好 ============
========== 函数编程好 ==============
- 有时候,函数编程能实现?比较麻烦。
- 面向对象非常的简单就能实现。
3.什么时候适用面向对象?
- 1.当多个函数有公共的参数的时候
- 2.根据一个模板创建某些东西
- 3.链接服务器,执行命令,关闭
注:面向对象,可以进行更多的修改需求修改。
4.self就是调用当前方法的对象。
- 函数(方法)保存在类里面。
- 字段保存在对象内存下。
5.静态字段的使用场景。
- 创建的每一个字段都有共同的值,就可以设置为静态字段。
成员属性
class Foo: def __init__ (self,name): # 普通字段,属性 self.NAME = name self.Country = "中国"
全局属性
class Foo: # 静态字段,公有属性 Country = "中国"def__init__(self,name): self.NAME = name
6.面向对象三大特性,继承,封装,多态。
封装:
- 类中封装:字段,方法
- 对象中封装了:普通字段的值
例子
class F1: def __init__ (self,n): self.N = n print(‘F1‘) class F2: def__init__(self,arg1): self.a = arg1 print(‘F2‘) class F3: def__init__(self,arg2): self.b = arg2 print(‘F3‘) o1 = F1(‘alex‘) o2 = F2(o1) o3 = F3(o2) ########### 输出Alex:o3.b.a.N############o1 = F1(‘alex‘)#o2 = F2(o1)#o3 = F3(o2)#print(o3.b.a.N)#执行结果#alex#注: o3包含o2包含o1包含N赋值alex。
继承:
例子:
求出结果:对应继承。
class F1: def __init__ (self): print(‘F1‘) def a1(self): print(‘F1a1‘) def a2(self): print(‘F1a2‘) class F2(F1): def__init__(self): print(‘F2‘) def a1(self): print(‘F2a1‘) def a2(self): self.a2() print(‘F2a2‘) class F3(F2): def__init__(self): print(‘F3‘) # def a1(self):# print(‘F3a1‘)def a2(self): print(‘F3a1‘) obj = F3() obj.a1()
多态:
- python:默认支持多态,没有类型限制
- 多态:多种形态。
7.字段与方法
字段:
普通字段(保存在对象中)
静态字段(保存在类中)
方法:
普通方法(保存在类中,调用者对象,至少有一个self参数)
class F1: ... def a1(self): print (self.name) obj = F1() obj.a1 = a1() # 注:obj 对象内存没有存入数据,会占用内存。
静态方法(保存在类中,调用者类,无需创建对象,可以有任意个参数):
class F1: @staticmethod def a1(): print (self.name) F1.a1() # 注:相当于函数 @staticmethod。
原文:http://www.cnblogs.com/xiangsikai/p/7821483.html
内容总结
以上是互联网集市为您收集整理的Python 面向对象基础知识全部内容,希望文章能够帮你解决Python 面向对象基础知识所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。