• python学习手册笔记——28.类代码编写细节


    00.class语句使对象的创建者并且使一个隐含的赋值运算——执行时,它会产生类对象,并把其引用值存储在前面所使用的变量名。


    01.方法位于class语句的主体内,是由def语句建立的函数对象。从抽象的视角来看,方法替实例对象提供了要继承的行为。方法的工作方式与函数:方法的第一个参数总是接收方法接收方法调用的隐形主体,也就是实例对象。

    02.每次使用object.attr形式的表达式时(object实例或类对象),Python会从头至尾搜索命名空间树,先从对象开始,寻找所能找到的第一个attr.这包含在方法中对self属性的引用。

    03.属性树的构造:
    *实例属性是由对方内self属性进行赋值运算而生成的
    *类属性是通过class语句内的语句(赋值语句)而生成的
    *超类的连接时通过class语句手好痒的括号内列出而生成的。

    程序代码会在内存中创建对象树,这个树时通过属性继承搜索的。调用类会创建记忆了这个类的新的实例。执行class语句会创建新的类,而列在class语句首行括号内的类则成为超类。即使self属性位于类的方法内每个属性一弄,都会出发由下而上的树搜索。

    04.命名空间
    *无点号运算的变量名与作用域相对应
    *点号的属性名使用的时对象的命名空间
    *有些作用域会对对象的命名空间进行初始化(模块和类)。

    05.简单变量名
    *赋值语句(X = value):使变量名成为本地变变量:在当前作用域内,创建或改变变量名X,除非声明它使全局变量。
    *引用(X):在当前作用域内搜索变量名X,之后使在任何以及所有的嵌套的函数中,然后使在当前的全局作用域中搜索,最后在内置作用域中搜索。

    06.属性名称:对象命名空间
    赋值语句(object.X = value):在进行点号运算的对象的命名空间内创建或修改属性名X,并没有其他作用。继承树的搜索只发生在属性引用时,而不是属性的赋值运算时。
    *引用(object.X):就给予类的对象而言,会在对象内搜索属性名X,然后再器上所有可读取的类

    07.Python再响应对象的__doc__属性自动保存。

    08.模块
    ——是数据/逻辑包
    ——通过编译Python文件或C扩展来创建
    ——通过导入来使用

    09.类
    ——实现新的对象
    ——由class语句创建
    ——通过调用来使用
    ——总是位于一个模块中

    10.运算符重载只是意味着类方法中拦截内置的操作——当类的实例出现再内置操作中,Python自动调用你的方法,并且你的方法的返回值编程了响应操作的结果。

  • 相关阅读:
    python 类
    hdu 5761 Rowe Bo 微分方程
    calendar 示例
    hdu 5753 Permutation Bo
    hdu 5752 Sqrt Bo
    finally 语句
    throws 和 throw
    python打开.pkl的文件并显示里面的内容
    Python 类变量,成员变量,静态变量,局部变量
    python 实例方法,类方法,静态方法,普通函数
  • 原文地址:https://www.cnblogs.com/aixiaoxiaoyu/p/11238580.html
Copyright © 2020-2023  润新知