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 ...
随机推荐
- idea使用mapstruct报错,Internal error in the mapping processor
错误信息如下: java: Internal error in the mapping processor: java.lang.NullPointerException at org.ma... 修 ...
- C 系列的暂停
由于Mooc上有关C 的课程并不是很全面,网络上有关于C 的消息过于杂糅,所以暂时停止C的学习,重启时间暂定,等什么时候需要的时候再做重启.
- CBV源码分析及模板语法之传值 过滤器 标签 继承 导入
CBV的源码分析 # CBV的源码入口从哪里看呢? CBV的核心源码: return self.dispatch(request, *args, **kwargs) def dispatch(self ...
- selenium 设置时区
driver = webdriver.Chrome() tz_params = {'timezoneId': 'America/New_York'} driver.execute_cdp_cmd('E ...
- keshe
keshe 发送方a 代码: package org.example; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.ut ...
- 搬运 nginx代理https
oauth2-client在Nginx代理后遇到的问题和解决方案 2020-01-17 2020-05-27 TECH 30 MINUTES READ (ABOUT 4442 WORDS) OAu ...
- unidbgrid默认列排序
UniDBGrid -> ClientEvents -> ExtEvents ->... function reconfigure(sender, store, columns, o ...
- C_C++常用函数汇总
1 string.h.cstring(C) (1)字符串连接函数 strcat.strncat strcat(char[ ], const char[ ]) strncat(char[ ], cons ...
- Prometheus Alertmanager生产配置趟过的坑总结
简介 Alertmanager 处理由客户端应用程序(如 Prometheus server)发送的警报.它负责去重(deduplicating),分组(grouping),并将它们路由(routin ...
- 近期调研和使用 zeromq 与 cppzmq 的一些问题
关于message 消息分片 消息分片的发送 消息分片允许将多个消息封装成一条消息.在发送自定义协议数据时,我们经常需要在消息前"填充"一个包头.如下代码,在发送的时候加上 zmq ...