zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    Linux如何自动获取IP地址
    jq操作select集合
    UDP and TCP
    IPv6
    DHCP, NAT
    队列之顺序存储实现
    ARP, Fragmentation and Reassembly
    Classless Interdomain Routing (CIDR)
    Subnet Routing Examples
    Subnetting
  • 原文地址:https://www.cnblogs.com/cjxxl1213/p/13089142.html
Copyright © 2011-2022 走看看