1  python面向对象命名规范

类名通常由大写字母打头。这是惯例标准。

数据值应该使用名词作为名字,方法使用动词加对象的方式,若使用混合记法,则方法名的第一个字母首字母小写,后面的单词的首字母大写。若使用骆驼记法,则方法名的组成单词之间用下划线连接。

2  相关术语

抽象/实现:建模,包括数据属性和数据的接口。

封装/接口:描述了对数据/信息进行隐藏的观念,它对数据属性提供接口和访问函数。

合成

派生/继承/集成结构

泛化和特化

3  实例属性 和 类属性

不同于C++和Java,Pthon的实例属性可以在实例创建后的任意时间进行,也可以在能偶访问实例的代码中进行。__init()__是设置这些属性的关键点之一。

  • 在构造器中首先设置实例属性
  • 默认参数提供默认的实例安装(对方法的参数设定默认值)

__init()__应当返回None。

类属性仅是与类相关的数据值,和实例属性不同,类属性和实例无关。这些属性就像静态成员那样被引用,即使在多次实例化中调用类,它们的值都保持不变。即,类和实例都是名字空间,类是类属性的名字空间,实例则是实例属性的名字空间。

若修改类属性,则会影响之后所有创建的实例的属性,但不会影响之前创建的实例。

任何一个方法定义中的第一个参数都是变量self,它表示调用此方法的实例对象。必须在方法声明中放上self,但可以在方法的使用中不使用self。

对于类方法而言,需要类而不是实例作为第一个参数,它是由解释器传给方法。

4  如果需要,每个子类最好定义它自己的构造器,不然,基类的构造器会被调用。

如果子类重写了构造器,则如果仍想执行基类的构造器,就需要显示地在子类的构造器中写出。

python面向对象编程(1)——基本概念,术语,self,构造器的更多相关文章

  1. python 面向对象编程(一)

    一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义: class c ...

  2. python面向对象编程进阶

    python面向对象编程进阶 一.isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 1 ...

  3. python面向对象编程学习

    python面向对象编程 基本概念理解 面向对象编程--Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作 ...

  4. Python面向对象编程——继承与派生

    Python面向对象编程--继承与派生 一.初始继承 1.什么是继承 继承指的是类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代码重用问题. 继承是一种创 ...

  5. 图解python | 面向对象编程

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/56 本文地址:http://www.showmeai.tech/article-det ...

  6. python 面向对象编程学习

    1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...

  7. Python面向对象编程指南

    Python面向对象编程指南(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1SbD4gum4yGcUruH9icTPCQ 提取码:fzk5 复制这段内容后打开百度网 ...

  8. Python面向对象编程(下)

    本文主要通过几个实例介绍Python面向对象编程中的封装.继承.多态三大特性. 封装性 我们还是继续来看下上文中的例子,使用Student类创建一个对象,并修改对象的属性.代码如下: #-*- cod ...

  9. Python 面向对象编程——访问限制

    <无访问限制的对象> 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑.但是,从前面Student类的定义来看(见:Py ...

  10. Python 面向对象编程 继承 和多态

    Python 面向对象编程 继承 和多态 一:多继承性 对于java我们熟悉的是一个类只能继承一个父类:但是对于C++ 一个子类可以有多个父亲,同样对于 Python一个类也可以有多个父亲 格式: c ...

随机推荐

  1. SpringBoot集成WebSocket【基于STOMP协议】进行点对点[一对一]和广播[一对多]实时推送

    原文详细地址,有点对点,还有广播的推送:https://blog.csdn.net/ouyzc/article/details/79884688 下面是自己处理的一些小bug 参考原文demo,结合工 ...

  2. Cloudera Manager安装之Cloudera Manager安装前准备(CentOS6.5)(一)

    Cloudera Manager安装前准备 (一)机器准备 192.168.80.148   clouderamanager01 (部署ClouderaManager-server和Mirror se ...

  3. docker最新版本如何自定义配置文件

    1 如果你想使用 /etc/default/docker文件配置你的docker 在 /etc/systemd/system/docker.service.d/docker.conf 添加下面---- ...

  4. word转pdf(使用office)

    1.安装office软件 2.在vs中写代码 注意需要引入 Microsoft.Office.Interop.Word插件 /// <summary> /// 将word转换成pdf文件 ...

  5. .net mvc 获取acion 返回类型

    1..net core 中获取 public override void OnActionExecuted(ActionExecutedContext context) { var descripto ...

  6. 分布式微服务技术之 Spring Cloud Netflix

    1 背景 Netflix 是全球十大视频网站中唯一收费站点,是美国互联网流媒体播放商,由于访问量巨大,转型为云计算公司. 由Netflix公司主持开发了一套代码框架和库Netflix OSS即open ...

  7. linux centOs中安装好数据库,客户端用plsql连接oracle

    原创作品,转载请在文章显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10030375.html 首先,回顾上篇 CenOs7安装oracle图文详细过 ...

  8. UVA 455(最小周期)

    最小周期可以用%枚举 #include <iostream> #include <string> #include <cstring> #include <c ...

  9. Java 的 委托 是什么?

    前言:在学习设计模式时,发现书中有多次提到委托二字,所以经过网上搜索得到结果,并自己写了个小小的例子. 什么是委托? 委托模式是软件设计模式中的一项基本技巧.在委托模式中,有两个对象参与处理同一个请求 ...

  10. Spring中的BeanFactory和ApplicationContext的区别

    我用一个例子去测试BeanFactory和ApplicationContext的区别 首先建立一个bean public class User { //声明无参构造,打印一句话,监测对象创建时机 pu ...