面向对象编程:简称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. T-SQL Part IV: ORDER BY

    ORDER BY 返回一个Cursor,并不返回结果集.而试图将Cursor作为输入将产生了错误. 所以,下列的SQL语句将产生错误: SELECT VerID, IsComplete VerID, ...

  2. MySQL InnoDB MVCC

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...

  3. PHP中跳出循环break,continue,return,exit的区别

    1. return 语句的作用       (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行.       (2) return 返回一个值给调用该方法的语句,返回值的数 ...

  4. [LC]643题 Maximum Average Subarray I(子数组最大平均数 I)

    ①英文题目 Given an array consisting of n integers, find the contiguous subarray of given length k that h ...

  5. java编程思想第四版第十三章字符串 总结

    1. String和StringBulider的使用 通过书中介绍, 我们得知如下结论: 当使用+连接符将字符串进行拼接的时候, 编译器会进行自动优化为使用StringBuilder连接字符串. 当在 ...

  6. WordPress 去掉底部的自豪的采用WordPress

    WordPress 去掉底部的自豪的采用WordPress  

  7. 0x8000FFFF 错误的解决方式

    问题描述: 在F盘新建文件夹或文件的时候提示0x8000FFFF灾难性错误: 解决方法: 1.在F盘的位置,右击选择属性 2.在弹出的窗口中选择工具,点击检查 3.根据系统提示进行响应的驱动扫描与修复 ...

  8. 逻辑卷LVM

    1.理解LVM http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html 2.创建LVM 根据“理解LVM”提供的原理思路搞 a)建立 ...

  9. ZeroC Ice发送大数据

    继上文,我们使用ZeroC Ice传递大块数据时,通常有两种做法,一种是一次请求,另一种就是分多次请求(,这种做法在官方文档有例子).选哪一种根据需要而定. 当分多次请求来完成一大块数据,到底选择每次 ...

  10. Roarctf 几道pwn 复现

    1.easy_pwn 可以利用的点: __int64 __fastcall sub_E26(signed int a1, unsigned int a2) { __int64 result; // r ...