[python] 函数1-函数基础
一 函数使用
1.1 基本用法
def 函数名()
函数体
-
函数返回值: 返回调用的结果
def myPyFirstFunc():print("hello python")
myPyFirstFunc()
1.2 函数参数
def 函数名(形参a,形参b)
函数体
def add(a,b):return a + b
print(add(1,2))
print(add(1,4))
二 函数参数
2.1 必备参数(位置参数)
-
含义: 传递和定义参数的顺序及个数必须一致 格式: def func(a,b)
def func_1(id,passwd):print("id = ",id)print("passwd = ",passwd)
func_1(10086,123456)
2.2 默认参数
-
函数: 为函数的参数提供一个默认值,如果调用时不传递就以默认的为主
-
格式: 如果有位置参数,那么必须在默认参数之前
def func_2(id = 100001,passwd = '<PASSWORD>'):func_1(id,passwd)
func_2()
2.3 可变参数
-
含义: 传入的值的数量是可以改变的,0-n个
-
格式: def func(*args)
-
接收: 是以元组的形式在函数内接受传递的参数的
def func_3(*args):print(args[0])
func_3('可变参数')
2.4 关键参数
-
格式: def func(**kwargs)
-
接受: 以字典的形式接受的形式
-
传值: 需要采用 键 = 值
def func_4(**kwargs):print(kwargs)
func_4(id= "10001", passwd= "123456")
2.5 函数嵌套
-
含义: 在一个函数里面调用另一个函数
func_2()
2.6 嵌套定义
-
含义: 在一个函数里面定义另外一个函数
-
注意: 不要在内层函数中调用外层循环,否则会陷入死循环
def out_func():print("调用外部函数")def in_func():print("调用内部函数")#in_func() # 如果这里不调用内部函数,外部调用out_func时,内部函数是不会被调用的
out_func()
三 作用域
-
变量的有效范围分为: 全局变量和局部变量
3.1 全局变量
-
函数外部定义的变量,在整个文件中都是有效的。
3.2 局部变量
-
含义: 函数内部定义的变量,只能在函数内部使用
-
注意: 如果全部变量和局部变量命名一样,在函数内会使用函数内的局部变量。而全局变量不会被使用
num = 10
def func_1():num = {1,2,3}print(num)
func_1()
print(num)
3.3 global关键字
-
用法1 :在函数内部修改全局变量的值,可以使用global关键字
否则在函数内部修改的全局变量不会生效 -
用法2: 在函数内部使用global声明全局变量,外部可以使用.
id = 10001
def func_2():global idid = 10003
func_2()
print(id)
3.4 nonloacl:关键字
-
含义: 声明外层的局部变量,只能在嵌套函数中使用,在外部函数中先进行声明内部函数进行nonloacl声明
注意: 只能在嵌套函数中对上一层函数进行修改
a = 10
def out_func():a = 5def in_func():nonlocal aa = 20print("内函数的值a = %d"%a)in_func()print("外函数的值a = %d" % a)
out_func()