❧ Python笔记
一、Miniconda安装
1、官网下载并安装;
注意:
在Git Base使用conda时,需要进行初始化 conda init bash,否则会报错。
如果报错下图错误:
则在 .bash_profile 或 .bashrc 文件中添加以下内容:
# 告诉Python解释器,在处理文本数据时,默认使用UTF-8编码export PYTHONUTF8=1每次启动Git Bash时,都会自动激活conda环境,如果想关闭请执行以下命令:
conda config --set auto_activate_base false二、Miniconda使用
1、创建环境
conda create -n your_name python=3.82、激活(切换环境)和退出
conda activate your_name #进入
conda deactivate #退出3、安装和删除模块
conda install module_name #添加模块
conda install module_name=1.0.0 #安装固定版本
conda remove module_name #删除模块4、查看环境列表
conda env list5、删除环境
conda remove -n your_name --all6、查看安装的包列表
conda list7、镜像源配置
conda config --get channels #查看
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/三、python基础知识
1、数据类型
| 数据类型 | 中文说明 |
|---|---|
| int | 整型 |
| float | 浮点型 |
| bool | 布尔型 |
| str | 字符串类型 |
| list | 列表类型 |
| tuple | 元组类型 |
| set | 集合类型 |
| dict | 字典类型 |
list: 是Python内置的有序可变序列,允许重复元素存在。它可以通过索引和切片操作来访问、修改和删除其中的元素。list使用中括号[]表示,例如:[1, 2, 3]。tuple: 是Python内置的有序不可变序列,也允许重复元素存在。它与列表的区别在于,元组中的元素不能被修改或删除。tuple使用小括号()表示,例如:(1, 2, 3)。set: 是Python内置的无序集合,不允许重复元素存在。它支持并、交、差等常见集合运算。集合的创建使用花括号{}或者set()函数,例如:{1, 2, 3}或set([1, 2, 3])。dict:是Python内置的无序键值对集合,也称为字典。它可以通过键来访问、添加、修改和删除其对应的值。字典使用花括号{}表示,每个元素由一个键和一个值组成,中间用冒号:分隔,元素之间用逗号,分隔,例如:{"name": "Alice", "age": 20}。
2、字符串截取
name = 'hello world'print(name[2:-1]) #左包含,右不包含print(name * 3) #打印3次3、list列表
list_arr = ['acb', 123, True]print(list_arr[1:2])4、关键字
| 关键字 | 说明 |
|---|---|
False | 表示布尔值假,不可修改 |
True | 表示布尔值真,不可修改 |
None | 表示空值或者不存在的对象,不可修改 |
and | 逻辑与运算 |
or | 逻辑或运算 |
not | 逻辑非运算 |
if | 条件语句的开始 |
else | 条件语句中条件不成立时执行的分支 |
elif | 条件语句中多个条件判断时使用 |
while | 循环语句的开始 |
for | 循环语句中遍历序列元素时使用 |
break | 终止循环 |
continue | 终止本次循环并进入下一次循环 |
def | 函数定义的关键字 |
return | 返回函数结果 |
lambda | 定义匿名函数 |
try | 异常处理语句的开始 |
except | 捕获异常 |
finally | 无论是否捕获到异常,最终都会被执行 |
raise | 抛出异常 |
class | 定义类 |
is | 判断两个变量是否引用同一个对象 |
in | 判断一个值是否在一个序列中 |
import | 导入模块 |
from | 从模块中导入特定的部分 |
global | 声明变量为全局变量 |
nonlocal | 在嵌套函数中声明变量为非局部变量 |
四、Flask安装和使用
1、Flask安装
pip install Flask# 或者pip install -r requirements.txt2、简单使用
from flask import Flask
app = Flask(__name__)
@app.route('/')def hello(): return "Hello, I love imooc!"
if __name__ == '__main__': app.run(host='0.0.0.0')3、变量配置
# 定义变量方式app.config['DEBUG'] = True
# 模块方式加载,创建config目录并新建base_setting.py文件,内容如下:# DEBUG = Trueapp.config.from_object("config.base_setting")
# 配置文件方式【推荐】app.config.from_pyfile("config/base_setting")4、路由注册
- app.route 和 app.add_url_rule
- 蓝图【推荐使用】
# 方法一@app.route('/my/<user_name>')def hello(user_name): return "Hello, %s" % (user_name)
# 方法二app.add_url_rule(rule = "/", view_func = hello)使用蓝图路由注册
from flask import Flaskfrom indexController import index_page
app = Flask(__name__)
# 路由注册app.register_blueprint(index_page, url_prefix = '/imooc')
if __name__ == '__main__': app.run(host='0.0.0.0', debug=True)
# indexController.pyfrom flask import Blueprint
index_page = Blueprint("index_page", __name__)
@index_page.route('/')def index(): return "index page"
@index_page.route('/my')def index2(): return "hello page"5、请求参数获取
# GET 参数request.args.get('name', 'zhangsan')
# POST 参数var_name = request.form['name'] if 'name' in request.form else ''
# 通用获取参数request.values['name']6、响应内容格式
# json格式@index_page.route('/')def index(): data = {"a": "b"} response = make_response(jsonify(data)) return response
# 模板渲染,创建同级目录templates,该目录下放入静态文件@index_page.route('/my')def index2(): return render_template("index.html")7、连接mysql数据库
安装mysql库
pip install flask-sqlalchemypip install mysqlclient # 或者安装pymysql,使用该依赖协议需要改成 mysql+pymysql://连接数据库
# database.py文件from flask_sqlalchemy import SQLAlchemydb = SQLAlchemy()
# 入口文件from database import dbapp = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql://root:123456@127.0.0.1/mysql"app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False# 初始化SQLAlchemy对象db.init_app(app)
# 查询数据库from database import dbsql = text("select * from `user`")connection = db.engine.connect()result = connection.execute(sql)rows = result.fetchall()
data = []for row in rows: data.append({"name": row[1]})数据库表自动生成model
# 安装flask-sqlacodegenpip install flask-sqlacodegen
# 使用方法flask-sqlacodegen 'mysql://root:123456@127.0.0.1/mysql' --tables user --outfile "common/models/user.py" --flask