zoukankan      html  css  js  c++  java
  • Fluent_Python_Part4面向对象,09-pythonic-obj,Python风格的对象

    第四部分第9章,Python风格的对象

    这一章接第1章,说明常见的特殊方法实现。

    本章包括以下话题:

    1. 支持用于生成对象其它表示形式的内置函数(如repr()、bytes(),等等)
    2. 使用一个类方法实现备选构造方法
    3. 扩展内置的format()和str.format()使用的格式微语言
    4. 实现只读属性
    5. 把对象变为可散列的,以便在集合中和作为dict的键使用
    6. 利用__slots__节省内存
    7. 如何以及何时使用@classmethod和@staticmethod装饰器
    8. Python的私有属性和受保护属性的用法、约定和局限
      将开发一个简单的二维欧几里得向量类型,在这个过程中涵盖上述全部话题。
      模仿Python标准对象的行为,让Vector的行为符合Python风格。

    1. 对象表示形式

    面向对象语言至少都有一种获取对象的字符串表示形式的标准形式。Python提供了两种方式。
    1.1 repr(): 便于开发者理解的方式返回对象的字符串表示形式。
    1.2 str():便于用户理解的方式返回对象的字符串表示形式。
    1.3 实现__repr__和__str__特殊方法,为repr()和str()提供支持。
    1.4 reprstr、__format__都返回Unicode字符串(str类型)。只有__bytes__方法应该返回字节序列(bytes类型)。

    先留坑,过于复杂,直接看

    中文电子书P387

  • 相关阅读:
    如何创建数据库及表
    验证视图状态MAC失败解决方案
    ELK(elasticsearch+logstash+kibana)实现Java分布式系统日志分析架构
    使用Servlet3.0提供的API实现文件上传
    CentOS 6.4下安装MySQL 5.6.22
    CentOS下安装MySQL-server-5.6
    linux下彻底卸载mysql 图解教程
    表白用,有需要的可以转
    Eclipse常用快捷键
    DAO和DTO的区别
  • 原文地址:https://www.cnblogs.com/allen2333/p/8859039.html
Copyright © 2011-2022 走看看