Python 基础、流程、容器、函数

embedded/2024/9/24 10:32:16/

一、基础语法

1.1 前言

1.1.1 Python简介
  • Python是一门编程语言,Python的作者是Guido van Rossum(龟叔)

    image.png

  • Python优点:简单易学

  • Python与嵌入式、集成电路行业

    1. 强大的库和工具生态系统:Python拥有广泛而强大的库和工具生态系统,涵盖了各种领域的功能和应用,包括串口通信、网络通信、数据处理、图像处理等。这些库和工具可以极大地简化嵌入式和集成电路开发过程,加快开发速度。更方便的是能直接部署ROS这样的机器人操作系统。

    2. 与硬件的集成能力:Python提供了多种与硬件集成的方式,例如通过串口通信、GPIO控制、SPI、I2C等接口。开发者可以使用Python与嵌入式设备进行通信和控制,实现与外部传感器、执行器等硬件的交互。

    3. 数据分析和可视化:在嵌入式和集成电路开发过程中,数据分析和可视化是非常重要的环节。Python拥有众多优秀的数据分析和可视化库,例如NumPy、Pandas、Matplotlib等,可以帮助开发者处理和分析采集到的数据,并进行可视化展示。

1.1.2 Python环境搭建
  • 环境版本

    • 解释器版本:3.9.13

    • PyCharm版本:pycharm-community-2022.3.3

  • 解释器安装

    image.png

    • 解释器版本查看,打开windows终端,输入如下命令

      image.png

  • PyCharm安装

    image.png

  • 推荐插件安装

    • CodeiumAI插件

      • Codeium 免费的AI编程助手 - 知乎

      • 因为要和谐上网登陆,加载很慢,如果这个装不了,装下面这个也行

    • 缩进提醒

  • Python教程:Python 教程 — Python 3.12.3 文档

1.1.3 第一个Python程序
  • PyCharm运行Python步骤:

    1. 打开PyCharm(如果已经打开,需要先关闭)

      • 关闭工程

    2. 新建工程(项目)

      • 选择项目路径(最好提前准备好)

      • 选择解释器

        • 上一步没有解释器,确保已经安装了,然后操作如下

    3. 新建Python文件:hm_hello.py

      • 写代码 print('hello abc')

        • Python中单引号和双引号效果是一样的

    4. 运行Python代码

1.1.4 PyCharm常用操作
  • 文件改名

  • 删除文件

  • 代码分屏显示

  • 打开文件所在的位置

 

  • 解释器相关:这里以3.8举例,其它解释操作一样

    • 解释器快速入口

      • 在界面的右下角

    • 解释器界面

    • 更换解释器,如电脑有多个解释器

 

 

1.1.5 常用快捷键
快键键说明
Ctrl + C复制
Ctrl + V粘贴
Ctrl + D复制粘贴选定的区域或行
Ctrl + Y删除选定的行
Ctrl + Alt + L代码规范化(格式化)
Ctrl + /单行注释 、取消单行注释
Shift + 回车快速换行
tab缩进
Shift+tab反缩进

 

 

1.2 注释

  • 单行注释:

    • #开头,#后空一格后跟上注释的内容

  • 多行注释:

    • 多行注释以"""开头,"""结尾。(或以'''开头,'''结尾)

1.3 变量、标识符

1.3.1变量
1.3.2 标识符和命名规范
  • 标识符是用户编程时使用的名字, 用于给变量、 函数、 类等命名

  • 原则:

    • 由数字, 字母, 下划线组成

    • 不能使用数字开头

    • 不能使用Python内置关键字

    • 严格区分大小写

    • 不建议使用中文

  • 关键字(这个不用记):Python已经占用的名字,用户起名不能和关键字重名

    img

  • 命名规范(习惯)

    • 原则:见名知意

    • 风格:

      • 下划线命名法:

      • 大驼峰命名法:

      • 小驼峰命名法:

1.4 数据类型

  • 说明

    • complex不常用,不作为学习内容

    • 布尔类型,非0就是True

    • 特殊类型:None(空类型:NoneType)

  • 可以通过type()函数获取变量类型

 

1.5 输出和输入

1.5.1 程序的输出

 

1.5.2 程序的输入


 

1.5.3 输出和输入练习

 

1.6 运算符

  • 运算符就是在各种运算中起到特定作用的符号

  • 一般情况下, 用哪个运算符, 现查现用即可

  • 算术运算符

  • 比较运算符

  • 赋值运算符

  • 逻辑运算符

 

 

二、控制流程

img

  • 顺序 —— 从上向下,顺序执行代码

  • 分支 —— 根据条件判断,决定执行代码的分支

  • 循环 —— 让 特定代码 重复 执行

2.1 判断

2.1.1 if语句

 

