# happy-python **Repository Path**: zhangshenao/happy-python ## Basic Information - **Project Name**: happy-python - **Description**: 快乐学Python - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-30 - **Last Updated**: 2024-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # happy-python # 1. Python 简介与环境搭建 ## 1. 1编程语言能解决什么问题 - 重复性劳动——“脏活”、“累活” - 复杂的简单问题——围棋 vs 斗地主 - 围棋规则复杂,有无数的做法和策略,但是玩法简单,就是按照一个固定的目标去落子。因此围棋属于复杂的简单问题,适合用编程语言来解决。 - 斗地主规则简单,但是玩法复杂,过程中设计到很多人与人之间的沟通和交流。因此斗地主属于简单的复杂问题,这类问题不适合用编程语言来解决。 - 将生活中的“事”归纳总结成为某种规则,并通过计算机交互。 - 自动化——提升工作效率 - 定制化——解决特定领域的问题 - 数字化——自动分类 ## 1.2 Python 与其它编程语言的区别 - Python 是一门高级编程语言 **Python 更面向开发人员。而汇编语言、C 语言等属于低级编程语言,更加面向底层硬件与操作系统。** - Python 是解释型语言 **Python 需要运行时的解释器,通过解释器将代码逐行解释执行。而 C、C++、Go 等属于编译型语言,需要先对代码进行编译,生成可执行文件。但是作为解释型语言,Python 的运行效率比编译型语言低一些。** - Python 的语法和自然语言很接近 - Python 足够流行,应用领域广泛 - Python 有丰富的库(标准库和第三方库) ## 1.3 Python 不适用的场景 1. 抢购、电商类的计算密集型场景。 因为 Python 作为解释型语言,运行效率不是很高。 2. 涉及到内存、硬盘和底层硬件的操作。 这类底层驱动程序,更适合用 C 语言和汇编语言开发。 3. 网页、小程序等前端开发。 这是前端 Javascript 等语言的领域。 4. App 开发。 由 Android 和 IOS 的特定领域语言来完成。 ## 1.4 开发环境搭建 ### 1.4.1 在官网下载安装包 官网:https://www.python.org/ 选择版本和平台,下载安装包: ![](happy-python/doc/下载Python安装包.png) 安装完成,检查是否安装成功。执行命令: ```Shell python3 -V Python 3.12.3 ``` ## 1.5 IDE 安装 ### 1.5.1 本地 IDE **直接使用 PyCharm 或者 Intellij IDEA + Python 插件。** ### 1.5.2 远程 IDE **安装 Jupyter Notebook & Lab。** Jupyter Notebook 是一款远程的 Python IDE,支持在网页端执行,适用于 AI、机器学习、计算机视觉等复杂计算的场景。 安装步骤: - 安装 jupyterlab ```shell pip3.12 install jupyterlab ``` - 安装 notebook ```shell pip3.12 install notebook ``` - 运行 Jupyter Notebook ``` jupyter-lab ``` 会在网页端弹出 jupyter-lab 的界面,可以在里面进行开发和运行。 ![](happy-python/doc/jupyter-lab运行.png) **注:pip 是 Python 官方的包管理工具,它与 Python 的版本一一对应。** ## 1.6 官方文档 https://docs.python.org/3/ ## 1.7 Python 程序执行过程 ![](happy-python/doc/Python程序执行过程.png) 执行方式: 1. 非交互式执行:程序从开始运行到执行结束,不会被 Python 解释器中断。 ```python python3.12 hello.py ``` 2. 交互式执行:Python 解释器执行用户命令后,会一直等待用户输入,直到用户输入指令后才能继续执行。 ```python python3.12 -i hello.py ``` # 2. Python 编程基础 ## 2.1 输入与输出 通用计算机模型: ![](happy-python/doc/通用计算机模型.png) **现代计算机基于冯·诺依曼结构,需要处理输入输出、计算、存储和控制等任务。** ### 2.1.1 input() 函数——处理输入 ### 2.1.2 print() 函数——处理输出 ## 2.2 变量的使用 声明变量的方式: 变量名 = 值 **变量的作用: 在程序运行过程中临时保存数据。** 变量的批量声明: ```python # 批量声明多个变量,变量可以为不同的类型 a, b, c = 1, 0.5, "c" print("a = " + str(a) + ", b = " + str(b) + ", c = " + c) ``` 变量的连续赋值: ```python # 变量的连续赋值 x = y = z = 123 print("x = " + str(x) + ", y = " + str(y) + ", z = " + str(z)) ``` ## 2.3 字符串