学习笔记+项目实战
Python+MySQL+Tkinter+matplotlib+pymysql学习及项目实战(持续更新中……)
这是一套学习笔记!旨在提升项目能力。
1.Python
Python基础知识回顾:
- 数据类型 ,将会带来全新的写作体验;
- 将数据归集 元组()、列表[]、集合{}、字典{};
- 条件和循环语句 for、if;while
- 函数和类 语法def;class;
- 模块和库import
- 文件读写 patch;
num = [1,2,3,4,5,6,7 ,8,9] #数列
num2 = [] #空数列2
for i in num: #for循环数列
j = i2 #数列2
num2.append(j) #append()函数的基本语法非常简单,只需要在列表对象后面加上要添加的元素即可
print( num2 ) #打印数列2
a=“abcdef”
b=“def”
c=a.replace(b,‘0’)
print©
abc0
a = “abc%sdef”%‘0000’
%s插入字符串,%‘插入的内容’
#‘含有%s的字符串’%'要插入的字符串
print(a)
abc0000def
a = “abc{}def”.format(‘0000’)
#‘‘含有{}的字符串’。format(‘要插入的字符串’)
print(a)
abc0000def
##切片
#取字符串中的某部分内容(有正序和倒序之分)
a = “123456789”
print(a[0:4])#1-4位字符串
1234
print(a[4:7])#4-7位字符串
567
print(a[-3:])#倒序最面后3位字符串
789
print(a[:3])#正序最前面3位字符串
123
#数据结构
#以某些特定形式存储数据
#列表[数据1,数据2,数据3,数据4]
#列表的数据允许增加和删除,可以嵌套列表和元组,列表中只能根据位置进行读取
##列表的增刪
##列表. append(增加的内容)
##列表. remove(删除的内容)——只进行一次
#字典{‘数据1’:数据1的值,’ 数据2’: 数据2的值}
#元组(数据1,数据2,数据3,数据4)
#元组的数据不允许增加和删除
#集合{数据1,数据2,数据3,数据4}
比较运算符
等于 =
不等于 !=
大于>
小于<
小于等于<=
大于等于>=
#判断
IF语句
if判断条件:
若条件成立,运行这里的语句
else:
若条件不成立,运行这里的语句
a = 2
if a == 1:
print(“a=1”)
else:
print(‘a不等于1’)
range( )
口诀:含前不含后
1 2 3 4 5 6 7 8 9 10
开始值
结束值11-1
for i in range(1,11) :
#逐个运行
a=abc
b=1
print (type (b))
#打印数据类型
len()函数用来帮你衡量数据的长度
#字符串里面总共有多少个元素
#带你读报错: object of type ‘int’ has no len()
#int整数这种数据类型不支持len()函数的使用
round()函数用来帮你保留几位小数
print (round(e,3))
f = input('请输入F的值:’)
print(f)
input()函数用来让用户输入内容
def创建自己的函数
def函数名(参数):
函数内容
调用函数
传参数的3种办法
函数[参数1,参数2,参数3]
函数(传入1,传入2,传入3)
函数(参数1=传入1,参数2=传入2,参数3=传入3)
函数(传入1,传入2,参数3=传入3)
def tixingmianji(sd,xd,gao): #def函数名(参数):
mianji = (sd + xd) * gao / 2 #函数内容
print(mianji)
tixingmianji(sd=2,xd=4,gao=2) #赋值传入参数
tixingmianji(2,4,2) #位置的方式传入参数
函数封装库
pip install xlrd #安装第三方库
import xlrd #使用第三方库
错误解决办法: 使用清华大学的镜像即可
pip install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install xlsxwriter
import xlsxwriter
创建一个新的工作簿
workbook = xlsxwriter.Workbook(‘your_workbook.xlsx’)
添加一个工作表
worksheet = workbook.add_worksheet()
在工作表的A1单元格写入’test’
worksheet.write(‘A1’, ‘test’)
关闭工作簿
workbook.close()
2.MySQL
SQL语句:增、删、查、改
2.1mysql常用语句
net start mysql #win7启动MySQL服务
net stop mysql #win7停止MySQL服务
mysql -h localhost -u root -p #cmd启动MariaDB 密码:123456
登录数据库:mysql -uroot -p
退出数据库:exit/quit
查看当前系统下的数据库:show databases;
创建数据库:create 库名;
使用数据库:use 库名;
查看表:show tables;
建表:create table 表名 (字段名 + 空格 + 数据类型);
查看表结构:desc 表名;
添加值:insert into 表名 (列名) values (值);
查看表中所有数据:select * from 表名;
查询建表时的结构:show create table 表名;
删除字段中的值:delete from 表名 where 条件;
删除表中的字段:delete from 表名 drop column 字段名; 或alter table 表名 drop 字段名
删除表:drop table 表名;
删除库:drop database 库名;
主键约束:primary key
唯一约束:unique
非空约束:not null
默认约束:default
外键约束:foreign key(外键)references主表(主键)
查看别的数据库的表格:show tables from 表名;
###导入csv或者txt格式的数据时,一定要选择好“数据类型”否则导入容易失败###
2.2pymysql
pymysql是一个用于Python编程的第三方模块,用于连接和操作MySQL数据库。
安装:
pip install pymysql
1.导入pymysql模块
import pymysql
2.建立数据库连接
conn = pymysql.connect(
host='localhost', # 主机名(或IP地址)
port=3306, # 端口号,默认为3306
user='root', # 用户名
password='password', # 密码
charset='utf8mb4' # 设置字符编码
)
3.获取mysql服务信息(测试连接,会输出MySQL版本号)
print(conn.get_server_info())
4.创建游标对象
cursor = conn.cursor()
5.选择数据库
conn.select_db("mytable")
6.执行查询操作
cursor.execute('SELECT \* FROM mytable')
7.获取查询结果,返回元组
result : tuple = cursor.fetchall()
8.关闭游标和连接
cursor.close()
conn.close()
3.执行SQL语句
一旦建立了与数据库的连接,我们就可以执行各种SQL操作,例如插入、更新、删除和查询等。以下是一些常见的SQL操作示例:
插入数据
sql = "INSERT INTO mytable (name, age) VALUES ('John', 25)"
cursor.execute(sql)
conn.commit()
更新数据
sql = "UPDATE mytable SET age = 26 WHERE name = 'John'"
cursor.execute(sql)
conn.commit()
cursor.execute();不能更新数据
conn.commit();可以更新数据
cursor.fetchall();查询结果,返回元组
commit() ;繁琐
autocommit = True;自动化
删除数据
sql = "DELETE FROM mytable WHERE name = 'John'"
cursor.execute(sql)
conn.commit()
查询数据
sql = "SELECT \* FROM mytable"
cursor.execute(sql)
只要不涉及数据的更改,可以不需要调用commit()方法提交更改
result = cursor.fetchall()
for row in result:
print(row)
cursor.execute();不能更新数据
conn.commit();可以更新数据
cursor.fetchall();查询结果,返回元组
3.Tkinter
Tkinter 是 Python 中用于创建图形用户界面 (GUI) 的标准库之一。
4.matplotlib
Matplotlib 是一个 Python 的图表绘制库,广泛用于生成各种静态、动态和交互式的图表。它能够创建线图、散点图、条形图、饼图、直方图、误差线图、箱型图、热图、子图网络、散点矩阵等图表。
###4.1 matplotlib图表绘制基本框架
import matplotlib.pyplot as plt #导入库并赋予别名
import numpy as np #同上
%matplotlib inline #
x = np.linspace(0,2*np.pi,100) #x赋值
y = np.sin(x) #y赋值
plt.plot(x,y,'c--') #输出图像
官网:https://matplotlib.org/
纯文本文件:csv;(用英文逗号,分隔的字符)
json;(相当于Python字典的纯文本格式{键值:内容})
下载网络数据:https://www.usgs.gov/
文件导入:(.csv或.json文件有利于数据批处理)
Python导入csv文件
from csv import reader
import numpy as np
filename = '文件名'
with open(filename, 'rt', encoding='UTF-8') as raw_data:
readers = reader(raw_data, delimiter=',')
x = list(readers)
data = np.array(x)
print(data)
print(data.shape)
Python 中读取和写入 JSON
import json
打开 JSON 文件
with open('data.json', 'r') as file:
data = json.load(file)
打印读取的 JSON 数据
print(data)
项目实战
基于Python+MySQL+Tkinter+matplotlib+pymysql的统计管理系统项目实战
项目需要安装原版python,暂时不按照IDE第三方工具,MySQL以及项目所需的所有模块项
目需要安装tkinter. pymysq|及其他-些模块
安装命令如下:
项目结构:
- db.py数据库链接与操作功能
- Ul.py界面设计与功能实现
- main.py项目入口(运行这个py文件运行项目)
项目打包为exe文件需要安装pyinstaller