找回密码
 立即注册
首页 业界区 业界 Python 入门:从“其他语言”到 Pythonic 思维的完整迁 ...

Python 入门:从“其他语言”到 Pythonic 思维的完整迁移手册

巨到 4 小时前
想学学python搞ai应用开发,但是好多教程都是从“hello world" 开始,太痛苦了。因此,整理了这份文档。面向有编程基础的开发者,快速掌握 Python 开发全貌
一、环境管理

Python 版本管理

macOS / Linux(pyenv)
  1. # 安装 pyenv
  2. curl https://pyenv.run | bash
  3. # 常用命令
  4. pyenv install 3.12.0        # 安装指定版本
  5. pyenv global 3.12.0         # 设置全局版本
  6. pyenv local 3.11.0          # 设置当前目录版本(生成 .python-version)
  7. pyenv versions              # 列出所有已安装版本
  8. pyenv which python          # 查看当前 python 路径
复制代码
Windows(PowerShell)
  1. # 方式一:winget 直接安装(最简单)
  2. # 设置国内源加速:winget source add winget https://mirrors.cernet.edu.cn/winget-source --trust-level trusted
  3. winget search Python.Python        # 搜索可用版本
  4. winget install Python.Python.3.12  # 安装
  5. winget upgrade Python.Python.3.12  # 升级
  6. # 验证(Windows 用 python,不是 python3)
  7. python --version
  8. pip --version
复制代码
⚠️ 使用官网 .exe​ 安装包时,务必勾选 ​Add Python to PATH​,否则终端找不到 python 命令。
  1. # 方式二:pyenv-win(推荐,支持多版本切换)
  2. Invoke-WebRequest -UseBasicParsing `
  3.   -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" `
  4.   -OutFile "$HOME\install-pyenv-win.ps1"
  5. & "$HOME\install-pyenv-win.ps1"
  6. # 重启 PowerShell 后,命令与 Unix pyenv 完全相同
  7. # 配置环境变量,使用加速源。环境变量名:PYTHON_BUILD_MIRROR_URL,值:https://registry.npmmirror.com/-/binary/python
  8. pyenv install 3.12.0
  9. pyenv global 3.12.0
  10. pyenv local 3.11.0
  11. pyenv versions
  12. pyenv rehash              # 安装新版本后刷新 shims
  13. # 如果 python 命令找不到,检查 PATH
  14. where.exe python
  15. $env:PATH -split ";"
复制代码
虚拟环境

macOS / Linux
  1. python -m venv .venv              # 创建
  2. source .venv/bin/activate         # 激活
  3. deactivate                        # 退出
复制代码
Windows(PowerShell)
  1. # 创建(与 Unix 相同)
  2. python -m venv .venv
  3. # 激活 —— PowerShell 专用,注意与 bash 不同!
  4. .\.venv\Scripts\Activate.ps1
  5. # 激活后提示符出现 (.venv) 前缀
  6. # (.venv) PS C:\myproject>
  7. # 退出
  8. deactivate
  9. # 删除虚拟环境
  10. Remove-Item -Recurse -Force .venv
复制代码
⚠️ 首次激活若报"无法加载文件"执行策略错误,运行一次即可解决:
  1. Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
复制代码
  1. :: CMD(命令提示符)激活方式
  2. .venv\Scripts\activate.bat
复制代码
  1. # Git Bash 激活方式
  2. source .venv/Scripts/activate
复制代码
conda(科学计算场景,跨平台)
  1. conda create -n myenv python=3.12
  2. conda activate myenv
  3. conda deactivate
复制代码
现代工具链(推荐 uv)
  1. # uv:极速包管理器,兼容 pip 语法,Rust 编写
  2. pip install uv
  3. uv venv                           # 创建虚拟环境
  4. uv pip install requests           # 安装包
  5. uv pip sync requirements.txt      # 同步依赖
复制代码
二、包管理

pip 基础命令
  1. pip install requests              # 安装
  2. pip install requests==2.31.0      # 安装指定版本
  3. pip install "requests>=2.28,<3"   # 版本范围
  4. pip uninstall requests            # 卸载
  5. pip list                          # 列出已安装包
  6. pip show requests                 # 查看包信息
  7. pip freeze > requirements.txt     # 导出依赖
  8. pip install -r requirements.txt   # 从文件安装
  9. pip install -e .                  # 以开发模式安装当前包
  10. pip install --upgrade requests    # 升级
复制代码
三、项目结构

标准项目结构
  1. requests==2.31.0
  2. numpy>=1.24.0
  3. pandas
  4. fastapi[all]>=0.100.0
复制代码
简单脚本结构
  1. [build-system]
  2. requires = ["hatchling"]
  3. build-backend = "hatchling.build"
  4. [project]
  5. name = "my-project"
  6. version = "0.1.0"
  7. description = "My awesome project"
  8. readme = "README.md"
  9. requires-python = ">=3.10"
  10. dependencies = [
  11.     "requests>=2.28",
  12.     "fastapi>=0.100",
  13. ]
  14. [project.optional-dependencies]
  15. dev = [
  16.     "pytest>=7.0",
  17.     "black",
  18.     "mypy",
  19. ]
  20. [project.scripts]
  21. my-cli = "my_project.cli:main"    # 命令行入口
