笔记||Python3之面向对象
面向对象编程:简称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之面向对象的更多相关文章
- [Python3] 024 面向对象 第四弹
目录 11. 类和对象的三种方法 12. 抽象类 12.1 抽象方法 12.2 抽象类 12.3 抽象类的使用 13. 自定义类 接上一篇 [Python3] 023 面向对象 第三弹 11. 类和对 ...
- [Python3] 023 面向对象 第三弹
目录 7. 类相关函数 8. 类的成员描述符(属性) 9. 类的内置属性 10. 类的常用魔术方法 10.1 操作类 10.2 描述符 10.3 属性操作 10.4 运算分类相关魔术方法 接上一篇 [ ...
- [Python3] 022 面向对象 第二弹
目录 6. 面向对象的三大特性 6.1 封装 6.1.1 私有 private 6.1.2 受保护 protected 6.1.3 公开 public 6.2 继承 6.2.1 继承的概念与作用 6. ...
- python笔记 - day7-1 之面向对象编程
python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...
- python聚类算法实战详细笔记 (python3.6+(win10、Linux))
python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念: 1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...
- Java程序猿的JavaScript学习笔记(6——面向对象模拟)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Python3中面向对象 OOP
Python3中面向对象 OOP 定义: python中通过关键字 class 实现类的定义: class ClassName(object): pass 获取成员变量:ClassName.变量名 修 ...
- [Python3] 021 面向对象 第一弹
目录 1. 面向对象概述 1.1 OOP 思想 1.2 几个名词 1.3 类与对象 2. 类的基本实现 2.1 类的命名 2.2 如何声明一个类 2.3 如何实例化一个类 2.4 如何访问对象成员 2 ...
- python学习笔记六 初识面向对象上(基础篇)
python面向对象 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,虽然大家都知道OOP的三大特性 ...
随机推荐
- Java代码自动生成,生成前端vue+后端controller、service、dao代码,根据表名自动生成增删改查功能
本项目地址:https://github.com/OceanBBBBbb/ocean-code-generator 项目简介 ocean-code-generator采用(适用): ,并使用m ...
- 逆向分析objc,所有类的信息都能在动态调试中获取。
因为objc是动态绑定的,程序运行时必须知道如何绑定,依靠的就是类描述.只要知道类描述是如何组织的就可以获取一切有用的信息.不知道是幸运还是不幸,这些信息全部都在运行的程序中.即使没有IDA这样的工具 ...
- 访问formData的数据
vant-ui 的 Uploader 上传图片时,用到formData let fd = new FormData(); fd.append('upImgs', file.file); postIma ...
- 白话布隆过滤器BloomFilter
通过本文将了解到以下内容: 查找问题的一般思路 布隆过滤器的基本原理 布隆过滤器的典型应用 布隆过滤器的工程实现 场景说明: 本文阐述的场景均为普通单机服务器.并非分布式大数据平台,因为在大数据平台下 ...
- Oracle数据库 获取CLOB字段存储的xml格式字符串指定节点的值
参照: Oracle存储过程中使用游标来批量解析CLOB字段里面的xml字符串 背景:在写存储过程时,需要获取表单提交的信息.表单信息是以xml格式的字符串存储在colb类型的字段dataxml中,如 ...
- 新闻实时分析系统 SQL快速离线数据分析
1.Spark SQL概述1)Spark SQL是Spark核心功能的一部分,是在2014年4月份Spark1.0版本时发布的. 2)Spark SQL可以直接运行SQL或者HiveQL语句 3)BI ...
- python3快速入门教程错误和异常
Python 中(至少)有两种错误:语法错误(syntax errors)和异常(exceptions). 语法错误 语法错误又称作解析错误: >>> while True prin ...
- 创建指定python版本的虚拟环境
使用virtualenvwrapper管理虚拟环境 鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper. virtualenvwrapper提供了一系 ...
- 各种优化方法总结比较(sgd/momentum/Nesterov/adagrad/adadelta)
前言 这里讨论的优化问题指的是,给定目标函数f(x),我们需要找到一组参数x,使得f(x)的值最小. 本文以下内容假设读者已经了解机器学习基本知识,和梯度下降的原理. Batch gradient d ...
- word2vec:主要概念和流程
1.单词的向量化表示 一般来讲,词向量主要有两种形式,分别是稀疏向量和密集向量. 所谓稀疏向量,又称为one-hot representation,就是用一个很长的向量来表示一个词,向量的长度为词典的 ...