1.面向对象编程概念

面向对象是包含面向过程
面向过程编程
  买车:
    1、4s看车,买车
    2、上保险 保险公司
    3、交税 地税局
    4、交管所 上牌
面向对象编程
  卖车处:
    1、4s
    2、保险
    3、交税
    4、上牌


  一个模型、一个例子
实例/对象
  实例,通过模型来造具体的东西
实例化
  把模型变成实例的过程

构造函数
  类在实例化的时候,会自动执行
  __init__()

1     def __init__(self,name,sex,color):
2 self.name = name
3 self.sex = sex
4 self.color = color
5 print(id(self))

self
  本类对象
  self就是你实例化的那个变量
  self.xxx=xxx
  在别的函数里就直接可以用了
析构函数
  实例被销毁的时候自动执行的函数

  __def__()

1     def __del__(self):#析构函数
2 print('__del__')

私有

  不是公共的,只能在类里面调用,不能在类外面调用
  函数/变量以__开头,就是私有的

1     def __connect(self):#私有方法
2 self.conn = pymysql.connect(**self.mysql_info)
3 self.cur = self.conn.cursor(pymysql.cursors.DictCursor)

2.面向过程编程小例子

 1 import pymysql
2
3 #面向过程
4 mysql_info = {'host':'127.0.0.1',
5 'port':3306,
6 'user':'root',
7 'password':'123456',
8 'autocommit':True,
9 'db':'db001',
10 'charset':'utf8'}
11
12
13 def connect():#连接数据库
14 connect = pymysql.connect(**mysql_info)
15 cursor = connect.cursor()
16 return connect,cursor
17
18
19 def execute(cursor,sql):#执行sql
20 result = cursor.execute(sql)
21 return result
22
23
24 def close(connect,cursor):#关闭连接
25 cursor.close()
26 connect.close()
27
28
29 connect,cursor = connect()
30 sql = 'select * from user_info'
31 result = execute(cursor,sql)
32 close(connect,cursor)

3.面向对象编程小例子

 1 class MysqlDB:
2 def __init__(self,mysql_info):
3 self.mysql_info = mysql_info
4 self.__connect()
5
6 def __del__(self):#析构函数,实例被销毁的时候自动执行的函数
7 self.__close()
8
9 def __connect(self):#私有方法
10 self.conn = pymysql.connect(**self.mysql_info)
11 self.cur = self.conn.cursor(pymysql.cursors.DictCursor)
12
13 def execute(self,sql):
14 self.execute(sql)
15
16 def execute_one(self):#select * from user_info where name = 'xxx';
17 return self.cur.fetchone()
18
19 def execute_all(self):#select * from user_info;
20 return self.cur.fetchall()
21
22 def execute_many(self,limit):
23 return self.cur.fetchmany(limit)
24
25 def __close(self):
26 self.cur.close()
27 self.conn.close()
28
29
30 m = MysqlDB(mysql_info)
31 m.execute('select * from user_info;')
32 result = m.execute_all()
33 print(result)