2.1.2 if-else语句

 

2.1.3 if-elif-else语句

 

2.1.4 if的嵌套

 

2.1.5 判断案例:猜拳游戏

 

2.2 循环

2.2.1 while循环
2.2.1.1 while循环语法

 

2.2.1.2 死循环

 

2.2.1.3 while循环嵌套

 

2.2.1.4 while循环案例:99乘法表

 

2.2.2 for循环
2.2.2.1 for循环语法

 

2.2.2.2 for循环控制循环次数

 

2.2.2.3 for循环案例:水仙花数

 

2.2.3 循环的跳转

breakcontinue是专门在循环中使用的关键字

  • break:某一条件满足时,不再执行循环体中后续代码,并退出循环

  • continue:某一条件满足时,不再执行本次循环体中后续代码,但进入下一次循环判断

2.2.3.1 break

 

2.2.2.2 continue

 

2.2.4 循环中的else

 

2.2.5 循环案例:密码合法判断

 

三、容器类型(上)

  1. 重点学习容器的定义

  2. 常用操作的建议

    • 跟着课堂把代码写一遍即可,混个脸熟,后面现用现查

    • 增、删、改、查:重点掌握

      • 字符串、元组:只能查,不能改

3.1 列表list

3.1.1 列表基本语法

 

3.1.2 列表常用方法介绍

3.1.3 列表嵌套

 

3.1.4 列表案例:办公室分配

 

3.2 元组tuple

3.2.1 元组基本语法

 

3.2.2 元组组包和拆包

 

四、函数基础

  • 所谓函数, 就是把具有独立功能的代码块组织为一个小模块, 在需要的时候调用

  • 步骤:

    • 定义函数 -> 封装代码

    • 调用函数 -> 使用代码

  • 作用: 对具备相同逻辑的代码进行封装,调高代码的编写效率,实现对代码的重用

4.1 函数基本使用

4.1.1 无参无返回值

 

4.1.2 有参无返回值

 

4.1.3 有参有返回值

 

4.1.4 函数返回多个值

 

4.2 局部变量和全局变量

4.2.1 局部变量

 

4.2.2 全局变量

 


http://www.ppmy.cn/embedded/12693.html

相关文章

【Linux】解决ubuntu20.04版本插入无线网卡没有wifi显示【无线网卡Realtek 8811cu】

ubuntu为Realtek 8811cu安装驱动,解决wifi连接问题 1、确认无线网卡的型号-Realtek 8810cu2、下载并配置驱动 一句话总结:先确定网卡的型号,然后根据网卡的型号区寻找对应的驱动下载,下载完成之后在ubuntu系统中进行编译&#xff…

css再学习

id选择器的id仅能使用一次; 可去除也可添加加粗效果; font 行高为数字n时(不添加单位)是浏览器默认font-size的n倍; 行高实现文字垂直居中(仅适应于单行文字):将line-height设置…

指令周期,机器周期,时钟周期,微指令周期的概念

指令周期,机器周期,时钟周期,微指令周期是计算机组成原理中两个重要的概念,它们描述了计算机执行指令的过程。下面我将解释它们的区别: 1. 指令周期(Instruction Cycle): - 指令…

C#笔记之解析不确定具体结构的JSON内容

需求:服务器会传一段json信息过来,这个json信息是不固定的,可能传过来的有一层或者多层数组结构。需要把这些信息全部解析出来,并加以运用。 实现: 最关键的可能就是这个JToken了,这玩意能区分这个value数…

架构师系列-MYSQL调优(八)- 索引多表优化案例

用户手机认证表 该表约有11万数据,保存的是通过手机认证后的用户数据关联字段: user_id CREATE TABLE mob_autht (id int(11) NOT NULL AUTO_INCREMENT COMMENT 标识,user_id int(11) NOT NULL COMMENT 用户标识,mobile varchar(11) NOT NULL COMMENT 手机号码,seevc_pwd varc…

【LeetCode热题100】【多维动态规划】不同路径

题目链接:62. 不同路径 - 力扣(LeetCode) 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记…

python实现钉钉通讯录导出Excel表

Python工具开源专栏 Py0004 python实现钉钉通讯录导出Excel表 Python工具开源专栏前言目录结构部分演示完整代码已在GitHub上开源 前言 需求来源于公司,需要将钉钉通讯录以Excel表的形式导出到本地,方便定期备份。导出的Excel需要处理钉钉用户兼任多部门…

matlab代码

(一) % 你可以根据实际的分隔符进行设置 opts delimitedTextImportOptions(Delimiter, ,); % 读入(.txt)文档,文档以分隔符进行分离 -> table data readtable(D:\QT_Project\servo\recvData.txt, opts);% table -> cell dataMatr…