跳转到内容

❧ Python笔记

一、Miniconda安装

1、官网下载并安装;

注意:

在Git Base使用conda时,需要进行初始化 conda init bash,否则会报错。

如果报错下图错误: image 则在 .bash_profile.bashrc 文件中添加以下内容:

Terminal window
# 告诉Python解释器,在处理文本数据时,默认使用UTF-8编码
export PYTHONUTF8=1

每次启动Git Bash时,都会自动激活conda环境,如果想关闭请执行以下命令:

Terminal window
conda config --set auto_activate_base false

二、Miniconda使用

1、创建环境

Terminal window
conda create -n your_name python=3.8

2、激活(切换环境)和退出

Terminal window
conda activate your_name #进入
conda deactivate #退出

3、安装和删除模块

Terminal window
conda install module_name #添加模块
conda install module_name=1.0.0 #安装固定版本
conda remove module_name #删除模块

4、查看环境列表

Terminal window
conda env list

5、删除环境

Terminal window
conda remove -n your_name --all

6、查看安装的包列表

Terminal window
conda list

7、镜像源配置

Terminal window
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安装

Terminal window
pip install Flask
# 或者
pip install -r requirements.txt

2、简单使用

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 = True
app.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)

使用蓝图路由注册

index.py
from flask import Flask
from 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.py
from 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库

Terminal window
pip install flask-sqlalchemy
pip install mysqlclient # 或者安装pymysql,使用该依赖协议需要改成 mysql+pymysql://

连接数据库

# database.py文件
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
# 入口文件
from database import db
app = 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 db
sql = 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

Terminal window
# 安装flask-sqlacodegen
pip install flask-sqlacodegen
# 使用方法
flask-sqlacodegen 'mysql://root:123456@127.0.0.1/mysql' --tables user --outfile "common/models/user.py" --flask