第八章 Python类中常用的特殊变量和方法
上章花了近三十章节介绍类的知识,本章估计内容也比较多,讲完这些,其实还有更多。为什么这么多类有关的知识呢,这是因为在Python里面一切皆对象,就连整型、浮点数、字符串这些比较常规的类型都是作为类来实现的。类就是Python的特点之一,Python为了支持类的灵活性、扩展性以及简洁性性,也是Python开放特征的体现,就是许多人称之为的”Pythonic”( Python风格)。什么是Python风格呢,在《Python之禅》中的几句经典阐释:
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
为了支持Python风格,Python的内置功能中包含了很强大的功能,这些功能可以支持开发人员写出很符合Python风格的代码。由于一切皆对象,因此类(本博专门介绍的是Python3以上的版本)的内置功能就能体现这种Python风格,而类的内置功能和风格,很大一部分就体现在类的特殊变量和特殊方法中。本章专门介绍类或实例经常使用或涉及的特殊变量和方法,之所以开个单章,是因为涉及内容多,就开单章了。
对于特殊变量和特殊方法,Python在命名规则上区分,要求相关名字必须是两个下划线开头,也是两个下划线结尾。Python中这些特殊变量和特殊方法有特殊用途,下面章节将介绍部分主要的特殊变量和特殊方法。
第八章 Python类中常用的特殊变量和方法的更多相关文章
- 第8.34节 《Python类中常用的特殊变量和方法》总结
本章介绍了Python类中常用的特殊变量和方法,这些特殊变量和方法都有特殊的用途,是Python强大功能的基石之一,许多功能非常有Python特色.由于Python中一切皆对象,理解这些特殊变量和方法 ...
- 第8章 Python类中常用的特殊变量和方法目录
第8章 Python类中常用的特殊变量和方法 第8.1节 Python类的构造方法__init__深入剖析:语法释义 第8.2节 Python类的__init__方法深入剖析:构造方法案例详解 第8. ...
- Python 类中的"静态"成员变量
本文环境:Python 2.7 一个类的三个对象实例的属性被同时修改 有段代码如下: class task_queue: queue=[] def append(self,obj): self.que ...
- python中常用的九种预处理方法
本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(Standardization or Mean Removal ...
- Python类中super()和__init__()的关系
Python类中super()和__init__()的关系 1.单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(sel ...
- 【转载】Python编程中常用的12种基础知识总结
Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...
- Python编程中常用的12种基础知识总结
原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...
- Python类中的self到底是干啥的
Python类中的self到底是干啥的 Python编写类的时候,每个函数参数第一个参数都是self,一开始我不管它到底是干嘛的,只知道必须要写上.后来对Python渐渐熟悉了一点,再回头看self的 ...
- 【转】python类中super()和__init__()的区别
[转]python类中super()和__init__()的区别 单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(se ...
随机推荐
- C++ 有用的资源
C++ 有用的资源 以下资源包含了 C++ 有关的网站.书籍和文章.请使用它们来进一步学习 C++ 的知识. C++ 有用的网站 C++ Programming Language Tutorials ...
- leetcode143zigzag-conversion
题目描述 字符串"PAYPALISHIRING"写成3行的Z字形的样式如下: P A H N↵A P L S I I G↵Y I R 按行读这个Z字形图案应该是 "PAH ...
- 有奖体验 CODING 产品,iPad Pro、HHKB 键盘等超级礼包等你来!
DevOps 研发效能升级.高效率研发工具已成为软件研发行业的热门话题,也是每个企业研发团队需要不断探索的命题.CODING 一站式软件研发管理工具平台旨在让开发团队低门槛使用 DevOps 工具,帮 ...
- scjp卡壳题
1. void looper() { int x = 0; one: while (x < 10) { two: System.out.println(++x); if (x > 3) { ...
- Js中函数声明和函数表达式的区别
先看以下几段烧脑的代码: f();//=>? var f = function () { console.log("var"); } function f() { conso ...
- Jenkins - Linux下启动Jenkins报错hudson.WebAppMain#contextDestroyed: Shutting down a Jenkins instance that was still starting up
报错截图 在Linux下直接运行jenkins.war报错,导致启动失败 报错原因 运行端口已被其他进程占用 解决方法 换个启动端口就可以啦!
- linux命令查看日志
首先介绍几个日志查看种常用的简单命令: 1.tail tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件. tail -f filename 会把 filenam ...
- 基于 Nebula Operator 的 K8s 自动化部署运维
摘要:Nebula Operator 是 Nebula Graph 在 Kubernetes 系统上的自动化部署运维插件.在本文,你将了解到 Nebula Operator 的特性及它的工作原理. 从 ...
- 【java从入门到精通】day-06-基本运算符-自增自减运算符
1.运算符 java语言支持如下运算符: 算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 关系运算符:>,<,>=,<=,==,!=,instanceof 逻辑运算 ...
- Ceph删除OSD上一个异常object
前言 ceph里面的数据是以对象的形式存储在OSD当中的,有的时候因为磁盘的损坏或者其它的一些特殊情况,会引起集群当中的某一个对象的异常,那么我们需要对这个对象进行处理 在对象损坏的情况下,启动OSD ...