Python学习笔记(二)

来源:互联网 发布:mg汽车 知乎 编辑:程序博客网 时间:2024/06/08 04:49

文章始于:2017年10月1日

祖国的生日到啦~祝大家国庆堵车快乐~
烤烤你:什么时候7+3=8?算错的时候?No,是国庆和中秋相逢的时候,何出此言?国庆7天假+中秋3天假=8天小长假,呵呵,也是醉了。

当然,程序员的生活里,是没有假期的,闲话不多说了,进入正题:
上次笔记中,使用Python做了一个简单的爬虫程序,顺利地将制定网站的图片下载了下来。而这次,我们将使用Python面向对象编程,操作MySQL。


Python+MySQL:数据库

(一)安装模块

  1. Python+MySQL需要使用第三方库:MySQLdb,它提供了Python与MySQL数据库连接、数据传输等各类方法。我是在一个第三方网站上下载的:http://www.codegood.com/archives/129,点击下载,选择路径,傻瓜式安装即可。安装成功的话,在程序中输入一下语句import MySQLdb 运行,若未报错,则证明安装成功。

(一)代码详解

#-- coding:utf-8 --import MySQLdbclass MySQLConnector:    #MySQL数据库连接基类    def __init__(self, port, username, password, dbname):        self.dbname = dbname        self.conn = self.Connect(port, username, password, dbname)    def Connect(self, port, username, password, dbname):        return MySQLdb.connect(port, username, password, dbname)    def Select(self):        cursor = self.conn.cursor()        cursor.execute("select * from score")        data = cursor.fetchall()        return data    def Close(self):        self.conn.close()conn = MySQLConnector("localhost", "root", "root", "creditmanager")print conn.dbname, ":", conn.Select()conn.Close()

没错,这就是一段调用API的程序,首先构建了一个MySQLConnector类,将MySQLdb内的接口封装成函数,进行连接和简单的操作。这里的前提是:已经安装并可以正常是使用MySQL。
下面主要对这个MySQLConnector类的构建进行一些讲解:

def __init__(self, port, username, password, dbname):    self.dbname = dbname    self.conn = self.Connect(port, username, password, dbname)
  • 类的构造函数,Python中,类的构造函数名称是确定的:__init__ ,在构造函数的形参中,有一个self参数,它是被默认键入的,当然名称可以由用户更改,在Python类中的每一个函数都有此参数,作为首位形参。
    通过这个参数,可以访问属于这个类的变量,就如C++、Java中的全局变量。
  • self.dbname 这里定义了一个全局实例dbname,由形参dbname直接赋值。
  • self.conn = self.Connect(port, username, password, dbname) 定义了一个实例conn,由Connect方法(数据库连接管理实例)赋值。
def Connect(self, port, username, password, dbname):    return MySQLdb.connect(port, username, password, dbname)
  • Connect数据库连接方法,形参包括,数据库连接需要用到的port(端口号),username(用户名),password(密码),dbname(数据库名称)。内部使用了MySQLdb的connect方法。
def Select(self):    cursor = self.conn.cursor()    cursor.execute("select * from score")    data = cursor.fetchall()    return data
  • Select数据库搜索方法,返回搜索结果,是一个包含表格数据的多维向量。
def Close(self):    self.conn.close()
  • 数据库连接关闭函数,将数据库连接实例conn的连接关闭。