class Animal(object):  # 类对象

    age = 0  # 公有类属性
__like = None # 私有类属性 def __init__(self): # 魔法方法
self.name = 'haha' # 公有实例属性
self.__sex = 'man' # 私有实例属性 def smile(self): # 公有方法 self指向实例对象
pass def __jump(self): # 私有方法
pass @classmethod
def run(cls): # 类方法 cls 指向类对象
pass @staticmethod
def msg(): # 静态方法,可以没有参数
pass '''
# 类对象:
将具有相似属性和方法的对象总结抽象为类对象,可以定义相似的一些属性和方法,不同的实例对象去引用类对象的属性和方法,能减少代码的重复率。 # 类属性:
类对象所有的属性,类对象和实例对象均可以访问,被它们共同拥有; # 公有类属性:
可以在类外修改类属性,需要通过类对象引用直接修改;
类内可以通过类方法修改类属性。
如果通过实例对象来引用类属性,相当于实例对象在实例方法中创建了一个和类属性相同的名字,等同于局部变量实例属性,和类属性无关; # 私有类属性:
类外通过类对象引用不能直接更改,只能通过实例方法调用类对象更改。 # 类方法:
需要修饰器@classmethod,标示其为类方法,类方法的第一个参数必须为类对象,一般用cls表示,通过cls引用的必须是类属性和类方法。 # 静态方法:
需要修饰器@staticmethod,标示其为静态方法。需要做一些功能,和类相关,但不需要类和对象参与,此时可以使用静态方法,静态方法可以不需要参数。 # 实例对象:
通过类对象创建的实例对象 # 实例属性:
通过方法定义的属性 # 私有实例属性:
__开头定义的变量名;只能通过方法调用来更改
公有实例属性:
可以通过实例对象重新定义 # 实例方法:
第一个参数公认为self,可以调用类对象和实例对象。 # 私有方法:
只能在类内调用,如果类外调用,则需要类内的公有方法调用类内的私有方法,在类外调用这个公有方法,则间接调用了私有方法。
一个程序中最核心的内容,不能随意调用,可以设置为私有方法,通过公有方法的判断去调用私有方法! # 公有方法:
可以在类内类外随意调用。 # 魔法方法:
例如__init__方法,用两个__前后包裹的方法
'''

  

理解Python中的类对象、实例对象、属性、方法的更多相关文章

  1. python中的类和实例

    今天花了两个多小时后搜索相关博客看了看python中有关类和实例的介绍,差不多大概明白了. python中的类和c++中的类是一样的,不同之处就是c++的类,如果含有成员变量,并且成员变量发生变化后, ...

  2. Python中编写类的各种技巧和方法

    简介 有关 Python 内编写类的各种技巧和方法(构建和初始化.重载操作符.类描述.属性访问控制.自定义序列.反射机制.可调用对象.上下文管理.构建描述符对象.Pickling). 你可以把它当作一 ...

  3. python中利用类创建的对象来保存信息

    在类创建的对象中,一般都是以字典的方式来保存信息 class Student: def __init__(self, name, age, score): self.name = name self. ...

  4. Python面试题之Python中的类和实例

    0x00 前言 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规范,从这个角度来看,在以后我们学习设计模式的时候, ...

  5. Python中自定义类如果重写了__repr__方法为什么会影响到str的输出?

    这是因为Python3中,str的输出是调用类的实例方法__str__来输出,如果__str__方法没有重写,则自动继承object类的__str__方法,而object类的__str__方法是调用_ ...

  6. python中的静态方法、类方法、属性方法(福利:关于几种方法更好的解释)

    该部分的三个属性都是高级方法,平时用的地方不是很多 一.静态方法 静态方法的使用不是很多,可以理解的就看一下,用的地方不是很多 class Dog(object): def __init__(self ...

  7. 深刻理解Python中的元类metaclass(转)

    本文由 伯乐在线 - bigship 翻译 英文出处:stackoverflow 译文:http://blog.jobbole.com/21351/ 译注:这是一篇在Stack overflow上很热 ...

  8. 深刻理解Python中的元类(metaclass)

    译注:这是一篇在Stack overflow上很热的帖子.提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自省有关,但仍然觉得 ...

  9. [转] 深刻理解Python中的元类(metaclass)

    非常详细的一篇深入讲解Python中metaclass的文章,感谢伯乐在线-bigship翻译及作者,转载收藏. 本文由 伯乐在线 - bigship 翻译.未经许可,禁止转载!英文出处:stacko ...

随机推荐

  1. Chipmunk碰撞回调短时间内重入的解决办法

    Chipmunk引擎中碰撞行为可能在细微处与一般认识略有不同. 比如碰撞回调方法可能会重入.不知道方法(函数)重入概念的童鞋可以自行谷哥或度娘. 第一次碰撞方法还未返回,第二次碰撞回调又被调用了.至于 ...

  2. 《java入门第一季》之面向对象接口面试题

    首先,(1)叙述接口的成员特点: /* 接口成员特点 成员变量:只能是常量,默认都是常量,并且是静态的. 默认修饰符:public static final 建议:自己手动给出类似:public st ...

  3. Cocos2D v2.0至v3.x简洁转换指南(二)

    触摸处理 我们在稍后将完成Cocos2d 3.0中触摸处理的完整教程.而现在最重要的是知道如何去启用触摸处理在你的CCNode中: self.userInteractionEnabled = TRUE ...

  4. Android官方技术文档翻译——清单合并

    本文译自Android官方技术文档<Manifest Merger>,原文地址:http://tools.android.com/tech-docs/new-build-system/us ...

  5. C语言颜色转换宏

    C语言颜色转换宏 #define COLOR_BPP16_RGB555 /* Win RGB */ #define COLOR_RGB(r,g,b) ((COLORREF)(((BYTE)(r)|(( ...

  6. 增加AP INVOICE 行&分配行

    -- 增加行 DECLARE v_row_id VARCHAR2(1000); v_line_number number; g_user_id CONSTANT NUMBER := fnd_globa ...

  7. ERP-非财务人员的财务培训教(三)------公司/部门预算编制与评价

    一.预算管理中的行为问题 二.编制预算中的问题 三.经营计划与预算制度                第一节 经营目标      第二节 预算编制的内容及说明      第三节 推行预算制度的组织 第 ...

  8. 在Windows使用git工具将代码同步至github(作者:ying1989920)

     [ps]git是一个分布式代码管理工具,类似于svn,方便协同开发,git里面有所谓的仓库(用来存放代码的),分为本地和线上,线上的你可以自己搭建,不想搭建的话github就给你提供了. [关于 ...

  9. 第一个Polymer应用 - (2)创建你自己的元素

    原文链接: Step 2: Your own element翻译日期: 2014年7月6日翻译人员: 铁锚通过上一节的学习和实践, 您已经完成了一个基本的应用程序结构(application stru ...

  10. ITU-T Technical Paper: QoS 的参数(非常的全,共计88个)

    本文翻译自ITU-T的Technical Paper:<How to increase QoS/QoE of IP-based platform(s) to regionally agreed ...