Python入门(1):从环境搭建到内置函数核心精讲
第一部分1. 一句话核心总结该篇讲解了Python入门核心知识涵盖环境搭建、内置函数print/input、变量与对象的本质、以及三种格式化输出方法百分号格式化、format()函数、f-string表达式并重点推荐使用f-string作为格式化输出的首选方法。2. 核心概念定义Python一种适用于人工智能、深度学习、机器学习、爬虫等领域的编程语言。print()输出函数Python内置函数语法结构为print(*objects, sep , end\n, filesys.stdout, flushFalse)。用于将内容输出到控制台或文件。input()输入函数Python内置函数用于从控制台读取用户输入无论输入什么类型返回的都是字符串类型str。变量Variable将数据在内存中存储后给定的名称相当于“门牌号”用于引用内存中的对象。对象Object存储在内存中的数据实体具有三要素id地址内存唯一标识、类型如int/str、值value。Python中一切皆是对象变量只是对对象的引用。格式化输出给定一个模板按模板规则输出内容。视频介绍了三种方法百分号格式化、format()函数、f-string表达式。3. 分类/类型视频对环境搭建和print()函数参数有详细的步骤讲解,可移步拥有此类搭建视频的站点观看以下用有序列表呈现环境搭建步骤安装Anaconda用于管理Python环境和配置支持多环境隔离。从官网下载对应系统版本Windows/Mac/Linux安装时注意路径不要有中文字符。安装后通过Anaconda Prompt终端管理环境。安装编译器推荐VS Code或PyCharm。VS Code需安装Python扩展提供代码高亮、智能提示、调试和Jupyter扩展Juypter Notebook支持。创建项目文件夹如D盘下的Python code存放所有Python程序。创建Jupyter Notebook文件后缀为.ipynb支持分单元格逐块运行代码Markdown用于注释说明Python用于编写代码。运行前需选择对应Python内核。print()函数的核心参数参数作用默认值sep多个输出对象之间的分隔符空格 end输出末尾的结束符换行符\nfile输出目标位置控制台或文件sys.stdout屏幕flush是否强制刷新输出缓冲区False示例print(1, 2, 3, sep-)输出1-2-3print(Hello, end)不换行输出。三种格式化输出方法对比方法语法特点推荐度百分号格式化%s %d % (name, age)需指定类型易读性较差了解即可format()函数{} {}.format(name, age)不指定类型较灵活了解即可f-string表达式f{name} {age}最直观性能最好推荐使用★推荐4. 排序或对比关系print默认vs自定义print(1,2,3)默认分隔符为空格sep-后变为1-2-3end\t将末尾换行改为制表符使多个输出在同一行。文件写入模式A追加 vs W覆盖modea将内容追加到文件末尾modew覆盖原文件内容。5. 具体建议与注意事项关于格式化输出强烈推荐使用f-string表达式因其直观性好可直接在大括号中嵌入变量名、维护性佳修改时只需改一处变量值、且性能更高。关于变量命名遵守三条硬性规则只能由字母、数字和下划线组成不能以数字开头不能是Python关键字如if、for、False等。建议遵循PEP 8规范使用小写字母与下划线组合如user_age、保持语义清晰、避免拼音或单字母命名循环变量i/j/x/y除外。关于类型转换input()返回字符串需要用int()或float()进行强制类型转换后才能用于算术运算。如age int(input(请输入年龄))。关于文件操作操作完成后需关闭文件句柄f.close()更推荐使用with语句自动管理资源。变量与对象的内存关系变量是对象的引用赋值操作A 1创建变量并使其指向内存中已有的对象如123、12改变变量值会使变量指向新的对象。环境搭建避坑指南安装路径不要包含中文安装时勾选“Add to PATH”以便在终端直接调用Python区分32位和64位版本。6. 补充说明Python是动态类型解释语言变量类型在运行时自动决定无需提前声明。类型只存在于对象中变量只是对象的引用。Python的是赋值运算符而非数学等号。本文整体内容为Python入门第一节课后续计划讲解六大数据类型字符串/列表/字典等的增删改查、程序结构顺序分支循环、函数定义与调用、递归、面向对象编程封装继承多态以及数据分析三剑客Numpy、Pandas、Matplotlib和深度学习库PyTorch。第二部分第一部分常见知识点延展与展示需了解的概念一、基础概念类PEP 8编码规范Python官方代码风格指南包含缩进使用4个空格、行宽最多79字符、空行规范、导入语句顺序等。遵循PEP 8使代码更专业、更易读。pass语句空操作语法上需要语句但逻辑上什么都不做时使用常用于占位保证代码结构完整。Python的缩进规则与C/C使用花括号不同Python使用缩进来表示代码块层级缩进量必须一致通常4个空格。不正确的缩进会导致IndentationError。Python版本差异Python 2.x已于2020年停止维护与Python 3.x当前主流在print语句Python 2为print xxxPython 3为print(xxx)、除法/在2中为整数除法、Unicode支持等方面存在不兼容变更。f-string是Python 3.6引入的特性。查看Python帮助文档使用help(print)可查看函数详细文档dir(str)查看字符串所有方法。IDE/编辑器选型指南第一部分提及VS Code和PyCharm补充说明PyCharm功能最强大适合专业开发者VS Code轻便、插件丰富全球最流行IDLE为Python自带适合极简验证。虚拟环境Anaconda支持conda create -n env_name python3.9创建隔离环境避免不同项目间的依赖冲突。转义字符\n换行、\t制表符、\\反斜杠本身、\双引号、\单引号。在字符串前加r如rC:\Users可输出原始字符串防止转义。多行字符串使用三个双引号或三个单引号...或...定义多行字符串保留换行和缩进格式。字符串索引与切片字符串支持[start:end:step]索引访问但字符串是不可变序列不能直接修改单个字符。二、风险类字符串与数字混用导致的TypeErrorinput()接收的所有输入默认都是字符串若直接进行加法运算如10 5会抛出类型错误必须用int()或float()转换。赋值时的常见错误混淆赋值与比较链式赋值a b 1虽合法但可能引起混淆。变量覆盖内置函数名使用print 10后print()函数失效需重启解释器恢复。应避免使用内置函数名print、input、len、str、int、list、dict等作为变量名。文件操作未关闭导致资源泄露使用open()后忘记close()可能导致文件句柄耗尽。优先使用with open() as f:上下文管理器自动关闭【第一部分已提到但需强调其重要性】。浮点数精度问题0.1 0.2的结果并非精确的0.3而是近似值0.30000000000000004。比较浮点数时使用abs(a-b) 1e-9而非a b。Jupyter Notebook中混淆状态按顺序执行单元格时变量会持久存在。若删除中间变量但未重启内核可能产生难调试的幻觉状态。应定期重启内核并从头运行。三、实操类Jupyter Notebook的常用快捷键ShiftEnter运行并移动至下一单元格、CtrlEnter运行不移动、Esc进入命令模式、A上方和B下方插入新单元格、DD删除当前单元格、M切换Markdown模式、Y切换Code模式。VS Code调试功能可设置断点、单步执行、监视变量值等是分析复杂逻辑问题和理解代码执行流程的强大工具。查看变量类型type(variable)返回变量类型。查看变量内存地址id(variable)返回内存唯一标识符。命令行运行Python脚本在终端中输入python script.py执行脚本或输入python进入交互模式提示符下逐行输入执行。管理Python包使用conda install packageAnaconda环境或pip install package安装第三方库pip freeze查看已安装包列表pip install package1.2.0指定版本。单行注释与多行注释#为单行注释多行注释可使用连续#或三引号字符串不赋值时被视为注释。代码运行效率对比print()频繁调用会影响性能涉及I/O操作批量构建字符串后一次print效率更高。Jupyter Notebook和普通Python文件的区别Jupyter以.ipynb格式按单元格保存执行状态适合数据分析和教学演示普通.py文件按脚本顺序执行适合部署和模块化开发。遇到问题的解决路径阅读错误信息Python的错误堆栈很清晰、将错误信息复制到搜索引擎、使用print(type(variable))和print(dir(variable))调试、查阅官方文档。四、对比类对比项PythonC/CJava代码块标识缩进花括号{}花括号{}语句结束符换行分号;分号;变量声明无需声明类型动态类型必须声明类型如int a必须声明类型编译/解释解释型编译型编译解释混合内存管理自动垃圾回收手动管理自动垃圾回收对比项百分号格式化f-string引入版本Python 1.xPython 3.6是否需要类型指定符是%s、%d等否直接使用{variable}运行时性能较慢更快可读性一般优秀支持表达式有限支持完整支持对比项modea追加modew覆盖作用在文件末尾添加内容清空原文件并写入新内容文件不存在时自动创建自动创建保留原内容是否对比项Jupyter Notebook普通Python文件.py执行方式按单元格顺序执行按脚本顺序执行适用场景数据分析、教学演示、探索性开发部署、自动化脚本、模块化开发状态持久性变量跨单元格持久存在每次运行重新开始可视化输出支持图表直接嵌入需额外配置五、常见误区误区正确理解变量名可以以数字开头错误变量名只能以字母或下划线开头关键字可以用作变量名错误Python关键字如if、for、False不能作为变量名变量名不区分大小写错误Python严格区分大小写Name和name是两个不同变量input()可以直接获得数字错误input()始终返回字符串需用int()或float()转换表示“等于”错误是赋值运算符才是比较运算符Python变量需要声明类型错误Python是动态类型语言类型由赋值时的对象决定变量直接存储数据部分正确变量存储的是对内存中对象的引用而非数据本身修改一个变量不影响另一个对于不可变类型int/str安全对于可变类型list/dict两个变量可能指向同一对象相互影响print总是输出到屏幕错误print()的file参数可指定输出到文件数值0.1 0.2精确等于0.3错误浮点数存在精度问题应使用abs(0.10.2-0.3) 1e-9进行比较六、进阶知识点可变对象 vs 不可变对象不可变对象int、str、tuple、bool等创建后内容不可修改可变对象list、dict、set等可修改内部内容但id地址不变。字符串不可变s[0] a会报错正确操作是创建新字符串列表可变lst[0] 99原地修改所有指向该列表的变量都会受影响字符串驻留机制Python对小整数通常-5到256和某些短字符串会缓存多个变量可能指向同一对象例a256; b256a is b为True。isvs比较值是否相等is比较id地址是否是同一个对象。浅拷贝 vs 深拷贝copy.copy()浅拷贝仅拷贝外层对象嵌套对象共享引用copy.deepcopy()深拷贝递归拷贝所有层级完全独立。Cython加速Python在数学计算场景慢可学习用Cython将Python代码编译为C扩展模块加速深度学习等科学计算。类型注解从Python 3.5开始支持函数注解如def greet(name: str) - str:提高代码可读性辅助静态类型检查工具如mypy但解释器运行时不会强制执行。None值的特殊性None表示空值既不是0也不是空字符串在条件判断中相当于False。短路求值and和or具有短路行为——and左边为False时不执行右边or左边为True时不执行右边。文档字符串docstring函数/类/模块开头的三引号字符串可用help()或.__doc__查看是代码文档化的标准方式。PyPy等Python实现除标准CPython外还存在PyPyJIT编译提升速度、Jython运行在Java平台、IronPython运行在.NET平台等实现各有适用场景。列表推导式一种简洁构建列表的方式如[i**2 for i in range(10) if i % 2 0]文章虽未讲但在实际Python开发中极为常用。if __name__ __main__:的作用当.py文件作为主程序运行时执行作为模块被导入时不执行是模块化编程的常用模式。第三部分全面总结合并第一、二部分内容1. 主题概述本文章以Python零基础入门为目标完整涵盖从环境搭建到核心语法的基础知识体系尤其适合有志于AI、深度学习、机器学习领域的初学者。Python的定义与特点Python是一种广泛适用于人工智能、深度学习、爬虫、Web开发等领域的解释型编程语言。核心特点包括动态类型无需声明变量类型、简洁语法使用缩进表示代码块、强大的标准库和丰富的第三方生态。环境搭建推荐使用Anaconda管理Python环境和虚拟环境配合VS Code或PyCharm编写和调试代码。Jupyter Notebook.ipynb格式支持分单元格运行特别适合数据分析和教学演示。安装时注意避免中文路径VS Code需安装Python扩展和Jupyter扩展。变量与对象的本质变量是内存中对象的引用相当于“门牌号”赋值操作不存储数据而是让变量指向内存中的对象。对象有三要素id地址内存唯一标识、类型如int/str、值具体数据。Python中一切皆是对象变量类型在运行时由赋值的对象决定。变量命名规则硬性规则包括只能由字母、数字、下划线组成不能以数字开头不能是Python关键字共35个。最佳实践遵循PEP 8规范使用蛇形命名法如user_age避免单字母名称循环变量i/j除外保持语义清晰max_connections100而非a123。2. 分类与对比print()函数参数详解参数作用默认值objects要输出的对象可变参数必需sep对象间的分隔符空格 end输出末尾的结束符换行符\nfile输出目标控制台或文件sys.stdoutflush是否强制刷新缓冲区FalsePython代码块vs其他语言Python用缩进表示代码块统一4个空格C/C和Java用花括号{}且Python语句无需分号结尾。这些特点使Python代码更简洁但对缩进格式要求更严格。3. 风险与注意事项环境相关安装路径避免中文区分32位和64位版本安装时勾选“Add to PATH”虚拟环境conda create -n env_name python3.9隔离项目依赖避免包版本冲突输入输出相关input()始终返回字符串类型若需数值计算必须用int()或float()转换非数字字符串无法转换为int会引发ValueError变量相关变量名不能与内置函数名print、input、len等冲突否则覆盖函数功能混淆赋值与比较是常见错误变量名大小写敏感Name与name不同可变对象如列表的赋值会创建引用而非副本多个变量可能指向同一对象修改会相互影响浮点数浮点数运算存在精度问题比较时使用abs(a - b) 1e-9而非文件操作必须关闭文件句柄避免资源泄露优先使用with open() as f:上下文管理器自动管理区分modea追加和modew覆盖写入的行为差异变量与对象的内存模型变量是对象的引用赋值操作创建指向内存中对象的引用Python通过引用计数管理内存当引用计数为0时对象被自动回收小整数-5到256和某些短字符串会被缓存多个变量可能指向同一对象4. 实操建议代码编写与调试频繁调用print()影响性能I/O操作耗时建议批量构建字符串后一次性输出Jupyter Notebook中可用ShiftEnter执行单元格、M切换Markdown模式、Y切换Code模式VS Code支持断点调试是分析复杂逻辑问题的强大工具遇到错误时阅读错误堆栈信息、使用print(type(variable))和dir(variable)辅助调试格式化输出强烈推荐使用f-stringf我的名字是{name}年龄{age}岁因其直观性好、维护性佳、性能更高f-string支持在花括号内嵌表达式和函数调用文件操作常规写入用with open(file.txt, w) as f:确保自动关闭需要保留原内容时使用modea追加模式包管理与版本控制日常开发用conda或pip安装第三方库pip freeze可导出依赖清单深度学习场景优先用conda install pytorch由社区维护的预编译包更稳定pip install package1.2.0可指定版本号进阶效率技巧学习列表推导式等语法糖提高代码简洁性和可读性养成写docstring的习惯用help(func)随时查阅函数说明使用if __name__ __main__:组织模块代码支持模块化导入5. 常见误区辨析常见误区正确理解变量名可以以数字开头只能以字母或下划线开头Python关键字可用作变量名35个关键字if、for、False等不能用作变量名变量名不区分大小写Python严格区分大小写input()可直接获得数字始终返回字符串需int()转换表示“等于”是赋值才是比较变量需要声明类型Python是动态类型类型由赋值决定变量直接存储数据存储的是对内存对象的引用修改变量A不影响变量B当BA时对于可变对象list/dict两个变量指向同一对象相互影响print总是输出到屏幕file参数可指定输出到文件字符串可以直接原地修改字符串是不可变类型修改需创建新字符串0.1 0.2精确等于0.3存在浮点精度误差需容差比较通过本篇内容你将掌握搭建Python开发环境学会安装Anaconda、配置VS Code或PyCharm、创建Jupyter Notebook为后续开发做好准备理解Python的核心概念掌握变量与对象的内存关系、动态类型机制、三种格式化输出方法的区别与适用场景熟练使用print()和input()内置函数掌握sep、end、file参数的实际用途灵活控制输出格式掌握变量命名规范理解硬性规则与PEP 8最佳实践避免使用Python关键字和内置函数名作为变量名识别常见编程错误和误区了解TypeError、ValueError等常见错误的成因学会通过阅读错误信息定位问题掌握文件操作的正确方法使用with open()上下文管理器安全操作文件区分追加和覆盖两种写入模式为后续学习打好基础理解变量与对象的内存模型为后续学习列表、字典、函数、类、装饰器等进阶知识奠定基石下一章见