变成实际上是一个过程的提现,每个过程都是有多个流程块组成。

比如:判断是否下雨的过程

1.布尔值

在第一章最后举例了比较操作后,最终返回的结果 True or False

True 和 False是一组布尔值,并且注意的是首字母大写

布尔值可以和其他数据类型一样存放在变量里,另外也可以用作表示两组数据是否相等

2.比较操作符

”比较操作符“比较两组数据,最后的结果就是布尔值

通过这些操作符比较后,最终得出的结果是布尔值

例如:

print(1==1) 返回True

print(2!=2) 返回False

print(2>1) 返回True

print(1>2) 返回False

print('hello' == 'hello') 返回True

print('hello' == 'Hello') 返回False

另外注意 :

(1)==和!=可以用作所有数据类型进行比较,但是>、<、>=、<= 仅仅用户整型和浮点型

(2)==和=需要注意区分,==是比较操作符,而=是赋值使用

3.布尔操作符

布尔操作符一共有三类:and 、or、not

熟悉java的可以知道 and相当于&& ,or相当于 || ,not相当于!

and表示并且,意思就是and两边的布尔结果值都要是True,最终才返回True

or表示或者,意思就是and两边的布尔结果值只要有一个是True,结果就返回True

not表示非,即取相反值

布尔操作符和比较操作符同时使用

print((2>1) and (5>4)) 结果:True

print((4>5) and (5>3)) 结果:False

4.条件代码块

这是一种最常见,使用最频繁的代码逻辑

比如本章一开始的流程图里,菱形处都代表条件代码块的逻辑

条件代码块的结构:

解析:input()函数接收键盘输入的内容,保存到name变量中,键盘输入的内容是字符串,所以name的数据类型是字符串,if 后面就是进行逻辑判断的表达式,如果name等于'chengjq',注意,‘chengjq’这里是字符串,如果缺少单引号,则报错。如果满足输入的内容等于‘chengjq’,也就是返回的结果为True,则打印 hello chengjq

else表示否则,如果输入的内容不是‘chengjq’,则进入else代码块,输出 sorry chengjq

另外:if和else的最后都要加上冒号: 不要漏了

结构简介:

在很多时候,只有简单的if else子句无法满足需求,就可以使用elif语句

结构和if语句一样,后面需要加上True 或者 False的结果表达式

在实际情况下,需要注意条件的顺序,不一样的顺序最终出来的结果可能会不一样,另外,尽可能判断的所有可能性都包含在条件代码块里

5.whlie 循环语句

在现实情况下,需要循环不断的去做一件事,这个时候就用到循环语句

while循环语句的代码结构

while语句的结构和if语句的结构很类似

输出:5个hello world

解析:只要spam小于5 就一直输出hello world。但是每次输出一个hello world,spam就加1,当spam加到5的时候,spam<5 结果是False,不满足条件,则跳出while循环

6.break语句

break关键词是终止循环

比如在一个while循环中

解析:如果没有if语句,这个while循环将一直循环下去,这就是死循环,如果显示情况下,程序很可能就直接崩溃了

但是结合之前的if语句,如果spam等于5的时候,该whilie语句就直接跳出循环,不会造成死循环

7.continue语句

continue关键词是结束当前循环,继续执行下一个循环

解析:还是结合这个例子,当spam等于3时,执行continue,跳出当前循环,不打印hello world,但是spam还是要加1.当spam等于4的时候 不执行if和elif语句,打印hello world ,然后spam加1,当spam等于5的时候,执行elif里的代码块,跳出循环。

8.for循环和range函数

当程序中需要执行固定的次数时,可以使用for循环来实现(while语句也能实现,只是for语句更简洁)

结构简介:

结果:打印5次结果

解析:变量名i 默认从0开始,步长为1,i递增到(但不包括)传递给range函数的整数

range()函数最多有三个参数

当只有一个参数时,则表示终止值(结果为终止值-1),起始值默认0,步长为1

当有两个参数时,第一个参数表示开始值,第二个参数表示终止值,步长默认为1

当有三个参数时,第一个参数表示开始值,第二个参数表示终止值,第三个参数表示步长

