python_7 退出、结束循环和嵌套循环
一、查缺补漏
1. end=' 任意值 ' 表示换行,任意值会显示在换行前,不写默认换行
2. input() 用户键盘输入 默认输入str类型,如要和int类型比较需要强制类型转换
二、退出、结束循环和嵌套循环
1. continue和break 结合循环使用
a. continue:结束本次循环,进入下一个循环 ,注意continue是结束当前循环体,但 i 还是会继续增加
列:for i in range(5):
if i == 3:
continue
elif i == 4:
print(i)
else:
print(i) 结果为:0 1 2 4
b. break:退出循环
列:for i in range(5):
if i == 3:
break
print(i) 结果为:0 1 2
2. 嵌套循环
a. 嵌套循环:循环里面还有循环,比如两个for循环,不要写三层循环
列:for k in range(2):
print('外层循环',k)
for i in range(5):
print(i) 结果为:外层循环0 01234 外层循环1 01234
解释:外层循环第一次,内层循环五次,外层再开始循环第二次,内层再循环五次
range()生成的列表元素有多少个就执行多少次
b. 函数循环:解耦双层for循环
列:def test02():
for i in range(5):
print(i)
def test01():
for k in range(2):
print('外层循环',k)
test02()
test01() 结果为:外层循环0 01234 外层循环1 01234
解释:函数test01被执行k=0,进入函数test02循环五次,再到test01函数k=1,进入test02循环五次
三、函数
1. 函数:一段可以直接被另外一个程序或者代码去引用的代码
2. 定义
语法:def 函数名称(): -----定义函数
函数体
return返回值
函数名称() -------调用函数
注意:函数名一般用下划线,函数体要缩进(Tab,4个空格)
return是函数运行结束的标识符,遇到return直接跳出函数
函数的返回值return的值可以写也可以不写,不写或return后面未写返回值,默认返回None
调用函数时不会显示return的值,但其实函数返回值中包括return后面的值
列:def name_list():
print("alisa")
return 1
name_list()
res=name_list()
print(res) 结果为:alisa alisa 1
3. 函数参数
a. 形参:占个坑,表示这里有值 如:def test(name) name就为形参
实参:函数调用的时候传给函数的值 如:def test(name="alisa") alisa为实参
b. 必须参数 (必须传参,但不一定被调用)
i. 函数调用的时候必须传,不传就会报错 比如a中的name就为必须参数
ii. 必须按参数的顺序进行传递,一一对应
图中调用的name和age的顺序和函数的顺序必须对应,要不然会传反
iii. 参数未被使用,不会高亮
iv. 函数的参数不一定在函数中去使用,调用函数的时候还是必须要传
c. 关键字参数---最好使用
i. 函数调用传递参数的时候,将某个值给固定的参数 调用时(参数=实参)
ii. 无需关注函数参数的顺序
iii. 即使不被高亮,也不会报错
d. 默认参数
i. 函数调用的时候,有默认参数可以不传参 定义时(参数=实参)
ii. 函数调用的时候,如果传了参数如下图name_01,会覆盖掉默认参数
e. 不定长参数
i. *args:接收多个参数,以元组的形式接收,*后面的值可以随意更改
ii. **kwargs:接收多个关键字参数,以字典的形式接收,**后面的值可以随便定义
iii. 在函数体内使用的时候不能加*,和**,调用的时候不能反过来
四、变量作用域
1. 全局变量:定义在函数外面,整个py文件都能用,或者是整个类都可以使用的变量 如下图name="alisa"
局部变量:定义在函数里面,只在某个函数内可以使用 如下图name="老王"
2. global关键字-----定义为全局变量
a. 作用:global关键字修饰变量后,就表示声明该变量为全局变量
b. 被声明的全局变量如果在函数体中,一定要先调用这个函数
c. 先global声明再对其赋值
五、几个小知识点
1. 函数定义时的形参是否用到函数体里,是不一定,可是调用函数时,一定要根据定义时的参数进行传参,否则会报错
2. 高亮是pycharm里的特别提醒,没有应用改变量或者参数时,是灰色的,就说明函数体里没有引用这个变量或者参数
3. 关键字参数实际是传参的一种形式,采取形参=value的形式,不用纠结,注意区分就好
4. debug中,step into:是进入函数内部
python_7 退出、结束循环和嵌套循环的更多相关文章
- python退出多重循环
假设一段python程序有多重循环,我们都知道在一个循环当中,用break是退出当前的循环,然后继续下一次循环,但是如何才能跳出多重循环呢,实际就是结束所有的循环. 思路1::可以定义一个异常类,在需 ...
- 退出循环break,在while、for、do...while、循环中使用break语句退出当前循环,直接执行后面的代码。
在while.for.do...while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) {break;} ...
- JS流程控制语句 退出循环break 在while、for、do...while、while循环中使用break语句退出当前循环,直接执行后面的代码。
退出循环break 在while.for.do...while.while循环中使用break语句退出当前循环,直接执行后面的代码. 格式如下: for(初始条件;判断条件;循环后条件值更新) { i ...
- jQuery如何退出each循环的?
试问:jQuery是如何退出each循环的? 在回调函数里return false即可,大多数jQuery的方法都是如此的. 返回 'false' , 将停止循环 (就像在普通的循环中使用 'bre ...
- jquery中如何退出each循环
在for循环中我们用continue退出当前循环,进入下一循环.用break跳出所有循环. 可是在jQuery中却并没有这两条命令,那么如何退出each循环呢? 经过查询得知: 在jQuery中用 r ...
- 一个程序如何在调试时退出调试或退出while循环
1.退出调试 按Ctrl+C 2.退出while循环 比如 #include <stdio.h> #include <stdlib.h> int main() { long a ...
- jquery的$.each如何退出循环和退出本次循环
https://api.jquery.com/jQuery.each/ We can break the $.each() loop at a particular iteration by maki ...
- js jquery 结束循环
js 中跳出循环用break,结束本次循环用continue,jqeruy 中循环分别对应 return false 和return true. jquery 中each循环 跳出用return tr ...
- break与continue,return结束循环区别
break是跳出一层循环,continue是结束一趟循环 ,return才是结束所有层循环! 如果有多层for循环,break会跳出当前这一层,去执行最外层循环(而不是退出所有层循环);而contin ...
- jQuery如何退出each循环 和如何退出function函数
1.在函数内部使用return false是跳出function; 2.在each的回调函数中使用return false,是跳出each循环;return true 进入下一个循环: 3.break ...
随机推荐
- jooq简单使用
DSLContext首先简单的配置文件 <?xml version="1.0" encoding="UTF-8" standalone="yes ...
- sed随笔
sed [-hnV] [-e<script>][-f<script文件>] [文本文件] 参数说明: -e<script>或--expression=<sc ...
- WSL终端无法启动
WSL终端无法启动 1.状态 (1)宿主系统重新启动后,通过菜单项无法启动终端. (2)在powershell中,通过命令:wsl -l -v,查看子系统均为为stopped状态. (3)Powers ...
- day2 java基础语法
day1复习 1.java的特点 2.jdk,jre,jvm的关系 3.为什么要配置path 基本语法 1.关键字与保留字 2.标识符与标识符规则 3.java的命名规范 起名时提高阅读性尽量有意义 ...
- MarkDown基本用法学习
一级标题 语法:# +内容 二级标题1 语法:## +内容 二级标题2 三级标题 语法:### +内容 字体 加粗 语法:** +内容+ **(中间无空格) 效果:粗体 斜体 语法 * +内容+ *( ...
- SQLServer游标(Cursor)简单例子
DECLARE @username nvarchar(50),@password nvarchar(50),@num int--声明游标变量 DECLARE myCursor CURSOR FOR s ...
- c++方便的输出vector和map_重载的应用 【python一样写c++、二】
写程序,尤其是调试的时候,会想着直接输出一个map或者vector来调错. 但本来的cout<<没有这种功能.我们就会想了,要是c++能和python一样,直接输出一个列表(vector) ...
- Docker下部署LNMP黄金架构
一.部署lnmp 1.网络规划 172.16.10.0/24nginx:172.16.10.10mysql:172.16.10.20php:172.16.10.30网站访问主目录:/wwwrootng ...
- Android笔记--如何在Android studio里面打开数据库
具体操作 可参考这篇(更为详细): https://www.cnblogs.com/liuzijin/p/17029231.html 1.找到界面内的Device File Explorer 这里找可 ...
- 用声网 Android UIKit 为实时视频通话应用添加自定义背景丨声网 SDK 教程
使用声网 SDK 和 UIKit 创建视频推流应用非常简单,而且声网还有许多功能,可以提高视频通话的质量和便利性.例如,我们可以在视频通话过程中使用虚拟背景,为视频通话增添趣味性. 我们可以通过以下三 ...