python教程---预备知识

预备知识

  • 1.1 Python 简介
  • 1.2 程序设计思想
  • 1.3 安装python
      • Windows 系统
      • macOS 系统
      • Linux 系统
        • Debian/Ubuntu 系统:
        • Fedora/RHEL 系统:
        • Arch Linux 系统:
      • 验证安装
  • 1.4 运行方式
      • 交互式解释器(Interactive Interpreter)
      • 运行脚本文件
      • 集成开发环境(IDE)
      • 在线解释器
  • 1.5 常用开发工具
      • 文本编辑器
      • 集成开发环境(IDE)
      • 版本控制系统
      • 虚拟环境管理工具
      • 代码质量和格式检查工具
      • 测试框架
  • 1.6 编码规范
      • 代码布局
      • 模块导入
      • 命名规范
      • 表达式和语句
      • 注释
      • 文档字符串(Docstrings)
  • 1.7 模块管理
      • 导入模块
      • 从模块中导入特定元素
      • 以别名导入模块
      • 模块搜索路径
      • 创建模块
      • 使用第三方库

1.1 Python 简介

Python 是一种广泛使用的高级编程语言,由 Guido van Rossum 在 1989 年底发明,第一个公开发行版发行于 1991 年。Python 的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进来表示代码块,而不是使用大括号或关键字)。Python 让开发者能够用更少的代码行进行表达,意图是让程序员能够工作得更加高效,以及代码更易于理解和维护。
Python 是一种解释型语言,意味着开发中的程序不需要编译这个步骤。开发者编写 Python 代码后,通过 Python 解释器直接运行,这使得编写、测试和调试程序更加快捷。
Python 支持多种编程范式,包括面向对象、命令式、函数式和程序化编程。它提供了丰富的标准库和第三方库支持,可以轻松完成各种任务,如网页开发、数据分析、人工智能、科学计算等。
由于其通用性和易用性,Python 已经成为世界上最受欢迎的编程语言之一,特别是在数据科学和机器学习领域中具有广泛的应用。Python 的社区支持非常强大,有着大量的文档、教程和框架,使得学习和使用 Python 变得更加容易。


1.2 程序设计思想

程序设计思想是指导编程的基本原则和理论,它影响着程序员编写代码的方式和效率。在 Python 编程中,几种核心的程序设计思想包括:

  1. 面向对象编程(OOP):Python 是一种支持面向对象编程的语言。在面向对象编程中,程序被设计成一系列相互作用的对象,每个对象都是数据和行为的集合。这种思想鼓励程序员将数据和相关操作封装在一起,通过定义类和创建对象实例来实现。
  2. 模块化编程:模块化编程是将程序划分为独立的模块或组件,每个模块负责程序的一部分功能。Python 通过模块和包来支持模块化编程,这使得代码更加组织化、可重用和易于维护。
  3. 抽象:抽象是隐藏复杂系统的细节,只展示必要的部分。在编程中,抽象可以通过定义函数、类和模块来实现,使得代码更加简洁和易于理解。
  4. 封装:封装是将数据和操作数据的方法捆绑在一起,对外界隐藏内部细节。在 Python 中,封装可以通过定义类和私有方法来实现。
  5. 继承:继承允许我们定义一个类(子类)来继承另一个类(父类)的属性和方法。这样可以促进代码的重用,并且可以建立一种层次结构。
  6. 多态:多态是指允许不同类的对象对同一消息做出响应。在 Python 中,多态性可以通过继承和接口实现。
  7. DRY(Don’t Repeat Yourself)原则:这个原则强调避免代码重复,提倡通过函数、模块和类来抽象公共代码,以提高代码的可维护性和可重用性。
  8. KISS(Keep It Simple, Stupid)原则:这个原则建议尽量保持代码简单和直观,避免不必要的复杂性。
  9. YAGNI(You Aren’t Gonna Need It)原则:这个原则建议不要添加不必要的功能,只实现当前需要的功能。
  10. 代码复用:通过模块、函数和类来复用代码,减少重复工作,提高开发效率。
    理解这些程序设计思想对于编写高效、可读和维护性强的 Python 代码至关重要。

1.3 安装python

安装 Python 的过程因操作系统的不同而有所差异。以下是针对不同操作系统的基本安装指南:

