python学习06

流控制 和函数

1)流控制

1.条件语句

if elif else  if else 

2.循环语句

while for 

3.continue 和break

continue是跳过本次循环,执行下一次循环

break是跳出当前循环体,执行下一条语句

举例:九九乘法表:

for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(j,i,i*j),end='\t')
print('')

2)函数

1.函数定义:def 函数名():

2.python中的内置函数:可以用导入import builtins dir(builtins) 来查看内置函数,参考网址:https://www.runoob.com/python/python-built-in-functions.html

3.python中的匿名函数用lamba x:表达式,返回值为表达值 

eg:a=lambda x:x*2 a(1) 返回1 

4.递归函数:斐波那锲序列

eg:

def f(n):
if n==1 or n==0:
return 1
else:
return f(n-1) + f(n-2)

print(f(6))

5.高阶函数:函数当作参数一块调用

def func_gj(func,num):
  print(type(func))
  a =func(num)
  print(a)

a = lambda x: 1
func_gj(a,100)

6.函数的作用域LEGB

L: 局部变量 局部作用域 local
E: 闭包变量 闭包空间 enclosing
G: 全局变量 整个文件 global
B: 内置变量 整个解释器 builtins

举例说明:

a=1 #G
b=2 #G
def func_a(a,b):
  a=1 #l
  c=10 #l
  print(b)
  def func_b(arg1,arg2):
    global b
    nonlocal c
    b = a+4 #G
    c+=3 #E
    print(a,b,c)
  return func_b

func_a(3,90)(1,2)
#90 1 5 13

print(a,b)
#1 5

7.函数中的参数:位置参数,默认参数,可变参数,命名关键字参数,命名关键字参数

举例:

def my_sum(*args,**kwargs):
  ret =0.0
  for i in args:
    ret+=i
  for v in kwargs.values():
    for i in v:
    ret+=int(i)
  return ret
ret1 = my_sum()
ret2=my_sum(10)
ret3=my_sum(1,2,3)
ret4=my_sum(1,2,**{"nums":[3,1]})
ret5=my_sum(**{"nums":['1','2','3']})
print(ret1,ret2,ret3,ret3,ret4,ret5)

 






 

posted @ 2018-10-26 10:38  茶色阳光  阅读(136)  评论(0编辑  收藏  举报