Python-流程控制学习总结

文章目录

  • if 语句
  • for 语句
  • while
  • break、continue、exit
  • 自定义函数
    • 自定义函数格式
    • 函数嵌套
    • 参数:形参、实参
    • 形参:位置参数、默认参数、可变参数、关键字参数
    • 返回值
    • 变量作用域

if 语句

if 要判断的条件(True):
    条件成立的时候,要做的事情
elif 要判断的条件(True):
    ...
elif ...
    ...
else:
    条件不成立的时候要做的事情
#if … elif … elif … 序列用于替代其它语言中的 switch 或 case 语句

for 语句

#遍历条件:一个列表或者一个字符串,通常与range()函数搭配使用
for  变量 in 遍历条件:
    执行的语句
else:
    每一次迭代都执行
range()函数
range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。例如range5)等价于range05;
stop: 计数到 stop 结束,但不包括 stop。例如:range05) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range05) 等价于 range(0, 5, 1)

while

# 条案为真即满足
while 条件满足:
    满足条件执行的语句
else:
    不满足条件执行的语句

break、continue、exit

break:跳出整个循环,不会再循环后面的内容
continue:跳出本次循环,continue后面的代码在本次循环中不会执行
exit():结束程序的运行
for i in range(10):
    if i == 5:
        break         				#结果:0.1.2.3.4.hello
        # 或者 continue				#结果:0.1.2.3.6.7.8.9.hello
        # 或者 exit()       		#结果:0.1.2.3.4
    print(i)
print('hello')

自定义函数

自定义函数格式

# 如何定义一个函数
def 命名():
	执行语句
    return 			#语句从函数中返回一个值,不带表达式的 return 返回 None

# 例子
def hello():
    print('hello')
    print('python')
    return 
    #语句从函数中返回一个值,不带表达式的 return 返回 None
# 通过函数名来调用函数
a=hello()
print(a)

结果:
hello
python
None

函数嵌套

#函数里面嵌套函数
def westos():
    print('is westos')
    def python():
        print('is python')
    python()
westos()
结果:
is westos
is python

参数:形参、实参

# 定义函数的时候的变量叫形参(形参名可以任意)
def welcome(a):					#a为形参
    print('hello',a)

# 真实的数据信息,调用函数的时候传递的参数叫实参
welcome('tom')					#tom、lily为实参
welcome('lily')
结果:
hello tom
hello lily

形参:位置参数、默认参数、可变参数、关键字参数

# 位置参数:形参和实参数量必须保持一致
def getInfo(name,age): # 按照位置传递参数
    print(name,age)
getInfo('westos',11)
getInfo(11,'westos')
getInfo(age=11,name='westos')

# 默认参数
def mypow(x,y=2):		#如果实参y没有,默认输入为2
    print(x**y)
mypow(2,3)
mypow(2)
结果:
8
4

# 关键字参数
def getInfo(name,age): 
    print(name,age)
getInfo(name='westos',age=11)	# 按照形参关键词传递参数
结果:
westos 11

# 可变参数
#加了一个星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。
#加了两个星号 ** 的参数会以字典的形式导入
ddef mysum(*args):					# 参数打包 在形参前加*
    print(11,*args)
    print(12,args)
    sum = 0
    for item in args:
        sum += item
    print(13,sum)
    print('#'*30)
nums1 = [1,2,3,4]
nums2 = {1,2,3,4}
mysum(1,2,3,4,5)
mysum(*nums1)					 # 参数解包 在实参前加*
mysum(*nums2)
结果:
11 1 2 3 4 5
12 (1, 2, 3, 4, 5)
13 15
##############################
11 1 2 3 4
12 (1, 2, 3, 4)
13 10
##############################
11 1 2 3 4
12 (1, 2, 3, 4)
13 10
##############################

# **kwargs是一个字典 可以传递任意多个key-value
def getStuInfo(name,age,**kwargs):
    print(name)
    print(age)
    print(kwargs)
d = dict(a=1,b=2)
# 如果要对字典进行解包 一个* 获取所有的key值
print(*d)
getStuInfo('westos',11,sex=1,score=100)
结果:
a b
westos
11
{'sex': 1, 'score': 100}

返回值

"""
返回值:函数运行的结果 还需进一步操作 就给函数一个返回值
return用来返回函数的执行结果,如果函数没有返回值 默认返回None
一旦遇到return函数执行结束 后面的代码不会执行
多个返回值的时候哦,python会帮助我们封装成一个元组类型
"""
def mypow(x,y=2):
    return x**y,x+y,x-y
    print('hello')
print(mypow(4,1))
a = mypow(3)
print(a)
结果:
(4, 5, 3)
(9, 5, 1)

变量作用域

"""
局部变量:
在函数内部定义的变量 只在函数内部起作用 
函数执行结束后 变量会自动删除
"""
a = 1
print('outside:',id(a))
def fun():
    a = 5
    print('inside:',id(a))
fun()
print(a)
print(id(a))
结果:
outside: 9720480
inside: 9720608
1
9720480


"""
全局变量
在函数内部定义的全局变量 不仅函数内部起作用 
函数执行结束后 也会改变函数外部同名全局变量
"""
a = 1
print('outside:',id(a))
def fun():
    global a 					#声明a为全局变量
    a = 5
    print('inside:',id(a))
fun()
print(a)
print(id(a))
outside: 9720480
inside: 9720608
5
9720608

你可能感兴趣的:(python)