面向对象编程:简称OOP。

是一种程序设计思想。oop把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。

在python中,所有数据类型都可以视为对象,也可以自定义对象。自定义的对象数据类型就是面向对象的类class的概念。

注意:属于面向对象编程语言的有 c++ 、  ruby 、  python  、 java

不支持面向对象的语言有  c语言

类和实例:

:是抽象的模板;一类具有相同特征的事物的统称。

类里面有:①静态---属性(特征) ---变量  ②动态---方法(行为)----函数

定义类:通过class关键字,类型通常都是大写开头的

object  ----- 表示该类是从哪个类继承下来的

通常如果没有合适的继承类,就使用object类,这是所有类都会继承的类

class  Student(object):

pass

 实例:根据类创建出来的一个个具体的'对象',每个对象都拥有相同的方法,单各自的数据可能不同。

类是实例的抽象化概念;实例是类的具体实例化体现。

创建实例:通过类名+()实现的   如  bar = Student()

也可以自由的给实例变量绑定属性   如  bar.name = Student()

由于类可以起到模板作用,因此,可以在创建实例时,把一些我们认为绑定的属性强制填写进去。通过一个特殊的_int_方法,在创建时,就把name、score等属性绑上去。

有了_int_方法,在创建实例时,就不能传入空的参数了,必须传入_int_方法匹配的参数,但self不需要传,python解释器会自已把实例变量传进去。

def  Student(object):

def _int_(self,name,score):

self.name = name

self.score = score

实例化操作:1 - 类里面的变量  --- 属性

2 - 类里面的函数  --- 方法

3 - 创建实例    t1 = Tiger()

静态属性和实例属性

1- 静态属性  ----- 也叫类属性  属于整个类的

用法  ---- ①类.属性   ②实例.属性

2 - 实例属性  ----- 定义在初始化方法  _init__里面

一般在创建实例时就给定

只要创建实例 ---  def  _init(self):   初始化方法肯定会调用

self 只是代表词,并不是关键字--可以替换,但不建议替换! 不能缺省

id(self)

实例化属性  --- 只能  实例.属性

self  这个实例的本身

静态方法和实例方法

1 - 静态方法  ----- 属于整个类   类可以直接调用,不需要实例化   ----  类.方法  /  实例.方法

用@stacticmethod修饰  只能修饰紧跟的那一个

2 - 实例方法  ----- 有self  ----  用法  实例.方法

取随机数:  from random  import  randint

print(randint(0,5)) ----- 取 0 1 2 3 4 5  闭区间  随机

时间处理:  import time

print(time.time())  ---- 单位是s秒  从1970算起

继承:1 - 继承关系可以是多个父类

2 - 重写 -- 在父类跟子类之间的一个多态的体现

3 - 在重写情况下,调用父类的方法

super(SouTiger,s1).roar()

super(子类类名,子类的实例名).roar()

4 -  __name  属于私有属性

类的专有方法有:

① __int__   构造函数  在生成对象时调用

② __del__  析构函数  释放对象时使用

③ __repr__ 打印 转换

④ __add__ 加运算

⑤ __sub__ 减运算

⑥ __call__ 函数调用

⑦ __len__  获得长度

⑧ __mul__  乘运算

⑨ __mod__ 求余计算

⑩ __pow__ 乘法

