`

Python面向对象笔记

 
阅读更多

1.特殊的类属性

对任何类,都有下面特殊属性:

C.__name__ 类C的名字(字符串)
C.__doc__ 类C的文档字符串
C.__bases__ 类C的所有父类组成的元组
C.__dict__ 类C的属性
C.__module__ 类C定义所在的模块
C.__class__ 实例C对应的类

 

IDLE 2.6      
>>> class MyClass:pass

>>> MyClass.__name__
'MyClass'
>>> MyClass.__doc__
>>> MyClass.__bases__
()
>>> MyClass.__dict__
{'__module__': '__main__', '__doc__': None}
>>> MyClass.__class__

Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    MyClass.__class__
AttributeError: class MyClass has no attribute '__class__'
>>> myClass = MyClass()
>>> myClass.__class__
<class __main__.MyClass at 0x01C07570>
>>> MyClass.__module__
'__main__'

 

 

MyClass.__dict__["z"] = 10  等价于 MyClass.z = 10

 

>>> MyClass.__dict__['z'] = 10
>>> MyClass.z
10
>>> MyClass.z = 12
>>> MyClass.z
12
>>> MyClass.__dict__
{'__module__': '__main__', 'z': 12, '__doc__': None}
>>> myClass.z
12
 

2.对于包含在类体中的语句,要想引用该类的属性,必须使用属性的简单名称,而不是完整名称。但是,在类体中定义的方法中的语句中,要想引用类的属性,必须使用完整名称,而不是简单名称。

 

class C1:
    x = 10
    y = x +4
    def test(self):
        print C1.x
 

 

3.类私有变量:双下划线开头,但不以下划线结束。

 

4. 内置函数 issubclass(subclass, baseclass):判断 subclass是否是baseclass的子类~

 

5. 内置函数 isinstance(instance, C):判断instance是否是类C的实例~

 

6. __init__

创建完对象后调用,对实例进行初始化,没有返回值。

 

class C1:
    def __init__(self, n):
        self.x = n
 

 

7. __new__

创建对象时调用,返回当前类的实例。在__init__方法前执行。

 

8. 内置函数 hasattr(Myclass, 'attribute') :判断Myclass类是否有属性attribute。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Python面向对象进阶教程,Python面向对象进阶知识笔记.doc

    本文将深入探讨Python面向对象编程的进阶知识,包括类方法、静态方法、`__new__`和`__init__`方法以及单例模式。 1. **类方法**: 类方法是通过装饰器`@classmethod`标识的方法,它们的第一个参数通常是`cls`,...

    python面向对象基础知识笔记.doc

    面向对象编程是Python中一种重要的编程范式,与面向过程编程相比,面向对象编程更加侧重于数据和操作数据的函数的结合,通过封装、继承和多态等特性,提高代码的可重用性和可维护性。 面向过程编程是按照业务逻辑...

    python核心笔记.pdf

    Python的面向对象特性在【第十章】及以上章节中得到详细讲解,包括类的定义、继承、封装和多态等概念,让开发者能够构建复杂且可复用的代码结构。 Python的广泛应用不仅限于编写小程序,还涵盖了网络编程、科学计算...

    python面向对象基础,自学做的笔记

    关于python面向对象的知识,通过例子完成一整个学习,对后续django开发有很大帮助

    python基础学习笔记

    笔记内容从基础的环境配置到面向对象的高级特性,详尽阐述了Python的核心概念和技术要点。 在Linux基础部分,笔记从终端命令开始,讲述了如何在Linux环境下操作和管理文件系统。接着是关于Sublime3编辑器的简单介绍...

    Python3学习笔记整理

    这份笔记涵盖了Python的基础语法、数据结构、控制流、函数、模块化编程、面向对象编程等多个方面,旨在帮助初学者系统地理解和应用Python语言。 1. **基础语法**:Python以其简洁明了的语法著称,例如缩进替代大...

    Python源码剖析笔记

    Python是面向对象的编程语言,其一切皆为对象,包括整数、字符串、列表、字典等。Python对象模型涉及到对象的内存分配、引用计数以及垃圾回收等机制。 #### Python整数对象 Python的整数对象是Python内部实现的一...

    Python基础课程笔记.zip

    8. **面向对象编程**:类的定义、对象的创建、继承、封装和多态等面向对象编程的核心概念。 9. **内置函数与标准库**:了解Python的一些常用内置函数,如len()、type()、print(),以及标准库中的os、sys、math等...

    Python3中文笔记

    9. **面向对象编程**: Python支持面向对象编程,包括类的定义、对象的创建与使用、继承、封装、多态等概念。 10. **文件操作**: 学习如何读写文件,包括文本文件和二进制文件,以及文件的打开、关闭、追加等模式。 ...

    贪吃蛇python面向对象.zip

    在这个“贪吃蛇python面向对象”的项目中,我们可以看到如何利用面向对象的方法来构建一个经典的贪吃蛇游戏。 首先,`game_items.py`可能包含了游戏中各种元素的类定义,如蛇(Snake)、食物(Food)和边界...

    面向对象语法精讲笔记.zip

    学习嵩天老师课程所做的笔记。课程目标:正确理解Python面向对象编程理念与方法,掌握面向对象编程设计的具体方法。包括Python面向对象基础,Python面向对象进阶。包括了Python面向对象进阶语法全体系。

    Python学习笔记(干货) 中文PDF完整版.pdf

    1.3章节讨论了Python的主要特点,包括动态类型、解释型、高级数据结构、面向对象编程、可扩展性等。Python支持多种编程范式,使得它在Web开发、科学计算、数据分析、自动化任务等领域都有广泛的应用。 1.4和1.5章节...

    python 大神学习笔记

    面向对象是Python编程的核心思想,类章节讲解了如何定义类、字段、属性、方法、继承以及操作符重载。异常章节讲解了Python中的错误处理机制,包括抛出异常、捕获异常、上下文管理以及断言的使用。 装饰器是一种设计...

    Python语言学习笔记

    类是面向对象编程的核心概念之一,在文档中作者也对此进行了详细的阐述,包括名字空间、字段、属性、方法、继承、开放类以及操作符重载。异常处理是编写健壮程序不可或缺的部分,文档提供了异常处理机制、断言、上...

    Python新手课堂笔记

    3. 面向对象:Python 是一种面向对象的语言,它支持面向对象编程的所有基本概念,如封装、继承、多态等。 4. 免费和开源:Python 是免费和开源的,这意味着你可以免费使用和分发 Python,任何人都可以根据自己的需求...

    Python基础笔记(全).pdf

    本笔记涵盖了 Python 语言的基础知识,包括 Python 的特点、解释型语言、面向对象的思维方式、Python 的优缺点、执行 Python 程序的三种方式、变量类型和变量定义等内容。 一、Python 特点 Python 是一种完全面向...

    B站黑马程序员Python教程学习笔记.zip

    7. **面向对象编程**:了解类(class)和对象的概念,掌握继承、封装和多态等面向对象特性。 【Python进阶知识】 在学习过程中,你还会接触到Python的更多高级特性: 1. **文件操作**:学习读写文件,包括文本...

    Python全套课程笔记-chap5-面向对象

    ### Python全套课程笔记-chap5-面向对象 #### 1. 定义类与对象 在面向对象编程中,**类**(Class)是对象(Object)的模板或蓝图,它定义了一组相同类型的对象所具有的数据结构(属性)和行为(方法)。**对象**则...

    python学基础笔记

    9. **面向对象编程**:Python支持面向对象编程,包括类(class)的定义、对象的创建、继承、封装和多态等概念。 10. **标准库和第三方库**:Python有一个庞大的标准库,包含了各种常用的功能模块,如`os`、`sys`、`...

    python学习笔记与简明教程

    #### Python 第49课:面向对象(3) - **知识点**: - 面向对象的高级特性。 - 继承与多态的概念。 - 示例代码演示面向对象的高级应用。 #### Python 第50课:面向对象(4) - **知识点**: - 面向对象的高级...

Global site tag (gtag.js) - Google Analytics