python使用笔记23--面向对象编程

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)
原文地址:https://www.cnblogs.com/cjxxl1213/p/13089142.html