9.导入模块

python内部可以调用很多基本的函数,成为内建函数,包括了之前的print(),input(),len()等等。

python还包括一组模块,成为标准库,里面有一些包含特定功能的函数,比如:math模块提供了数据运算相关的函数,random模块提供了随机数相关的函数

在使用一些标准库时,需要通过import语句导入模块

结构:

输出5次1到10 之间的随机整数

10.使用sys.exit()提前结束程序

通过调用sys.exit(),可以让程序终止或者退出,这个函数在sys模块里,所以要先import sys

但是个人感觉,这个函数太霸道了,不建议使用

注意:在if语句或者循环语句条件里 0或者0.0或者‘’(空字符串)都被认为是False

python第二章:控制流的更多相关文章

  1. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  2. Python 第二章-列表和元组

    第二章-列表和元组 2.0      在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...

  3. 【原创】Python第二章——字符串

    字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...

  4. 【原创】Python第二章——行与缩进

    Python的基本组成——逻辑行和缩进 a="我是一个物理行" a="""我是一个逻辑行 因为我一条语句便跨越了2个物理行""&q ...

  5. 【原创】Python第二章——标识符命名规则

    在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC").想要使用这些对象,就要使用它的对象引用.赋值操作符,实际上是使得 ...

  6. python第二章:数据类型--小白博客

    标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...

  7. Python第二章-变量和数据类型

    变量和数据类型 一.什么是变量,常量 思考:程序执行指的是什么? 对数据进行存储处理和计算,最终获得结果,这是程序执行的本质. 变量的概念和在数学中的变量的概念一样的,只是在计算机程序中,变量不仅可以 ...

  8. machine learn in python 第二章2.1.1

    1大约 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() da ...

  9. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

随机推荐

  1. 典藏版Web功能测试用例库

    界面显示 ​ 初始界面元素:title.内容,默认值.必填项(红*) ​ 样式美观 ​ 排版规范 ​ 字体统一 ​ 编辑页面有光标,定位在第一个可编辑文本框 ​ 内容过多时,滚动条 ​ loading ...

  2. turtle角度坐标体系

    seth()改变海龟的行进角度 例如 让海龟的方向朝着45°方向行进 turtle.seth(45) 让海龟的方向朝着-135°反方向行进 turtle.seth(-135) turtle.left( ...

  3. flask-session、数据库连接池

    flask-session 作用:将默认保存的签名cookie中的值保存到redis/memcached/file/Mongodb/SQLAlchemy 安装:pip3 install flask-s ...

  4. 【Jenkins】三、设置定时任务

    1.点击工程(Test1), 选择左侧的配置 2.选择"构建触发器"下面的"定时构建" 3.填写定时规则(这里设置每隔30分钟执行一次) 4.定时规则语法字段 ...

  5. 【Netty之旅四】你一定看得懂的Netty客户端启动源码分析!

    前言 前面小飞已经讲解了NIO和Netty服务端启动,这一讲是Client的启动过程. 源码系列的文章依旧还是遵循大白话+画图的风格来讲解,本文Netty源码及以后的文章版本都基于:4.1.22.Fi ...

  6. shiro-重写标签功能----shiro:hasPermission 标签重写

    public abstract class ShiroAuthorizingRealm extends AuthorizingRealm{ private static final String OR ...

  7. 215。数组中第K个最大元素(堆实现)

    class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: """堆排序思想 ...

  8. Spring学习(一)--Spring的设计与整体架构

    之前只是在学校里大概的学习了一下Spring框架的使用以及一些最基本.浅显的原理,并没有做出深入的学习,等到工作之后想提升自己的时候发现所掌握的Spring框架的简直烂如狗屎,为监督自己的学习进度,立 ...

  9. Istio 运维实战系列(3):让人头大的『无头服务』-下

    本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 失败的 Eur ...

  10. MySQL 5.7安装与配置

    Windows 一.到MySQL官网下载压缩版本,下载后文件为mysql-5.7.20-winx64.zip,解压到D:\develop\mysql-5.7.20-winx64.   二.在系统变量P ...