咫尺天涯$

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1. 怎么定义函数 ?

def 是定义函数的一个关键字,后面跟的是方法名称【可自行更改】
1 def user_name():
2     print()

2. 调用函数

 1 def function_params(x, y):
 2     print(x + y)
 3 function_params(1, 2)
#####################################
4 def function_params1(x, y=1, z=2): 5 print(x + y + z) 6 function_params1(1, 2, 3)
#####################################
7 def function_params1(x, y=1, z=2): 8 print(x + y + z) 9 function_params1(x=1, z=2)
#####################################
10 def function_params2(*args): 11 for i in args: 12 print(i) 13 function_params2("1", "2", "3") 14 function_params2(["1", "2", "3"], ["1", "2", "3"], ["1", "2", "3"], ["1", "2", "3"])

3. 函数嵌套

1 def function_out():
2     print("out")
3     def function_inner():# 嵌套进out中的一个函数
4         print("inner")
5     function_inner()# 在函数中调用内部函数,一定要调用才能执行
6     function_other()# 函数内部调用其他函数,直接也触发这个其他的函数
7 def function_other():
8     print("other")
9 function_out()# 尽可能的把调用往后去写,确保所有的全局的方法、变量都已经被加载#调用的一定是一个在全局中声明过的函数,如果是在局部声明的,在全局中是无法被调用

4. 函数递归

1 num = 15
2 def function_clac1(num):
3     print(num)
4     if int(num / 2) == 0:
5         return
6     function_clac1(int(num / 2))
7 function_clac1(16)

  备注:  

    1. 自己调用自己,容易出现问题:死循环
    2. 每个递归程序之中,一定要有一个结束逻辑
    3. 跳出的时候需要用return,不能用break, break是循环中使用的,而return是方法中返回结果,返回结果代表了方法结束

5. 作用域

 1 # 变量的作用域, 全局变量 可以影响到 方法内部(局部变量) ,局部的变量不可以去全局使用
 2 fa = 2
 3 # 如何在内部影响到全局
 4 def function_area():
 5     # 将fa 声明为一个全局的变量 ,global关键字
 6     global fa
 7     # 已经改为全局的变量了,修改值的时候会修改全局的值
 8     fa = 1
 9 print(fa)
10 # 方法一定得被调用才能生效
11 function_area()
12 print(fa)

 

 

 



posted on 2021-01-05 15:41  咫尺天涯$  阅读(2884)  评论(0编辑  收藏  举报