Windows 系统

  1. 访问 Python 官方网站下载页面(https://www.python.org/downloads/windows/)。
  2. 选择适合您系统的版本(32位或64位)并下载安装程序。
  3. 运行下载的安装程序,并确保在安装过程中勾选了“Add Python to PATH”选项,这样可以在命令提示符中直接运行 Python。
  4. 完成安装向导,Python 将被安装在您的系统中。

macOS 系统

macOS 系统通常预装了 Python,但版本可能较旧。您可以通过以下步骤安装最新版本的 Python:

  1. 访问 Python 官方网站下载页面(https://www.python.org/downloads/macos/)。
  2. 下载最新的 Python 安装包(通常为 .pkg 文件)。
  3. 打开下载的文件并遵循安装向导的指示完成安装。
    或者,您可以使用 Homebrew(macOS 的包管理器)来安装 Python:
brew install python

Linux 系统

在 Linux 系统中,Python 通常已经预装在大多数发行版中。您可以通过包管理器来安装或更新 Python:

Debian/Ubuntu 系统:
sudo apt update
sudo apt install python3
Fedora/RHEL 系统:
sudo dnf install python3
Arch Linux 系统:
sudo pacman -S python

验证安装

安装完成后,您可以在命令行中输入以下命令来验证 Python 是否安装成功:

python --version

或者对于某些系统:

python3 --version

如果安装成功,系统将显示安装的 Python 版本号。
请注意,安装 Python 时,建议您同时安装 pip,这是 Python 的包管理工具,用于安装和管理 Python 包。大多数情况下,pip 会在安装 Python 时自动包含。


1.4 运行方式

Python 代码可以通过多种方式运行,主要包括以下几种:

交互式解释器(Interactive Interpreter)

  1. 打开命令行(在 Windows 中是 CMD 或 PowerShell,在 macOS/Linux 中是 Terminal)。
  2. 输入 pythonpython3(取决于您的系统配置)来启动交互式解释器。
  3. >>> 提示符后输入 Python 代码,按回车键执行。
    例如:
>>> print("Hello, World!")
Hello, World!

运行脚本文件

  1. 使用文本编辑器(如 Visual Studio Code、Sublime Text、PyCharm 等)编写 Python 代码。
  2. 保存文件,文件扩展名为 .py(例如 hello.py)。
  3. 打开命令行,导航到脚本文件所在的目录。
  4. 输入 python 文件名.py 来运行脚本。
    例如,如果脚本名为 hello.py,则在命令行中输入:
python hello.py

如果您的系统默认 Python 版本是 Python 2,并且您想使用 Python 3,则需要使用 python3 命令:

python3 hello.py

集成开发环境(IDE)

许多集成开发环境(IDE)如 PyCharm、Spyder、Thonny 等,都提供了运行 Python 代码的图形界面。在这些 IDE 中,您可以编写代码、运行和调试程序,而不需要直接与命令行交互。

  1. 打开您的 IDE。
  2. 创建或打开一个 Python 文件。
  3. 编写代码。
  4. 使用 IDE 提供的运行按钮或菜单选项来执行代码。

在线解释器

还有一些在线平台,如 Repl.it、Pyodide 等,允许您直接在浏览器中编写和运行 Python 代码。这些平台通常用于快速测试代码片段或学习 Python。
选择哪种方式来运行 Python 代码取决于您的个人偏好和具体需求。对于初学者来说,交互式解释器是一个很好的起点,因为它提供了即时的反馈。而对于更复杂的项目,使用 IDE 或脚本文件则更为合适。


1.5 常用开发工具

在进行 Python 开发时,使用合适的工具可以提高效率和质量。以下是一些常用的 Python 开发工具:

文本编辑器

文本编辑器是编写代码的基础工具,一些流行的编辑器包括:

  • Visual Studio Code (VS Code):由 Microsoft 开发,支持 Python 扩展,具有代码补全、调试、Git 集成等功能。
  • Sublime Text:轻量级编辑器,支持多种编程语言,可以通过插件进行扩展。
  • Atom:由 GitHub 开发的文本编辑器,支持插件和主题自定义。
  • Notepad++:Windows 上的免费开源文本编辑器,也支持多种编程语言。

集成开发环境(IDE)

IDE 是集代码编辑、调试、项目管理等功能于一体的开发环境,适合大型项目开发:

  • PyCharm:由 JetBrains 开发的 Python 专用 IDE,提供社区版和专业版。
  • Spyder:专为科学计算和数据分析设计的 IDE,通常与 Anaconda 发行版一起提供。
  • Thonny:专为编程教育而设计的 IDE,简单易用,适合初学者。
  • Eclipse + PyDev:Eclipse 是一个流行的 IDE,通过安装 PyDev 插件可以支持 Python 开发。

版本控制系统

版本控制系统用于管理代码的版本,跟踪变更历史,协作开发:

  • Git:最流行的分布式版本控制系统,与 GitHub、GitLab 等代码托管平台配合使用。
  • Mercurial:另一个分布式版本控制系统,比 Git 简单,但不如 Git 流行。

虚拟环境管理工具

虚拟环境允许开发者在隔离的环境中安装 Python 包,避免不同项目间的依赖冲突:

  • venv:Python 3 自带的创建轻量级虚拟环境的工具。
  • virtualenv:一个第三方库,用于创建隔离的 Python 环境。
  • conda:Anaconda 发行版附带的虚拟环境管理工具,也支持包管理。

代码质量和格式检查工具

这些工具帮助开发者维护代码质量和遵循编码规范:

  • flake8:用于检查 Python 代码风格和编码错误。
  • Pylint:用于检查 Python 代码的错误和编码标准。
  • mypy:用于静态类型检查的工具,有助于发现类型相关的错误。

测试框架

测试是确保代码质量的重要环节,Python 有多种测试框架:

  • unittest:Python 标准库中的单元测试框架。
  • pytest:一个成熟的全功能测试框架,支持简单的单元测试和复杂的功能测试。
  • nose2:继承自 nose 的测试框架,用于扩展 unittest 以便更容易编写测试。
    选择合适的工具可以大大提高开发效率和代码质量。对于初学者来说,可以从简单的文本编辑器和在线 IDE 开始,随着经验的积累,可以逐渐尝试更复杂的工具和更完整的工作流程。

1.6 编码规范

编码规范是一组规则,用于指导如何编写清晰、可读和维护性强的代码。遵循编码规范对于团队协作和项目维护至关重要。Python 社区普遍遵循的编码规范是 PEP 8 – Style Guide for Python Code,它是由 Python 增强提议(Python Enhancement Proposals, PEPs)制定的。
以下是一些 PEP 8 中推荐的编码规范要点:

代码布局

  • 使用 4 个空格缩进,而不是制表符(Tab)。
  • 每行长度限制为 79 个字符。
  • 文件末尾保留一个空行。
  • 函数和类之间保留两个空行。
  • 在同一行内不要有多余的空格。

模块导入

  • 导入应该总是在文件的顶部。
  • 导入顺序应该是:标准库、第三方库、本地应用。
  • 每个导入应该独占一行。
  • 推荐 使用 import x 而不是 from x import *,以避免命名空间污染。

命名规范

  • 类名使用驼峰命名法(CamelCase),例如 class MyClass
  • 函数名使用小写字母和下划线,例如 def my_function()
  • 变量名和函数参数使用小写字母和下划线,例如 variable_name
  • 常量名使用全大写字母和下划线,例如 CONSTANT_VALUE
  • 私有属性或方法名以一个下划线开头,例如 _private_method

表达式和语句

  • 使用 == 检查值相等,而不是 is
  • 不要使用 == 检查与 TrueFalse 的比较,直接使用变量名。
  • 使用 is not 而不是 not ... is
  • 在行尾避免使用反斜杠进行行延续。

注释

  • 使用井号 # 进行单行注释。
  • 对于复杂的代码段,使用多行注释,并保持注释的清晰和有用。
  • 避免不必要的注释,代码应该尽可能自解释。

文档字符串(Docstrings)

  • 每个模块、函数、类和方法都应该有一个文档字符串。
  • 文档字符串使用三重双引号 """
  • 文档字符串应该描述功能,而不描述实现细节。
    遵守这些编码规范可以帮助开发者编写出一致和高质量的 Python 代码,使得其他开发者能够更容易地阅读和理解代码。此外,一些工具如 flake8PylintPygments 可以帮助自动检查代码是否符合 PEP 8 规范。

1.7 模块管理

模块是 Python 程序组织结构的核心组成部分。模块是一个包含 Python 定义和语句的文件。模块可以定义函数、类和变量,也可以包含可执行的代码。Python 的标准库就是由一系列模块组成的。模块管理涉及如何导入、使用和创建模块。

导入模块

模块可以通过 import 语句导入。例如,要导入标准库中的 math 模块,可以使用:

import math

然后可以使用 math. 前缀来访问 math 模块中的函数和变量,如 math.sqrt()

从模块中导入特定元素

也可以只从模块中导入特定的函数或变量,例如:

from math import sqrt

这样就可以直接使用 sqrt() 而不需要 math. 前缀。

以别名导入模块

可以为导入的模块或元素指定一个别名:

import math as m
from math import sqrt as s

这样就可以使用 m 代替 math,使用 s 代替 sqrt

模块搜索路径

Python 在导入模块时会搜索一系列目录,这些目录存储在 sys.path 列表中。如果 Python 找不到您尝试导入的模块,您可以检查 sys.path 并考虑将模块所在目录添加到路径中:

import sys
sys.path.append('/path/to/your/module')

创建模块

创建模块很简单,只需将 Python 代码保存在一个 .py 文件中。模块文件名就是模块名(不带 .py 扩展名)。例如,创建一个名为 mymodule 的模块,您可以创建一个名为 mymodule.py 的文件,并在其中定义函数、类和变量。

包是一种包含多个模块的文件夹或目录。要创建一个包,您需要创建一个文件夹,并在该文件夹中创建一个 __init__.py 文件。这个文件可以是空的,但它指示 Python 解释器将该文件夹视为一个包。包可以包含多个模块,也可以包含子包。

使用第三方库

Python 有一个庞大的第三方库生态系统,可以通过 pip 包管理器安装。要安装第三方库,可以使用以下命令:

pip install package_name

例如,要安装 requests 库,可以使用:

pip install requests

然后可以在 Python 程序中导入并使用这个库。
模块管理是 Python 编程中的一项基本技能,它允许开发者重用代码、组织程序结构,并利用 Python 社区提供的丰富资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/752600.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GEOS学习笔记(一)

下载编译GEOS 从Download and Build | GEOS (libgeos.org)下载geos-3.10.6.tar.bz2 使用cmake-3.14.0版本配置VS2015编译 按默认配置生成VS工程文件 编译后生成geos.dll,geos_c.dll 后面学习使用C接口进行编程

PCB在工业领域的应用以及人工智能的影响。

什么是pcb呢? PCB,全称Printed Circuit Board,中文名称为印制电路板,也被称为印刷线路板或印制板1。这是一种重要的电子部件,主要由绝缘基板、连接导线和装配焊接电子元器件的焊盘组成。PCB的主要作用是作为电子元器件的支撑体和电气连接的载体,它能够简化电子产品的装配…

三分钟快速搭建基于FastAPI的AI Agent应用!

点击下方“JavaEdge”,选择“设为星标” 第一时间关注技术干货! 免责声明~ 任何文章不要过度深思! 万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案…

【鸿蒙学习笔记】页面和自定义组件生命周期

官方文档:页面和自定义组件生命周期 目录标题 [Q&A] 都谁有生命周期? [Q&A] 什么是组件生命周期? [Q&A] 什么是组件?组件生命周期 [Q&A] 什么是页面生命周期? [Q&A] 什么是页面?页面生…

代码随想录算法训练营第五十二天| [KC]100. 岛屿的最大面积、101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题

[KamaCoder] 100. 岛屿的最大面积 [KamaCoder] 100. 岛屿的最大面积 文章解释 题目描述 给定一个由 1(陆地)和 0(水)组成的矩阵,计算岛屿的最大面积。岛屿面积的计算方式为组成岛屿的陆地的总数。岛屿由水平方向或垂直…

开放式耳机哪个牌子好?2024热门红榜开放式耳机测评真实篇!

当你跟朋友们聊天时,他们经常抱怨说长时间戴耳机会令耳朵感到不适,后台也有很多人来滴滴我,作为一位致力于开放式耳机的测评博主,在对比了多款开放式耳机之后,你开放式耳机在保护听力方面确实有用。开放式的设计有助于减轻耳道内的…

自适应蚁群算法优化的攀爬机器人的路径规划

大家好,我是带我去滑雪! 攀爬机器人是一种能够在复杂环境中自主移动和攀爬的具有广阔应用前景的智能机器人,具有较强的应用潜力和广泛的研究价值。随着科技的不断发展,攀爬机器人在许多领域中的应用越来越广泛,例如建筑…

FastGPT 手动部署错误:MongooseServerSelectionError: getaddrinfo EAI_AGAIN mongo

在运行 FastGPT 时,mongodb 报如下错误: MongooseServerSelectionError: getaddrinfo EAI_AGAIN mongo 这是因为 mongo 没有解析出来,在 hosts 文件中添加如下信息: 127.0.0.1 mongo 重新运行 FastGPT 即可。 参考链接&#xff…

力扣随机一题 位运算/滑动窗口/数组

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 3191.使二进制数组全部等于1的最少操作次数I【中等】 题目: 给…

C语言力扣刷题7——删除排序链表中的重复元素 II——[快慢双指针法]

力扣刷题7——删除排序链表中的重复元素 II——[快慢双指针法] 一、博客声明二、题目描述三、解题思路1、思路说明 四、解题代码(附注释) 一、博客声明 找工作逃不过刷题,为了更好的督促自己学习以及理解力扣大佬们的解题思路,开辟…

STM32将外部SDRAM空间作为系统堆(Heap)空间

概述 stm32可以外扩很大的sram,常见外部sram的初始化函数一般是c语言写的,默认写在main函数里面。stm32初始化首先进入汇编代码startup_stm32f429xx.s,在汇编代码中Reset_Handler(复位中断服务程序)里面先调用了Syste…

光明致优尊耀呈现“柏林爱乐在上海”音乐会正式开幕,奏响盛夏狂热乐章

2024年6月26日,由光明致优尊耀呈现的中国上海国际艺术节特别项目“柏林爱乐在上海”音乐会正式开幕。暌违七年,世界顶级交响乐团——柏林爱乐乐团再度访沪,在首席指挥基里尔别特连科率领下,正式在中国上海国际艺术节登台演出&…

Talk|CityU 助理教授马佳葳: CVPR 2024, 基于多模态理解的混合数据专家模型

本期为TechBeat人工智能社区第604期线上Talk。 北京时间6月27日(周四)20:00,香港城市大学助理教授—马佳葳的Talk已经准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “基于多模态理解的混合数据专家模型”,他向大家介绍了混合数据专…

x86 平台实现一个原子加法操作

1&#xff0c;先上代码 #include <iostream> #include <omp.h>int atomicAdd(int* ptr, int value) {int result;asm volatile("lock xaddl %0, %1\n": "r" (result), "m" (*ptr): "0" (value), "m" (*ptr): &…

程序猿大战Python——Python与MySQL交互三

SQL注入 目标&#xff1a;了解什么是SQL注入&#xff1f; SQL注入指的是&#xff1a;恶意篡改或注入SQL条件。 当开发者的数据条件若被恶意篡改&#xff0c;那就达不到预期的查询效果。 为了了解SQL注入是怎么回事&#xff1f;通过一个案例来分析。 例如&#xff0c;使用命令…

综合布线实训室建设可行性报告

1、 建设综合布线实训室的目的和意义 1.1 响应国家职业教育政策 在国家对职业教育的高度重视和政策支持下&#xff0c;综合布线实训室的建设不仅是对国家教育方针的积极响应&#xff0c;也是对技术教育改革的有力推动。通过这一平台&#xff0c;我们旨在培育出一批具有强烈实…

ChatGPT智能对话绘画系统 带完整的安装源代码包以及搭建教程

系统概述 ChatGPT 智能对话绘画系统是一款集智能语言处理和绘画创作于一体的综合性系统。它利用了深度学习和自然语言处理技术&#xff0c;能够理解用户的意图和需求&#xff0c;并通过与用户的交互&#xff0c;生成富有创意的绘画作品。该系统的核心是一个强大的人工智能模型…

高考后的抉择:专业优先还是学校优先?

随着2024年高考的帷幕落下&#xff0c;高考生们面临的一个重要抉择再度浮上心头&#xff1a;在分数受限的情况下&#xff0c;是选择一个心仪的专业&#xff0c;还是选择一个知名度更高的学校&#xff1f;这是一个困扰了众多考生和家长的长期难题。在这个关键的时刻&#xff0c;…

“一团乱麻”到底什么是烟雾病呢?

当我们听到“烟雾病”这个名字时&#xff0c;可能会联想到与吸烟有关的疾病&#xff0c;但实际上&#xff0c;这是一种与吸烟毫无关系的罕见脑血管疾病。它的名字来源于在脑血管造影中&#xff0c;病变的血管网看起来像一团乱麻&#xff0c;又似吸烟时吐出的烟雾。 烟雾病&…

uniapp, ‍[⁠TypeError⁠]‍ “Failed to fetch dynamically imported module“ 报错解决思路

文章目录 1. 背景2. 报错3. 解决思路4. 思考参考1. 背景 最近基于uniapp开发一款设备参数调试的APP软件,在使用第三方插件的过程中,出现下面的报错。 2. 报错 [plugin:vite:import-analysis] Cannot find module ‘D:/leaning/uniapp/demo/jk-uts-udp示例/uni_modules/uts-…
最新文章