python第二章:控制流
变成实际上是一个过程的提现,每个过程都是有多个流程块组成。
比如:判断是否下雨的过程
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第二章:控制流的更多相关文章
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- Python 第二章-列表和元组
第二章-列表和元组 2.0 在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序列号-即元素的位置, 也称为索引.第一个索引是0,第二个是1,以此类推. ...
- 【原创】Python第二章——字符串
字符串是一个字符序列,(提醒:序列是Python的一个重要的关键词),其中存放UNICODE字符.Python中的字符串是不可变的(immutable),即对字符串执行操作时,总是产生一个新的字符串而 ...
- 【原创】Python第二章——行与缩进
Python的基本组成——逻辑行和缩进 a="我是一个物理行" a="""我是一个逻辑行 因为我一条语句便跨越了2个物理行""&q ...
- 【原创】Python第二章——标识符命名规则
在Python中,一切都是对象,包括常量数据类型,如整数数据类型(1,2,3...),字符串数据类型("ABC").想要使用这些对象,就要使用它的对象引用.赋值操作符,实际上是使得 ...
- python第二章:数据类型--小白博客
标准数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 ...
- Python第二章-变量和数据类型
变量和数据类型 一.什么是变量,常量 思考:程序执行指的是什么? 对数据进行存储处理和计算,最终获得结果,这是程序执行的本质. 变量的概念和在数学中的变量的概念一样的,只是在计算机程序中,变量不仅可以 ...
- machine learn in python 第二章2.1.1
1大约 sklearn.datasets from sklearn.datasets import load_iris import numpy as np data = load_iris() da ...
- Python第二章(北理国家精品课 嵩天等)
一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...
随机推荐
- js中小球碰壁反弹
一. 在指定容器内的碰壁反弹 <!DOCTYPE HTML> <html> <head> <title></title> <meta ...
- 集群实战(1):swarm安装记述
查看主机名 hostnamectl 修改主机名 hostnamectl set-hostname xxx 关闭selinux sed -i 's/SELINUX=enforcing/#SELINUX= ...
- 《k8s权威指南》读书笔记
抽空读完了<k8s权威指南>一书,对k8s的总算有了较为系统的认知. 好记忆不如多写字,以下是读书笔记 第一章 k8s入门 k8s是什么: 一个开源的容器集群管理平台,可提供容器集群的自动 ...
- python蟒蛇绘制
使用IDLE的文件方式编写代码并保存为PythonDraw.py文件 python蟒蛇绘制 import turtle引入了海龟绘图体系 使用setup函数,设定了一个宽650像素和高350像素的窗体 ...
- maximo入门---开发者提要
1.添加控件 在一个程序设计器里添加控件,控件必须要和这个程序对象(这个程序关联的表)的一个属性绑定 ps maximo挺高级的,比如一个date类型的输入框,会自动给他补上时间控件 2.复制程序 复 ...
- Vue结合Django-Rest-Frameword结合实现登录认证(一)
作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/2436173500265335 微信公众 ...
- 一文带你熟悉JAVA IO这个看似很高冷的菇凉
Java IO 是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从 Java 的 BIO 开始,一步一步深入学习,引出 JDK1.4 之后出现的 NIO 技术,对比 N ...
- javaweb修改表单参数---使用过滤器
需求: 所有的字段要将空字符串转成null: 问题: 我们知道表单如果不写值的时候,传递到后台的不是null,而且是空字符串.那么怎么改成null呢? 解决: 使用过滤器,将请求的参数修改过后继续,再 ...
- 浅谈SSRF
前言 最近主要是在思考考研的事.还是没想好-- 这几天的话写了一篇简单代审投稿了星盟,看了会SSRF.今天简单写下SSRF. 本文所有思路均来自互联网,并没有新想法.仅仅只是做个记录. 本文可能会有大 ...
- ASP.NET Core 基于声明的访问控制到底是什么鬼?
从ASP.NET 4.x到ASP.NET Core,内置身份验证已从基于角色的访问控制(RBAC)转变为基于声明的访问控制(CBAC). 我们常用的HttpContext.User属性ASP.NET ...