python的函数

语法

def 函数名():
    # 函数体(写到函数里面的功能代码)

作用

函数可以用来封装独立的功能代码,通过封装可以提高代码的重用率,提高开发效率
函数在定义之后不会直接执行,通过函数名()进行调用执行
函数名推荐下划线命名法,尽量做到见名知意

函数的参数

定义

在函数名后面的括号中可以定义参数
定义在函数括号后面的参数,需要在调用函数的时候传递进行

参数

函数的参数可以传任意类型
形参:定义的参数
实参:调用时传递的参数

def print_func(n):
    """打印三角形的函数"""
    for i in range(n):
        for j in range(i + 1):
            print("* ", end='')
        print()


print_func(3)
print_func(4)
print_func(5)

1、位置参数:位置传参
例:add(101, 22)
2、关键字参数:指定参数名传参
例:add(m=101, n=22)
注意点:两种传参方式混合使用的时候,位置参数在前,关键字参数在后

形式

1、必备参数(必需参数):定义了必须要传,不能多不能少
2、默认参数(缺省参数):调研的时候可以传,也可以不传,不传就使用默认值
3、不定长参数(可变参数):调用的时候可以传0个或者多个值
*args: 只能使用位置传参的形式传值,接收到的参数以元组的形式保存
**kwargs: 只能使用关键字参数的形式传值,接收到的参数以字典的形式保存
注意点:必需参数要写前面,默认参数写后面

拆包

*可以对列表或者元组进行拆包,把元素当成位置参数传递
** 可以对字典进行拆包处理,把元素当成关键字参数传递

def func(a, b, c=99):
    print(a)
    print(b)
    print(c)


li = [11, 22, 33]
func(*li)
dic = {"a": 111, "b": 222, "c": 333}
func(**dic)

返回值 return

函数中没有return,返回值数目=0:返回None
返回值数目=1:返回object
返回值数目>1:返回tuple
注意点:当函数执行到return之后,就会结束函数的运行

def add(a, b):
    c = a + b
    d = a - b
    return c, d
    print("hello python")
    print("hello python2")


res = add(11, 22)

print("add调用之后返回的结果:", res)

全局变量

直接定义在python文件(模块)中的变量叫做全局变量
全局变量的有效范围(作用域),整个文件内容任何地方都可以使用

name = "musen"


def add(a, b):
    c = a + b
    print("函数add中打印name变量:", name)
    return c


res = add(11, 22)

print(name)

局部变量

在函数内部定义的变量叫做局部变量
局部变量的有效范围(作用域),仅限于改函数内部使用
注意点:函数内部定义局部变量时,尽量不要和全局变量同名
通过global声明下,就能访问到了

number = 100


def func():
    global number
    print(number) # 全局变量
    return 'musen'
    name = 'musen' # 局部变量


func()

print(name)
posted @ 2022-11-15 15:42  NikeAirBall  阅读(47)  评论(0)    收藏  举报