python 也有面向对象的思想,则一切皆对象

python 中定义一个类:

class student:

count = 0

        books = []

def __init__(self,name,grade)

self.name=name

self.grade=grade

def ex(self):

if self.grade=='1':

print 'aaa'

else:

print 'ccc'

定义的类中,self 就相当于java中的this,相当于于实例本身

在python类中 通过”_”和”__”实现的访问控制

数据属性

在上面的Student类中,”count””books””name”和”age”都被称为类的数据属性,但是它们又分为类数据属性和实例数据属性

“_”:以单下划线开头的表示的是protected类型的变量,即只能允许其本身与子类进行访问;同时表示弱内部变量标示,如,当使用”from moduleNmae import *”时,不会将以一个下划线开头的对象引入。
“__”:双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了,连子类也不可以,这类属性在运行时属性名会加上单下划线和类名。

继承:

在python中既支持单继承又支持多继承

python中类  __new__()是一个静态方法,类先调用完__new__()方法生成一个cls实例,然后才调用__init__()

python中单例实现:

class Singleton(object):
_instance=None
def __new__(cls,*args,**kwargs):
if not cls._instance:
cls._instance= super(Singleton,cls).__new__(cls)
return cls._instance
class Single(object):
_instance={}
def __new__(cls):
if not cls._instance.has_key[cls]:
cls._instance[cls]=object.__new__(cls)
return cls._instance[cls]

最新文章

  1. (转)Javascript本地存储小结
  2. JavaScript - 事件流
  3. HDU 4034 Graph(floyd,最短路,简单)
  4. android 页面滑动 ViewFlipper,OnGestureListener,OnTouchListener
  5. [iOS 开发]UITableView第一行显示不完全
  6. XAlign - Xcode插件 - 对齐代码
  7. animate.css – 齐全的CSS3动画库
  8. Python 双向链表
  9. vim的基本介绍
  10. subline常用快捷键
  11. 9_grep及正则表达式
  12. Linux 内核的 Makefile
  13. (PMP)第1章-----引论
  14. FPGA开发随笔汇总
  15. PDO 基础知识
  16. 54.NSJSONSerialization类进行json解析(字符串“UTF-8解码”)
  17. Django小知识点整理
  18. android 开发 ------- 接口文档 规范
  19. 08python之列表的常用方法
  20. Azure 登录设置

热门文章

  1. DataTables 自定义
  2. ASP.NET MVC Jquery Validate 表单验证的多种方式
  3. spring+redis
  4. js之oop <六>数组的crud(增删改)
  5. ES6 对象增强和结构赋值
  6. 使用自定义标签模拟jstl的<c:for each>标签
  7. sqlservr (708) 打开日志文件 C:\Windows\system32\LogFiles\Sum\Api.log 时出现错误 -1032 (0xfffffbf8)
  8. ElasticSearch 5.0.1 java API操作
  9. PIL中的Image和numpy中的数组array相互转换
  10. Sublime Text 2 代码片断