python基础学习

79 阅读3分钟

1. 环境搭建

1.1 安装 Python

首先,你需要安装 Python 3.9 及以上版本。可以从 Python 官方网站 下载适合你操作系统的安装包,然后按照安装向导进行安装。安装完成后,打开命令行工具,输入以下命令检查 Python 是否安装成功:

python --version

1.2 创建虚拟环境

为了避免不同项目之间的依赖冲突,建议使用虚拟环境。在命令行中执行以下命令来创建和激活虚拟环境:

# 创建虚拟环境
python -m venv myenv

# 激活虚拟环境(Windows)
myenv\Scripts\activate

# 激活虚拟环境(Linux/Mac)
source myenv/bin/activate

1.3 安装 Flask 框架

Flask 是一个轻量级的 Web 框架,非常适合初学者。在激活虚拟环境后,使用以下命令安装 Flask:

pip install flask

2. 第一个 Flask 应用

2.1 编写简单的 Flask 应用

创建一个名为 app.py 的文件,在其中编写以下代码:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(debug=True)

上述代码创建了一个简单的 Flask 应用,当访问根路径 / 时,会返回 Hello, World!

2.2 运行应用

在命令行中执行以下命令来运行应用:

python app.py

打开浏览器,访问 http://127.0.0.1:5000,你将看到 Hello, World! 的输出。

3. 路由和视图函数

3.1 定义路由

Flask 使用 @app.route 装饰器来定义路由。以下是一个示例,展示如何定义不同的路由:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return '这是主页'

@app.route('/about')
def about():
    return '这是关于页面'

if __name__ == '__main__':
    app.run(debug=True)

3.2 动态路由

Flask 支持动态路由,允许在路由中使用变量。以下是一个动态路由的示例:

from flask import Flask

app = Flask(__name__)

@app.route('/user/<username>')
def show_user_profile(username):
    return f'用户 {username} 的个人资料'

if __name__ == '__main__':
    app.run(debug=True)

在浏览器中访问 http://127.0.0.1:5000/user/john,你将看到 用户 john 的个人资料 的输出。

4. 处理请求和响应

4.1 获取请求参数

Flask 可以通过 request 对象获取请求参数。以下是一个示例:

from flask import Flask, request

app = Flask(__name__)

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form.get('username')
        password = request.form.get('password')
        return f'你提交的用户名是 {username},密码是 {password}'
    else:
        return '这是登录页面'

if __name__ == '__main__':
    app.run(debug=True)

4.2 返回 JSON 响应

在后端开发中,经常需要返回 JSON 数据。Flask 可以使用 jsonify 函数来返回 JSON 响应:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/data')
def get_data():
    data = {
        'name': 'John',
        'age': 30,
        'city': 'New York'
    }
    return jsonify(data)

if __name__ == '__main__':
    app.run(debug=True)

5. 数据库操作(使用 SQLite)

5.1 安装 SQLAlchemy

SQLAlchemy 是一个强大的 Python SQL 工具包,支持多种数据库。使用以下命令安装 SQLAlchemy:

pip install sqlalchemy

5.2 创建数据库模型

创建一个名为 models.py 的文件,在其中定义数据库模型:

from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(80), nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

    def __repr__(self):
        return f'<User {self.name}>'

5.3 在 Flask 应用中使用数据库

修改 app.py 文件,使其使用数据库:

from flask import Flask
from models import db, User

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)

@app.before_first_request
def create_tables():
    db.create_all()

@app.route('/add_user/<name>/<email>')
def add_user(name, email):
    new_user = User(name=name, email=email)
    db.session.add(new_user)
    db.session.commit()
    return f'用户 {name} 已添加'

@app.route('/users')
def get_users():
    users = User.query.all()
    user_list = [{'name': user.name, 'email': user.email} for user in users]
    return jsonify(user_list)

if __name__ == '__main__':
    app.run(debug=True)

6. 部署应用

在开发完成后,你可以将应用部署到生产环境中。常见的部署方式包括使用 Docker、Heroku、AWS 等。这里简单介绍使用 Gunicorn 部署到服务器的步骤:

6.1 安装 Gunicorn

pip install gunicorn

6.2 运行应用

gunicorn -w 4 app:app

其中,-w 4 表示使用 4 个工作进程,app:app 表示从 app.py 文件中导入 app 对象。

以上就是一个简单的后端 Python 开发教程,涵盖了环境搭建、Flask 框架使用、数据库操作和应用部署等方面的内容。你可以根据自己的需求进一步扩展和优化应用。