python使用笔记23--面向对象编程的更多相关文章

  1. python 学习笔记7 面向对象编程

    一.概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强..." ...

  2. python学习笔记(七):面向对象编程、类

    一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...

  3. Python学习笔记之面向对象编程(三)Python类的魔术方法

    python类中有一些方法前后都有两个下划线,这类函数统称为魔术方法.这些方法有特殊的用途,有的不需要我们自己定义,有的则通过一些简单的定义可以实现比较神奇的功能 我主要把它们分为三个部分,下文也是分 ...

  4. python学习笔记1 -- 面向对象编程高级编程1

    说起高级其实也就是些基础的东西,但是活用和熟用肯定会大幅度提升代码质量 首先要记录的是面向对象的灵活性,及如何去控制其灵活性,她允许你在实例中新增属性和方法,允许你给类新增属性和方法,也支持在定义类时 ...

  5. python学习笔记1 -- 面向对象编程类和实例

    由于之前有一定基础,所以python中的类的概接受的比较快,与其他语言一样, python也是通过类来进行事务的抽象,一切皆对象,要不然怎么说程序员不缺对象呢. 言归正传,python中类的声明是cl ...

  6. Python:笔记(3)——面向对象编程

    Python:笔记(3)——面向对象编程 类和面向对象编程 1.类的创建 说明:和Java不同的是,我们不需要显示的说明类的字段属性,并且可以在后面动态的添加. 2.构造函数 构造函数的功能毋庸置疑, ...

  7. python自动化测试学习笔记-7面向对象编程,类,继承,实例变量,邮件

    面向对象编程(OOP)术语: class TestClass(object):   val1 = 100       def __init__(self):     self.val2 = 200   ...

  8. 洗礼灵魂,修炼python(40)--面向对象编程(10)—定制魔法方法+time模块

    定制魔法方法 1.什么是定制魔法方法 首先定制是什么意思呢?其实就是自定义了,根据我们想要的要求来自定义.而在python中,其实那些所谓的内置函数,内置方法,内置属性之类的其实也是自定义出来的,不过 ...

  9. python学习笔记(6)--面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.   引言 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做(人狗大战)的游戏,你就思 ...

  10. C++ Primer 学习笔记_69_面向对象编程 --继承情况下的类作用域

    面向对象编程 --继承情况下的类作用域 引言: 在继承情况下,派生类的作用域嵌套在基类作用域中:假设不能在派生类作用域中确定名字,就在外围基类作用域中查找该名字的定义. 正是这样的类作用域的层次嵌套使 ...

随机推荐

  1. H.265视频编码与技术全析(上)

    H.265视频编码与技术全析(上) 一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是 ...

  2. MinkowskiPooling池化(下)

    MinkowskiPooling池化(下) MinkowskiPoolingTranspose class MinkowskiEngine.MinkowskiPoolingTranspose(kern ...

  3. Single Shot Multibox Detection (SSD)实战(上)

    Single Shot Multibox Detection (SSD)实战(上) 介绍了边界框.锚框.多尺度对象检测和数据集.现在,我们将利用这些背景知识构建一个目标检测模型:单次多盒检测(SSD) ...

  4. GPU端到端目标检测YOLOV3全过程(上)

    GPU端到端目标检测YOLOV3全过程(上) Basic Parameters: Video: mp4, webM, avi Picture: jpg, png, gif, bmp Text: doc ...

  5. 重新整理 .net core 实践篇—————日志系统之结构化[十八]

    前言 什么是结构化呢? 结构化,就是将原本没有规律的东西进行有规律话. 就比如我们学习数据结构,需要学习排序然后又要学习查询,说白了这就是一套,没有排序,谈如何查询是没有意义的,因为查询算法就是根据某 ...

  6. 停车场事故频频,AI 达人将摄像头变身安全卫士

    2021 年 2 月,"新内容 新交互" 全球视频云创新挑战赛启幕.本次大赛由英特尔联合阿里云主办,与优酷战略技术合作,天池平台和阿里云视频云团队共同承办.大赛自开赛以来,吸引了全 ...

  7. npm install 动不动卡住咋办?

    Hello 我是大粽子 孩子静消消,必定在作妖.我这三天静消消,也是在憋大招. 提前预告下,最近和视频号的文档正在较劲,剩下的功能大家猜猜.暂时没有留言功能,可以私信回复,猜对的下次购买时提我大名10 ...

  8. DarkGreenTrip博客搭建成功

    本博客(https://www.cnblogs.com/zhangshuhao1116)自2021年6月19日由 Shu-How Z  搭建成功,2018年搭建过hexo+next.Wordpress ...

  9. 通过Z-Order技术加速Hudi大规模数据集分析方案

    1. 背景 多维分析是大数据分析的一个典型场景,这种分析一般带有过滤条件.对于此类查询,尤其是在高基字段的过滤查询,理论上只我们对原始数据做合理的布局,结合相关过滤条件,查询引擎可以过滤掉大量不相关数 ...

  10. C# 位图BitArray 小试牛刀

    前面聊了布隆过滤器,回归认识一下位图BitMap,阅读前文的同学应该发现了布隆过滤器本身就是基于位图,是位图的一种改进. 位图 先看一个问题, 假如有1千万个整数,整数范围在1到1亿之间,如何快速确定 ...