1小时学会Python:安装、环境配置与基础语法实战

1小时学会Python:安装、环境配置与基础语法实战 简介这是一份面向零基础编程初学者的Python入门教程PDF定位于帮助没有编程经验的高校学生、职场转行者或数据分析爱好者在最短时间内建立对Python语言的整体认知解决入门阶段语法零散、不知从何学起的问题。压缩包内共1个PDF文件整体约2MB篇幅紧凑、便于随时查阅适合作为系统学习的起点或日常速查手册。教程围绕五大知识点展开先讲Python简洁语法、强大功能与丰富标准库的基本特点再逐一梳理整数、浮点数、字符串、列表、元组等常用数据类型随后覆盖算术、比较、逻辑运算符以及if-else、for、while等控制结构进而说明函数的定义方式与模块的封装复用思路最后延伸到数据分析、人工智能、Web开发三大应用方向及NumPy、Pandas、TensorFlow、Django、Flask等常用库与框架。目前已有4140人学习下载内容条理清晰、知识点衔接紧密可帮助读者快速上手Python基础并明确后续进阶路径。1. 一小时学会 Python 这件事先要拆成能跑起来的四步很多人拿到「Python入门教程-超详细1小时学会Python.pdf」这类资料第一反应是从第一页开始读结果卡在 python 安装教程的 PATH 勾选、vscode python环境配置的解释器下拉框或者 pycharm配置python环境时找不到虚拟环境。一小时学会 Python 的前提不是看完所有语法而是把「装解释器、配编辑器、跑通第一段 python 代码、写一个能验证的小脚本」串成闭环。这份内容按 python零基础入门教程的节奏走先解决 python下载安装教程里的版本选择再让编辑器替你抓语法错误然后速通 python基础语法最后用文件读写和 python爬虫最小示例做验证。适合还没写过代码、但愿意照着命令敲的人也适合装过 Python 却说不清 pip 和解释器关系的半新手。2. Python 安装教程与解释器选择从 python 下载安装教程到多版本共存Python 安装不是一路点「下一步」就完事。Windows 上常见的翻车现场是装完 python 命令找不到或者系统里同时存在 Microsoft Store 版、python.org 版和 Anaconda 版where python 的第一行指向了不想用的解释器。先确定版本策略再决定安装方式后面配编辑器和装第三方库都会省事。2.1 python 下载安装教程版本、安装包与 PATH 的取舍当前常见选择是 Python 3.11 或 3.12除非某个依赖库明确要求更老版本。python.org 提供 Windows installer、macOS universal2 installer 和源码包Linux 发行版通常自带 python3用系统包管理器安装即可。Windows 安装时务必勾选 Add python.exe to PATH否则后面在 VS Code 或 PyCharm 里选解释器会很别扭。平台推荐方式安装命令或动作验证命令Windowspython.org Windows installer图形化安装勾选 Add python.exe to PATHpython --versionmacOSpython.org universal2 或 Homebrewbrew install python3.12python3 --versionLinux发行版仓库sudo apt install python3 python3-venvpython3 --version# Windows PowerShell查看解释器搜索顺序和版本 where python python --version python -m pip --version # macOS/Linux确认 python3 和 pip 属于同一解释器 which python3 python3 --version python3 -m pip --versionwhere和which用来观察 PATH 顺序第一行通常就是命令行实际调用的解释器。python -m pip比直接写pip更可靠因为它强制使用当前解释器对应的 pip避免出现「python 是 3.12pip 却装到 3.8」的情况。--version只负责输出版本不改变环境。注意如果where python第一行是 WindowsApps 路径而你又没主动用过商店版优先调整 PATH 顺序或在 VS Code 里手动指定 python.org 版解释器。2.2 安装后必做的 pip 与 venv 初始化系统级 Python 只用来当基础解释器项目依赖尽量放进虚拟环境。常见做法是在项目根目录执行python -m venv .venv然后激活。虚拟环境不是必须但一旦你同时学 python爬虫、数据处理和 Web 开发没有隔离很容易出现 A 项目升级了 requestsB 项目跑不起来。# 创建项目目录并进入 mkdir py1h cd py1h # 用当前解释器创建虚拟环境 .venv python -m venv .venv # Windows 激活 .venv\Scripts\activate # macOS/Linux 激活 source .venv/bin/activate # 查看当前 pip 对应的解释器 python -m pip -V # 临时使用国内镜像源安装 requests python -m pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simplepython -m venv .venv中-m表示运行标准库模块.venv是环境目录名可以改成venv或env但团队里统一成.venv更省事。激活脚本只修改当前终端的 PATH关掉终端就失效。-i指定本次安装使用的索引地址不写入全局配置想永久换源可以执行python -m pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple之后用python -m pip config list检查。命令作用常用参数python -m venv .venv创建虚拟环境无python -m pip install安装包-i换源、-r读依赖文件python -m pip freeze导出依赖 requirements.txtpython -m pip list查看已装包--outdated看可升级项2.3 多版本 Python 共存与 pyenv、conda 的选择如果你只学一门语言venv 足够。如果经常要在 3.8、3.10、3.12 之间切换pyenv 更轻如果以后要碰科学计算、CUDA、Jupyter 全家桶conda 或 miniconda 更省心。它们不是互斥关系但新手不要同时装三套版本管理工具先把一套用熟。# 使用 pyenv 安装并锁定项目版本 pyenv install 3.12.4 pyenv local 3.12.4 python --version # 或者用 conda 建环境 conda create -n py1h python3.12 -y conda activate py1hpyenv local 3.12.4会在当前目录写.python-version进入目录时自动切换版本。conda create -n py1h python3.12中-n指定环境名-y跳过确认。两者都能解决多版本问题但 venv 只隔离包、不管理解释器版本这一点要分清。3. vscode python环境配置与 pycharm配置python环境让编辑器替你抓错编辑器配置的目标不是好看而是让解释器、依赖、调试器和代码检查指向同一个环境。VS Code 和 PyCharm 都能做到但配置入口不同。新手最常见的错误是终端里激活了.venv编辑器右下角却还选着系统 Python于是 import 报错、调试断点不生效。3.1 vscode python环境配置扩展、解释器与 launch.jsonVS Code 本体不带 Python 支持先装 Python 扩展和 Pylance。打开项目文件夹按CtrlShiftP输入Python: Select Interpreter选中项目下的.venv。然后新建hello.py写入一段带输入的代码按F5调试如果终端能接收输入说明解释器和调试器都对上了。{ version: 0.2.0, configurations: [ { name: Python: 当前文件, type: debugpy, request: launch, program: ${file}, console: integratedTerminal, justMyCode: true, env: { PYTHONPATH: ${workspaceFolder} } } ] }type用debugpy这是新版 Python 扩展的调试器类型program设为${file}表示调试当前打开的 py 文件console设为integratedTerminal后input()才能在集成终端里正常输入justMyCode为 true 时只调试自己写的代码不跳进标准库PYTHONPATH指向工作区根目录方便导入同项目模块。提示如果 VS Code 状态栏没有解释器选项检查 Python 扩展是否已启用或在工作区.vscode/settings.json里手动写python.defaultInterpreterPath。3.2 pycharm配置python环境新建项目时把解释器选对PyCharm 新建项目时Location 下面有 Python Interpreter 一栏。点 Add Local Interpreter选 Virtualenv基础解释器选 python.org 安装的那个位置默认在项目内。已有项目改解释器走File - Settings - Project - Python InterpreterWindows 下是CtrlAltS。选好后PyCharm 底部 Terminal 会自动激活对应环境直接运行python -m pip list就能确认。# 在 PyCharm 终端里确认当前解释器路径 python -c import sys; print(sys.executable) # 安装项目依赖并冻结版本 python -m pip install requests beautifulsoup4 python -m pip freeze requirements.txtsys.executable会打印当前 Python 可执行文件的完整路径这是判断编辑器有没有用错环境的最快方式。freeze把已安装包和版本写进requirements.txt换机器时用python -m pip install -r requirements.txt复现。参数是重定向输出会覆盖原文件别在已有依赖文件上随意覆盖。维度VS CodePyCharm启动速度快较慢调试配置launch.json 可版本化图形化为主重构能力中等强Jupyter装扩展后可用Professional 内置较好远程开发Remote 系列扩展Professional 支持3.3 格式化、检查与交互式运行把常见错误提前暴露代码能跑不等于写得好。black 负责格式化flake8 负责 PEP8 风格检查pylint 给代码打分并提示潜在问题。把这三件套装进虚拟环境再在编辑器里配置保存时格式化能提前发现缩进、未使用变量、命名不规范等问题。python -m pip install black flake8 pylint black hello.py flake8 hello.py --max-line-length100 pylint hello.pyblack hello.py直接原地格式化flake8 --max-line-length100放宽默认 79 字符限制适合现代宽屏pylint输出评分和具体行号先修致命错误再看风格。想交互式跑代码可以装 Jupyterpython -m pip install jupyter然后jupyter lab启动浏览器界面适合边写边看变量。注意如果编辑器里 import 自己写的模块报红但终端能跑先确认右下角解释器是.venv再检查python.analysis.extraPaths或 PyCharm 的 Sources Root 设置。4. python基础语法与 python 代码速通变量、分支、循环、函数和文件基础语法不需要背完再动手。围绕「输入、判断、循环、函数、文件读写」五个点写代码就能覆盖大多数入门教程的核心。遇到报错先看最后一行再看行号最后用print(type(x))确认变量类型。下面每段 python 代码都可以直接放进hello.py或 Jupyter 单元格里运行。4.1 变量、类型与输入输出第一段能交互的 python 代码变量不需要声明类型赋值即创建。input()永远返回字符串要做数学运算必须转换。f-string 是当前最常用的格式化方式冒号后的格式说明符可以控制小数位、宽度和对齐。# 变量与 f-string name input(请输入姓名: ) # 返回 str age int(input(请输入年龄: )) # 转 int失败会抛 ValueError height float(input(请输入身高(米): )) print(type(name), type(age), type(height)) print(f{name} 今年 {age} 岁身高 {height:.2f} 米)int(18)得到整数int(18.5)会报错需要先float再int。height:.2f表示保留两位小数。print()多个参数默认用空格分隔也可以用sep指定分隔符。调试时用type()比猜类型更直接。类型示例常用转换常见坑int42int(42)字符串含小数点不能直接转float3.14float(3.14)浮点比较别用strpythonstr(42)不可变方法返回新串boolTruebool(0)空列表、空串为 Falselist[1, 2]list(ab)索引从 0 开始dict{a: 1}dict(a1)键必须可哈希4.2 条件、循环与容器列表推导式和 python筛选一样的写法条件用if/elif/else循环用for和while。容器里最常用的是列表和字典。想把筛选写成「python筛选一样的」简洁风格优先用列表推导式等价的filter lambda也能用但可读性通常不如推导式。# 条件分支 score 86 if score 90: level A elif score 80: level B else: level C # for 循环累加 1 到 100 total 0 for i in range(1, 101): total i # 列表推导式筛选偶数 nums [1, 2, 3, 4, 5, 6] evens [n for n in nums if n % 2 0] # filter lambda 等价写法 evens2 list(filter(lambda n: n % 2 0, nums)) # 字典遍历 user {name: Tom, age: 18} for k, v in user.items(): print(k, v)range(1, 101)左闭右开所以包含 1 不包含 101。列表推导式[n for n in nums if n % 2 0]先遍历再条件筛选返回新列表。filter返回迭代器要用list()转成列表。字典的items()同时拿到键和值比先keys()再索引更高效。容器可变有序典型操作list是是append、extend、[i]tuple否是解包、countset是否add、交并差dict是Python 3.7 保持插入序get、keys、items4.3 函数、模块与异常把重复代码收进函数函数用def定义默认参数放在后面return返回结果。异常处理用try/except/finally主动抛错用raise。模块既可以是标准库也可以是自己写的.py文件。if __name__ __main__:用来区分「直接运行」和「被导入」。# 定义函数默认参数、异常、返回值 def calc_price(unit_price, qty, discount1.0): if qty 0: raise ValueError(qty must be 0) return unit_price * qty * discount try: price calc_price(19.9, 3) print(f总价: {price:.2f}) except ValueError as exc: print(参数错误:, exc) finally: print(计算结束) if __name__ __main__: print(calc_price(10, 2, 0.9))discount1.0是默认参数调用时不传就用默认值。raise ValueError主动中断并抛出异常except ValueError as exc只捕获这一类型finally无论是否异常都会执行。__name__在直接运行脚本时是__main__被导入时是模块名因此测试代码不会在导入时乱跑。4.4 文件读写与 python爬虫最小示例文件读写用open配合with指定encodingutf-8能避免中文乱码。爬虫最小依赖是requests和beautifulsoup4先装再跑。请求要加timeout响应要检查状态码练习时控制频率并遵守目标站点规则。# 写文件与读文件筛选 with open(todo.txt, w, encodingutf-8) as f: f.write(learn python\n) f.write(build venv\n) with open(todo.txt, r, encodingutf-8) as f: lines [line.strip() for line in f if python in line] print(lines)# 先安装: python -m pip install requests beautifulsoup4 import requests from bs4 import BeautifulSoup url https://example.com resp requests.get(url, timeout5) resp.raise_for_status() # 非 2xx 状态码抛异常 resp.encoding resp.apparent_encoding soup BeautifulSoup(resp.text, html.parser) title soup.title.string if soup.title else 无标题 print(title)with open(...)退出代码块时自动关闭文件w会清空原内容r只读。requests.get的timeout5防止请求无限等待raise_for_status()把 404、500 等变成异常。apparent_encoding根据内容猜测编码比固定写utf-8更适应不同页面。BeautifulSoup第二个参数指定解析器html.parser是标准库自带装lxml会更快。注意爬虫练习不要高频请求不要抓取个人数据先看目标站点是否允许抓取。学语法阶段用example.com或自己写的本地 HTML 文件就够。5. 用命令行待办清单验证 Python 入门教程有没有学透判断自己有没有学透不看能不能背出list的方法而看能不能把多个知识点拼成一个能重复运行的小工具。下面这个todo.py只做三件事添加任务、列出任务、标记完成数据存 JSON。它把文件读写、函数、异常、命令行参数和列表推导式串在一起适合作为一小时入门后的自测。import json import sys from pathlib import Path DB Path(todo.json) def load(): if DB.exists(): return json.loads(DB.read_text(encodingutf-8)) return [] def save(items): DB.write_text(json.dumps(items, ensure_asciiFalse, indent2), encodingutf-8) def add(text): items load() items.append({text: text, done: False}) save(items) def list_items(only_undoneFalse): items load() if only_undone: items [it for it in items if not it[done]] for idx, it in enumerate(items, 1): mark x if it[done] else print(f{idx}. [{mark}] {it[text]}) def done(index): items load() if 1 index len(items): items[index - 1][done] True save(items) if __name__ __main__: cmd sys.argv[1] if len(sys.argv) 1 else list if cmd add: add(sys.argv[2]) elif cmd done: done(int(sys.argv[2])) elif cmd list: list_items(only_undone--undone in sys.argv) else: print(用法: python todo.py add 内容 | list [--undone] | done 序号)Path(todo.json)用面向对象方式处理路径比字符串拼接更可靠。json.dumps的ensure_asciiFalse保留中文原样显示indent2让文件可读。sys.argv接收命令行参数sys.argv[0]是脚本名sys.argv[1]才是子命令。done()里先做索引边界检查避免输入非法序号时直接崩溃。python todo.py add 复习 python基础语法 python todo.py add 配置 vscode python环境 python todo.py list python todo.py done 1 python todo.py list --undone验证点应观察到的结果出错先查虚拟环境python -c import sys; print(sys.executable)指向.venvPATH 与编辑器解释器JSON 写入todo.json含中文且缩进正常encoding与ensure_ascii命令解析非法序号不崩溃done()里的边界判断筛选--undone只显示未完成列表推导式条件把done(int(sys.argv[2]))改成先判断len(sys.argv) 2再调用done(int(sys.argv[2]) - 1)并去掉函数内部的- 1就是一次索引边界练习。想继续深入可以给同一份 JSON 加duckdb查询统计或者用 Flask 包成网页但先把命令行版本的增删改查写到自己不用看教程为止。本文还有配套的精品资源点击获取