复制代码
四、程序入口
  1. my_project/
  2. ├── .venv/                    # 虚拟环境(不提交 git)
  3. ├── .github/
  4. │   └── workflows/            # CI/CD 配置
  5. ├── src/
  6. │   └── my_project/           # 源代码(src layout,推荐)
  7. │       ├── __init__.py
  8. │       ├── main.py           # 主程序
  9. │       ├── config.py         # 配置
  10. │       ├── models/
  11. │       │   ├── __init__.py
  12. │       │   └── user.py
  13. │       ├── services/
  14. │       │   ├── __init__.py
  15. │       │   └── user_service.py
  16. │       └── utils/
  17. │           ├── __init__.py
  18. │           └── helpers.py
  19. ├── tests/
  20. │   ├── __init__.py
  21. │   ├── conftest.py           # pytest 配置/fixtures
  22. │   ├── test_main.py
  23. │   └── services/
  24. │       └── test_user_service.py
  25. ├── docs/
  26. ├── scripts/                  # 工具脚本
  27. ├── .env                      # 环境变量(不提交 git)
  28. ├── .env.example              # 环境变量示例(提交 git)
  29. ├── .gitignore
  30. ├── pyproject.toml            # 项目配置(现代标准)
  31. ├── requirements.txt          # 依赖(可选)
  32. └── README.md
复制代码
  1. simple_app/
  2. ├── app.py
  3. ├── requirements.txt
  4. └── .env
复制代码
命令行参数
  1. # main.py
  2. def main():
  3.     print("Hello, Python!")
  4. # 关键:判断是否作为主程序运行(而非被导入)
  5. if __name__ == "__main__":
  6.     main()
复制代码
五、基础语法

变量与赋值
  1. # 运行方式
  2. python main.py
  3. python -m my_project.main    # 以模块方式运行
复制代码
注释
  1. import argparse
  2. def main():
  3.     parser = argparse.ArgumentParser(description="My tool")
  4.     parser.add_argument("name", help="Your name")
  5.     parser.add_argument("-v", "--verbose", action="store_true")
  6.     parser.add_argument("--count", type=int, default=1)
  7.     args = parser.parse_args()
  8.     for _ in range(args.count):
  9.         print(f"Hello, {args.name}!")
  10. if __name__ == "__main__":
  11.     main()
复制代码
基本运算
  1. # 变量赋值示例
  2. x = 10 # 动态类型,可以随时改变类型
  3. print(x) # 输出 10
  4. x = "Hello, World!" # 现在 x 是一个字符串
  5. print(x) # 输出 "Hello, World!"
  6. x, y, z = 20, 30, 40 # 多变量赋值
  7. print(x, y, z) # 输出 20 30 40
  8. a = b = c = 50 # 链式赋值
  9. print(a, b, c) # 输出 50 50 50
  10. x, *rest = [1, 2, 3, 4, 5] # 解包赋值,rest 将包含剩余的值
  11. print(x) # 输出 1
  12. print(rest) # 输出 [2, 3, 4, 5]
  13. _, second, *_ = [10, 20, 30, 40] # 使用 _ 忽略不需要的值
  14. print(second) # 输出 20
  15. # 命名规范
  16. my_variable = 100 # 变量名应该使用小写字母和下划线分隔(snake_case)
  17. MY_CONSTANT = 3.14 # 常量名应该使用大写字母和下划线分隔(UPPER_SNAKE_CASE)
  18. MyClass = "This is a class name" # 类名应该使用大写字母开头的驼峰命名法(PascalCase)
  19. _private_variable = "This is a private variable" # 私有变量通常以单下划线开头
  20. __dunder_variable__ = "This is a dunder variable" # 双下划线变量通常用于特殊用途,如 __init__ 或 __str__
复制代码
六、数据类型

数字
  1. # 单行注释
  2. """
  3. 多行注释示例
  4. 这是一个多行注释的示例,可以用于函数说明文档或者代码块的解释。
  5. """
  6. def example_function(param1, param2) -> str:
  7.     """ 函数说明文档
  8.     Args:
  9.         param1 (int): 这是第一个参数的说明
  10.         param2 (str): 这是第二个参数的说明
  11.     Returns:
  12.         str: 这是函数返回值的说明
  13.     """
  14.     pass # 这里是函数体的占位符,实际代码应该在这里编写
复制代码
字符串

[code]s = "hello"s = 'hello's = """多行字符串"""# f-string(推荐,Python 3.6+)name = "Alice"print(f"Hello, {name}!")print(f"2 + 3 = {2 + 3}")print(f"{3.14159:.2f}")  # 格式化浮点数, 保留两位小数print(f"{{}}")  # 输出花括号print(f"{1000000:,}")  # 数字千位分隔符, 1,000,000print(f"{'Alice':>10}")  # 右对齐,      Aliceprint(f"{'Bob':

相关推荐

您需要登录后才可以回帖 登录 | 立即注册