Python篇----面向对象程序设计(二)(属性和方法篇)
2015-11-28 09:47
567 查看
1 属性与方法的详述
(1)方法是对象(类的实例化)所拥有的一些功能。例如,对象bad_man(坏男人)的方法是打女人,对象good_man(好男人)的方法是保护女人。
属性,经常和方法混淆来讲,但是区别很大:属性是静态的概念,方法是动态的概念
属性代表对象的数据,方法代表对象的操作
(2)属性的创建,代码如下:
#构建类 class man: print "man" #实例化(对象) bad_man = man() #查看bad_man中有哪些属性 print bad_man.__dict__ #给一个实例添加属性,将bad_man的头发hair设置为yellow bad_man.hair = "yellow" #查看bad_man中是否出现属性 print bad_man.__dict__ #bad_man中的属性不会影响其他实例的属性,可用print打印查看 good_man = man() print good_man.__dict__ #查看对象bad_man所属类的属性 print bad_man.__class__.__dict__ #给bad_man所属的类添加属性。绝大多数的男人,都是有JJ的 bad_man.__class__.body = "have JJ" #再次查看对象bad_man所属类的属性 print bad_man.__class__.__dict__ #查看对象good_man所属类的属性,验证bad_man所属类属性添加后带来的影响 print good_man.__class__.__dict__
总结:单个实例(对象)的属性之间相互独立,不互相影响。类的属性由该类下面的所有实例(对象)共享。
操作截图:
(3)方法的创建,代码如下:
#构建类,并添加方法eat class man: def eat(self): #self是Python规定的第一个参数,不许修改。所有的实例共享这个方法, #self,如同C++中的this,不具备其他任何含义 print "都需要吃饭" print “man” #实例化 good_man = man() #good_man调用eat()方法 good_man.eat() #其他调用方法 man().eat()
(4)隐藏属性和隐藏方法,代码如下:
#隐藏方法,不能在类的外部调用,在方法前加下划线 class man: def __eat(self): print "All man eat!" #检验,会报错 man().__eat()
(5)其他常用的方法:
构造函数,__init__(self),在实例化的时候就被调用,初始化。init代表建立
析构函数,__del__(self),对象在执行到最后的时候,需要释放这个对象。del代表释放
相关文章推荐
- Python2.7下载微信公众号文章的图片(二)
- Python实用小技巧
- Stackless Python 并发式编程介绍
- python3编码
- python第三方库点滴
- 【转】Python包管理工具
- python 第一天作业
- 用python开启简单服务器
- Python 面相对象 —— 类的三大成员
- python中%r和%s的区别
- [python]错误检测及异常处理try-except
- Python-学习笔记(一)——环境配置+IDE搭建(WingIDE)
- python基础概念总结
- Python基础——NaN(Not a Number)
- Python机器学习——概念及其物理解释
- python之sh,更加人性化的subprocess
- 【Python】Mysql数据库操作类
- mac安装mysql-python和采用MVC的方式操作数据库
- Python 新式类与经典类的区别
- python 异常处理(二)