笔记||Python3之面向对象的更多相关文章

  1. [Python3] 024 面向对象 第四弹

    目录 11. 类和对象的三种方法 12. 抽象类 12.1 抽象方法 12.2 抽象类 12.3 抽象类的使用 13. 自定义类 接上一篇 [Python3] 023 面向对象 第三弹 11. 类和对 ...

  2. [Python3] 023 面向对象 第三弹

    目录 7. 类相关函数 8. 类的成员描述符(属性) 9. 类的内置属性 10. 类的常用魔术方法 10.1 操作类 10.2 描述符 10.3 属性操作 10.4 运算分类相关魔术方法 接上一篇 [ ...

  3. [Python3] 022 面向对象 第二弹

    目录 6. 面向对象的三大特性 6.1 封装 6.1.1 私有 private 6.1.2 受保护 protected 6.1.3 公开 public 6.2 继承 6.2.1 继承的概念与作用 6. ...

  4. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  5. python聚类算法实战详细笔记 (python3.6+(win10、Linux))

    python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念:     1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...

  6. Java程序猿的JavaScript学习笔记(6——面向对象模拟)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  7. Python3中面向对象 OOP

    Python3中面向对象 OOP 定义: python中通过关键字 class 实现类的定义: class ClassName(object): pass 获取成员变量:ClassName.变量名 修 ...

  8. [Python3] 021 面向对象 第一弹

    目录 1. 面向对象概述 1.1 OOP 思想 1.2 几个名词 1.3 类与对象 2. 类的基本实现 2.1 类的命名 2.2 如何声明一个类 2.3 如何实例化一个类 2.4 如何访问对象成员 2 ...

  9. python学习笔记六 初识面向对象上(基础篇)

    python面向对象   面向对象编程(Object-Oriented Programming )介绍   对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...

随机推荐

  1. 4. 彤哥说netty系列之Java NIO实现群聊(自己跟自己聊上瘾了)

    你好,我是彤哥,本篇是netty系列的第四篇. 欢迎来我的公从号彤哥读源码系统地学习源码&架构的知识. 简介 上一章我们一起学习了Java中的BIO/NIO/AIO的故事,本章将带着大家一起使 ...

  2. Spring框架学习笔记(7)——Spring Boot 实现上传和下载

    最近忙着都没时间写博客了,做了个项目,实现了下载功能,没用到上传,写这篇文章也是顺便参考学习了如何实现上传,上传和下载做一篇笔记吧 下载 主要有下面的两种方式: 通过ResponseEntity实现 ...

  3. nyoj 1112 求次数 (map)

    求次数 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 题意很简单,给一个数n 以及一个字符串str,区间[i,i+n-1] 为一个新的字符串,i 属于[0,strl ...

  4. set map symbol

    set 声明 let set = new Set();即创建了一个空的set 赋值 let set = new Set(['张三','李四','王五']); 特性 似于数组,但它的一大特性就是所有元素 ...

  5. opencv 4 图像处理(2 形态学滤波:腐蚀与膨胀,开运算、闭运算、形态学梯度、顶帽、黑帽)

    腐蚀与膨胀 膨胀(求局部最大值)(dilate函数) #include <opencv2/core/core.hpp> #include <opencv2/highgui/highg ...

  6. Linux菜鸟——常见命令一 权限

    Linux对文件和目录的权限位 权限位是十位 第一位 代表文件类型 - 普通文件 d 目录文件 l 链接文件 后面九尾 所有者权限 u = user 所属组权限 g = group 其他人权限 o = ...

  7. 50.Qt-QJsonDocument读写json

    QJsonDocument: 提供一种读取和写入JSON文档的方法,可以通过它的的成员函数array()或object()检索文档中包含的数组或对象,然后读取JSON数据,或者修改数据. QJsonO ...

  8. 🔥《手把手教你》系列基础篇之3-python+ selenium-驱动浏览器和元素定位大法(详细)

    1. 简介 上一篇中,只是简单地一带而过的说了一些驱动浏览器,这一篇继续说说驱动浏览器,然后再说一说元素定位的方法. 完成环境的安装并测试之后,我们对Selenium有了一定的了解了,接下来我们继续驱 ...

  9. 【原】android【手机】屏幕适配解决方案,完美适配适配hdpi,xhdpi,xxhdpi的做法。

    1.先说要怎么做,后面在慢慢讲解: 2.现在来讲解为什么要放这三套: 这三套其实按内容来说就两种,为什么这两种可以适配hdpi,xhdpi,xxhdpi呢? 那么两种类型的dimens就可以了,为什么 ...

  10. Curl elasticsearch

    1. 查看cluster state curl localhost:9200/_cluster/health?pretty Or curl localhost:9200/_cluster/health ...