[深度学习入门]Python基础语法(中)

简介: 笔记

程序的基本结构


一、程序的流程图

  程序流程图用一系列图形、流程线和文字说明描述程序的基本操作和控制流程,它是程序分析和过程描述的最基本方式

  流程图的基本原始包括7种:

2.png


二、程序的基本结构

 顺序结构是程序的基础,但单一的顺序性结构不可能解决所有问题。程序由三种基本结构组成:顺序结构、分支结构、循环结构。这些基本结构都有一个入口和一个出口。任何程序都由这三种基本结构组合而成。

 顺序结构是程序按照线性顺序依次执行的一种运行方式,其中语句块S1和语句块S2表示一个或一组顺序执行的语句。

 分支结构是程序根据条件判断结构而选择不同向前执行路径的一种运行方式,包括单分支和二分支结构。由二分支结构会组合形成多分支结构。

 循环结构是程序根据条件判断结构向后反复执行的一种运行方式,根据循环体触发条件不同,包括条件循环和遍历循环结构。


三、程序的基本结构实例

 对于一个计算问题,可以用IPO描述、流程图或者直接以Python代码方式描述。

3.png4.png5.png


四、程序的基本结构实例

 IPO描述主要用于区分程序的输入输出关系,重点在于结构划分,算法主要采用自然语言描述。

 流程图描述侧重于描述算法的具体流程关系,流程图的结构化关系相比自然语言描述更进一步,有助于阐释算法的具体操作过程。

 Python代码描述的是最终的程序产出,最为仔细。


五、单分支结构:if语句

 Python中if语句的语法格式如下:

if<条件>:
  语句块

 语句块是if条件满足后执行的一个或多个语句序列。语句块中语句通过与if所在行形成缩进表达包含关系。If语句首先评估<条件>的结果值;如果结果为True,则执行语句块里的语句序列,然后控制转向程序的下一条语句。如果结果为False,语句块里的语句会被跳过。

 if语句中语句块执行与否依赖于条件判断。但无论什么情况,控制都会转到if语句后与该语句同级别的下一条语句。

 if中<条件>部分可以使用任何能够产生True或False的语句。形成判断条件最常见的方式是采用关系操作符。Python语言共有6个关系操作符。

6.png7.png


六、二分支结构:if-else语句

 Python中的if-else1语句用来形成二分支结构,语句格式如下:

if<条件>:
  <语句块>
else:
  <语句块>


 <语句块1>是在if条件满足后执行的一个或多个语句序列。<语句块2>是if条件不满足后执行的语句序列。二分支语句用于区分<条件>的两种可能True或者False,分别形成执行路径。

8.png

二分支结构还有一种更简洁的表达方式,适合通过判断返回特定值,语法格式如下:

<表达式1> if <表达式2>

If…else的紧凑结构非常适合对特殊值处理的情况。


七、多分支结构:if-elif-else语句

 Python的if-elif-else描述多分支结构,语句格式如下:

if<条件1>:
  <语句块>
elif<条件2>:
  <语句块2>
else:
  <语句块2>

 多分支结构是二分支结构的拓展,这种形式通常用于设置同一个判断条件的多条执行路径。

 Python依次评估寻找第一个结果为True的条件,执行该条件下的语句块,同时结束后跳过整个if-elif-else结构,执行后面的语句。如果没有任何条件成立,else下面的语句块被执行。else子句是可选的。


八、遍历循环:for循环

 遍历循环:根据循环执行次数的确定性,循环可以分为确定次数循环和非确定次数循环。确定次数循环指循环体对循环次数有明确的定义循环次数采用遍历结构中元素个数来体现。Python通过保留字for实现“遍历循环”:

for<循环变量> in <遍历结构>:
  <语句块>

 循环结构可以是字符串、文件、组合数据类型或range()函数:

9.png

遍历循环还有一种扩展模式,使用方法如下:

for <循环变量> in <遍历结构>: 
  <语句块1>
else:
  <语句块2>

 当for循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行并结束。因此,可以在<语句块2>中放置判断循环执行情况的语句。


九、无限循环:while语句

 无限循环一直保持循环操作直到特定的循环条件不被满足才结束,不需要提前知道确定循环次数。Python通过保留字while实现无限循环,使用方法如下:

while <条件>:
  <语句块>语句块

 无限循环也有一种使用保留字else的拓展模式:

while<条件>:
  <语句块1>
else:
  <语句块2>


十、循环保留字:break和continue

 循环结构有两个辅助保留字:break和continue,它们用于辅助控制循环执行。

 break用来跳出最内层for或while循环,脱离该循环后程序从循环后代码继续执行。其中,break语句跳出了最内层for循环,但仍然继续执行外层循环。每个break语句只有能力跳出当前层次循环。

 continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。对于while循环,继续求解循环条件。而对于for循环,程序流程接着遍历循环列表。

 continue语句和break语句的区别是:

 continue语句只结束本次循环,而不终止整个循环的执行。break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。

 for循环和while循环中都存在一个else扩展用法。

 else中的语句块只在一种条件下执行,即for循环正常遍历了所有内容没有因为break或return而退出。continue保留字对else没有影响。


十一、random库的使用

10.png

对random库的引用方法与math库一样,采用下面两种方式实现:

import random
from random import *

生成随机数之前可以通过seed()函数指定随机种子,随机种子一般是一个整数。只要种子相同,每次生成的随机数序列也相同。这种情况便于测试和同步数据。

image.png

十二、π的计算

image.png


十三、异常处理机制

  异常处理:try-except语句

  Python解释器返回了异常信息,同时程序退出

image.png

