加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

史上最全Python面向对象编程

发布时间:2019-03-27 09:09:33 所属栏目:建站 来源:浪子燕青
导读:副标题#e# 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别。 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 3. 写一个函数完成某个功能 4. 写一个函数完成某个功能 5. 写一个函数完成某个功能 6. 写一个函数完成某个功

需要提醒的是,slots定义的属性仅对当前类的实例起作用,对继承了它的子类是不起作用的。想想也是这个道理,如果你继承一个父类,却莫名其妙发现有些变量无法定义,那不是大问题么?如果非要子类也被限制,除非在子类中也定义slots,这样,子类实例允许定义的属性就是自身的slots加上父类的slots。

成员保护与访问机制

有些对象你不想外部访问,即使是通过调用类对象也无法访问,那就请认真学完本章节。

私有成员

  1. class obj: 
  2.     def __init__(self,name): 
  3.         self.name=name 
  4.     def pri(self): 
  5.         print self.name 
  6.     __age = 18 
  7.     # 加上双下划线的就是私有变量,只能在类的内部访问,外部无法访问 
  8. a = obj('zhao') 
  9. a.pri() 

运行结果:

  1. zhao 

如果要在类中调用这个私有成员,可以这么用

  1. class obj: 
  2.     def __init__(self,name): 
  3.         self.name=name 
  4.     def prin(self): 
  5.         print self.name 
  6.     __age = 18 
  7.     # 加上双下划线的就是私有变量,只能在类的内部访问,外部无法访问 
  8.     @classmethod 
  9.     # 如果要在类中调用,首先调用类方法 
  10.     def pri(cls): 
  11.         print cls.__age 
  12.         # 然后在使用 
  13. a = obj('zhao') 
  14. a.prin() 
  15. obj.pri() 
  16. # 通过这样直接调用类中的私有变量 

运行结果:

  1. zhao
  2. 18 

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读