1、continue、break,结合循环使用
continue:跳过本次循环,进入下一个循环
break:结束当前循环体
2、嵌套循环(2层)
for i in range(0, 10, 2):
if i == 6:
continue
print(i)
print('--' * 10)
for i in range(0, 10, 2):
if i == 6:
break
print(i)
print('--' * 10)
for k in range(3):
for i in range(4):
if k == 1 and i == 2:
break # 打破当前循环体,而不会对外层循环产生影响
print(k, i)
# 解耦双层for循环
def test01():
for i in range(4):
print(i)
def test02():
for k in range(3):
test01()
print('---' + str(k) + '---')
test02()
一、什么是函数【掌握】
函数:一段可以直接被另外一个程序或者代码去引用的代码
二、函数定义
语法:
def 函数名称():
函数体
return 0
注意点:
函数体要缩进(1个TAB,4个空格)
冒号,括号都是英文输入模式下的符号
函数返回值:
return 可以写,也可以不写
不写return 或者 return后面未写返回内容,默认返回None
return:函数运行结束的标识符
三、函数参数
概念:
1、形参:占个坑,表示这里有值
2、实参:函数调用的时候传给函数的值
参数
一、必须参数
1、函数调用的时候必须传,不传就会报错
2、必须按参数的顺序进行传递,一一对应
3、参数未被使用,不会高亮
4、函数的参数不一定在函数中去使用,调用函数的时候还是必须要传
二、关键字参数
1、函数调用传递参数的时候,将某个值给固定的参数
2、无需关注函数参数的顺序
三、默认参数
1、函数调用的时候,有默认参数可以不传参
2、函数调用的时候,如果传了参数,会覆盖掉默认参数
四、不定长参数
1、*args:接收多个参数,以元组的形式接收,*后面的值可以随便定义
2、**kwargs:接收多个关键字参数,以字典的形式接收,**后面的值可以随便定义
3、在函数体内使用的时候不能加*,和**
1 def test_01(name, age=18):
2 print('My name is ' + name +
3 '. I\'m ' + str(age) + ' years old.')
4
5
6 test_01('zhangsan', 20) # name是必须参数,不传参则会报错,age有默认值,传参会替换默认值
7 test_01(age=25, name='lisi') # 关键字参数用赋值的形式,可以不考虑顺序
8 test_01('wangwu') # 默认参数可以不传值,以默认值体现
9
10
11 def test_02(*args, **kwargs):
12 print(args, kwargs)
13
14
15 test_02('a', 'b', 1, 3, num=5, height=180.5, name='zhanghua') # 不定长参数
一、变量作用域【掌握】
概念
1、全局变量:定义在函数外面,整个py文件都能用,或者是整个类都可以使用的变量
2、局部变量:定义在函数里面,只在某个函数内可以使用
二、global关键字【了解】
作用:global关键字修饰变量后,就表示声明该变量为全局变量
注意点:
1、被声明的全局变量如果在函数体中,一定要先运行起来这个函数
2、先声明再赋值
1 test_list = [3, 4, 5]
2 def test_03():
3 test_list = [1, 5, 2, 8]
4
5 def test_04():
6 test_03()
7 print(test_list) # 引用的是最开始定义的变量
8
9 test_04()
1 test_list = [3, 4, 5]
2 def test_03():
3 global test_list # 定义全局变量
4 test_list = [1, 5, 2, 8]
5
6 def test_04():
7 test_03()
8 print(test_list) # 引用的是最近的变量
9
10 test_04()