Python异常信息中最重要的部分是异常类型,它表明了发生异常的原因,也是程序处理异常的依据。Python使用try-except语句实现异常处理,基本的语法格式如下:

try:
  <语句块1>
except<异常类型>:
  <语句块2>

十四、异常的高级用法

 最后一个except语句没有指定任何类型,表示它对应的语句块可以处理所有其他异常。这个过程与if-elif-else语句类似,是分支结构的一种表达方式。

image.png

该程序将用户输入的数字作为索引从字符串alp中返回一个字符,当用户输入非整数字符时,except NameError异常被捕获到,提示用户输入类型错误。当用户输入数字不再01到256之间时,异常被except捕获,程序打印其他错误信息,执行过程和结果如下:

image.png

除了try和except保留字外,异常语句还可以与else和finally保留字配合使用,语法格式如下:

try:
  <语句块1>
except<异常类型1>:
  <语句块2>
else:
  <语句块3>
finally:
  语句块4>

image.png

相关文章
|
22小时前
|
数据采集 运维 API
适合所有编程初学者,豆瓣评分8.6的Python入门手册开放下载!
Python是一种跨平台的计算机程序设计语言,它可以用来完成Web开发、数据科学、网络爬虫、自动化运维、嵌入式应用开发、游戏开发和桌面应用开发。 Python上手很容易,基本有其他语言编程经验的人可以在1周内学会Python最基本的内容(PS:没有基础的人也可以直接学习,速度会慢一点) 今天给小伙伴们分享一份Python语言及其应用的手册,这份手册主要介绍 Python 语言的基础知识及其在各个领域的具体应用,基于最新版本 3.x。
|
23小时前
|
JSON 数据格式 索引
Python学习之路 | Python基础语法(二)
Python学习之路 | Python基础语法(二)
6 0
|
23小时前
|
存储 程序员 索引
Python学习之路 | Python基础语法(一)
Python学习之路 | Python基础语法(一)
7 1
|
1天前
|
机器学习/深度学习 算法 TensorFlow
【图像识别】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别
谷物识别系统,本系统使用Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经算法网络模型,通过对11种谷物图片数据集('大米', '小米', '燕麦', '玉米渣', '红豆', '绿豆', '花生仁', '荞麦', '黄豆', '黑米', '黑豆')进行训练,得到一个进度较高的H5格式的模型文件。然后使用Django框架搭建了一个Web网页端可视化操作界面。实现用户上传一张图片识别其名称。
14 0
【图像识别】谷物识别系统Python+人工智能深度学习+TensorFlow+卷积算法网络模型+图像识别
|
3天前
|
数据可视化 API Python
Python零基础“圣经”!300W小白从入门到精通首选!
今天分享的这本书在让你尽快学会 Python基础知识的同时,能够编写并正确的运行程序(游戏、数据可视化、Web应用程序) 最大的特色在于,在为初学者构建完整的 Python 语言知识体系的同时,面向实际应用情境编写代码样例,而且许多样例还是 后续实践项目部分的伏笔。实践项目部分的选题经过精心设计,生动详尽 又面面俱到。相信这本书能够得到更多 Python 初学者的喜爱。
|
4天前
|
Python
小白入门必备!计科教授的Python精要参考PDF开放下载!
随着互联网产业的高速发展,在网络上早已积累了极其丰富的Python学习资料,任何人都可以基于这些资源,自学掌握 Python。 但实际上,网络上充斥的资源太多、太杂且不成体系,在没有足够的编程/工程经验之前,仅靠“看”线上资源自学,的确是一件非常困难的事。
|
5天前
|
数据可视化 API Python
豆瓣评分9.4!堪称经典的Python入门圣经,你还没看过吗?
最理想的新人入门书应该满足两个特点:第一就是内容通俗易懂;第二就是要有实战,能够让读者在学完之后知道具体怎么用。 今天给小伙伴们分享的这份Python入门手册,在为初学者构建完整的Python语言知识体系的同时,面向实际应用情境编写代码样例,而且许多样例还是后续实践项目部分的伏笔。实践项目部分的选题经过精心设计,生动详尽又面面俱到。
|
5天前
|
机器学习/深度学习 人工智能 算法
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
中草药识别系统Python+深度学习人工智能+TensorFlow+卷积神经网络算法模型
37 0
|
4天前
|
机器学习/深度学习 自然语言处理 算法
深度学习在图像识别中的应用
本文将探讨深度学习在图像识别领域的重要性和应用。随着科技的发展,图像识别已经成为了计算机视觉领域的一个重要分支。深度学习作为一种强大的机器学习方法,已经在图像识别中取得了显著的成果。本文将详细介绍深度学习的原理、模型和算法,并分析其在图像识别中的应用和挑战。
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能在医疗诊断中的应用探索深度学习在图像识别中的应用
【5月更文挑战第31天】随着人工智能技术的飞速发展,其在医疗领域的应用也日益广泛。特别是在医疗诊断方面,AI技术不仅提高了诊断的准确性和效率,还为医生提供了更多的决策支持。本文将深入探讨AI在医疗诊断中的应用,包括图像识别、自然语言处理等方面,并分析其优势与挑战。 【5月更文挑战第31天】 随着人工智能技术的飞速发展,深度学习已经成为了推动计算机视觉领域进步的核心力量。本文将深入探讨深度学习技术在图像识别任务中的应用,重点分析了卷积神经网络(CNN)的基本原理、关键技术以及面临的挑战。通过精选的案例研究,我们揭示了深度学习如何改善模型的识别精度和泛化能力,同时讨论了目前该领域的开放性问题及未