模块和包
python中将一个.py文件就成为一个模块文件
模块文件可以放在包中
可以在包中创建子包
在同一模块文件中如果代码太多,就有可能导致变量和函数名重复的情况
其次代码的阅读性很差
一般情况建议,一个模块文件中代码不超过500行
一、在不同的模块文件中使用其他模块封装好的函数和变量
方式一:导入整个模块文件
# 导入test.py 这个模块下的所有内容(函数和变量)
import test
# 使用变量
print(test.var1)
# 使用导入的函数
test.calc_s()
test.calc_s_c()
方式二:
导入某个函数
# 导入test模块下的calc_s函数
from test import calc_s
# 调用函数
calc_s()
导入某个变量
# 导入test模块下的变量
from test import var1
# 使用变量
print(var1)
导入同一个模块下标的多个函数和变量
# 导入test模块下的变量和某个函数,中间使用逗号隔开
from test import calc_s, var1, calc_s_c
# 使用变量
print(var1)
# 调用函数
calc_s()
calc_s_c()
使用星号导入某个模块下的所有内容(不推荐)
# 导入test模块下所有变量和函数
from test import *
# 使用变量
print(var1)
# 调用函数
calc_s()
calc_s_c()
起别名
# 如果不同模块文件下的函数重名了,则需要给其中一个起别名
# 使用as起别名,别名仅限于当前这个模块使用,不会对原函数的名字造成影响
from test import calc_s as c
def calc_s():
print("这是test03中函数calc_s")
calc_s()
# 通过别名调用
c()
二、模块文件在包中,函数和变量的导入
-
导入整个模块文件
import day05.test
使用变量
print(day05.test.var1)
调用函数
day05.test.calc_s()
day05.test.calc_s_c()
2. 指定导入某个函数和变量
```python
from day05.test import var1, calc_s
# 使用变量
print(var1)
# 函数调用
calc_s()
-
星号导入该模块下的所有内容
# * from day05.test import * # 使用变量 print(var1) # 函数调用 calc_s() calc_s_c()
-
起别名
from day05.test import calc_s as c def calc_s(): print(“这是demo02下的函数calc_s”)
函数调用
# 三、pymysql操作MySQL数据库
### 1.安装
- pip 安装(推荐)
pip install pymsql
查看当前已经安装的所有模块和库
pip list
卸载
pip uninstall 库名
更新某个库
pip isntall 库名 -U
由于网络原因有时候下载的时候会失败,所以我们可以指定下载源地址
pip install 库名 -i http://pypi.douban.com/simple/ —trusted-host pypi.douban.com
例如:
pip install pymysql -i http://pypi.douban.com/simple/ —trusted-host pypi.douban.com
### 利用pymysql创建表
```python
import pymysql
# 连接mysql数据库
conn = pymysql.connect(host="172.16.3.153", # ip
port=3307, # 端口
user='root', # 用户名
password="123456", # 密码
database="bss" # 库名
)
# 申请游标
cur = conn.cursor()
# 通过代码执行的时候,SQL整体要是一个字符串
s = """
create table user (
first_name CHAR(20) NOT NULL,
last_name CHAR(20),
age INT,
sex CHAR(1),
income FLOAT )
"""
# 执行SQL
cur.execute(s)
# 将执行的信息 提交到连接对象
conn.commit()
# 关闭和mysql数据库的连接
conn.close()
插入数据
# 插入数据
import pymysql
# 创建连接对象
conn = pymysql.connect(host="172.16.3.153", port=3307, user="root", password="123456", database="bss")
# 申请游标
cur = conn.cursor()
s = "INSERT INTO `user` VALUES ('张', '小猪', 25, 'M', 20000000000000000000)"
# 执行SQL
cur.execute(s)
# 提交执行信息
conn.commit()
# 关键连接
conn.close()
修改数据
# 修改数据
import pymysql
# 创建连接对象
conn = pymysql.connect(host="172.16.3.153", port=3307, user="root", password="123456", database="bss")
# 申请游标
cur = conn.cursor()
s = 'UPDATE `user` SET last_name="三丰" WHERE first_name="张"'
# 执行SQL
cur.execute(s)
# 提交执行信息
conn.commit()
# 关键连接
conn.close()
删除数据
# 修改数据
import pymysql
# 创建连接对象
conn = pymysql.connect(host="172.16.3.153", port=3307, user="root", password="123456", database="bss")
# 申请游标
cur = conn.cursor()
s = 'DELETE FROM `user` WHERE first_name="zhu"'
# 执行SQL
cur.execute(s)
# 提交执行信息
conn.commit()
# 关键连接
conn.close()