Python基础总结(十)之函数

发布于:2025-05-12 ⋅ 阅读:(21) ⋅ 点赞:(0)

Python函数

函数是Python中也是非常重要的,函数是带名字的代码块,用于完成具体的工作。要执行函数定义的特定任务,可调用该函数。

一、函数的定义

函数的定义要使用def关键字,def后面紧跟函数名,缩进的为函数的代码块。

def test():
    print("Hello,World")

上述即为一个简单的函数,定义了一个名为test的函数,函数体为 print(“Hello,World”)。要使用该函数,只需调用即可。

def test():
    print("Hello,World")


test()
# Hello,World

二、形参实参

函数中也可以指定参数,进行函数中的调用参数,在函数名后面括号中的成为形参,而在函数调用时传递的参数成为实参。

定义一个两数相加的函数

def add(num1, num2):
    Sum = num1 + num2
    print(Sum)


add(1, 2)
# 3

上述中的num1,num2为函数的形参,而在调用的add(1, 2)中的1和2为函数的实参,输出结果为Sum。

2.1 位置实参

函数的定义中可能包含多个形参,所以函数的调用中要包含多个实参,而位置实参就是要求传递的实参要与函数定义的形参一一对应,否则可能会出现错误。

def info(name, height):
    print(f"The {name} height is {height}")


info("peter", 180)
# The peter height is 180

上述的参数是形参和实参对应的,如果不对应就可能出现错误。

def info(name, height):
    print(f"The {name} height is {height}")


info(180, "peter")
# The 180 height is peter

可能会出现上述可笑的错误。

2.2 关键字实参

关键字实参不会像位置参数需要一一对应,在函数调用时,就直接形参对应的实参,不会出现错误。

def info(name, height):
    print(f"The {name} height is {height}")


info(name="peter", height=180)
# The peter height is 180

在上述的实参中,指定了函数中的形参对应的实参,所以实参不是与形参一一对应,也不会出现错误。

def info(name, height):
    print(f"The {name} height is {height}")


info(height=180, name="peter")
# The peter height is 180

2.3 默认值

在函数中可以形参指定默认值,当调用函数且没有给对应的形参传递参数时,函数会以默认的参数输出,当实参指定时,则会以指定的实参进行输出。

def info(name, height, sorce=70):
    print(f"The {name} height is {height}, and sorce is {sorce}")


info(height=180, name="peter", sorce=80)
# The peter height is 180, and sorce is 80

当不指定参数时,对应的参数则以形参中指定的参数输出

def info(name, height, sorce=70):
    print(f"The {name} height is {height}, and sorce is {sorce}")


info(height=180, name="peter")
# The peter height is 180, and sorce is 70

三、返回值

函数并不是只向上面的那样简单的处理,还能返回值,共其他的函数进出处理。函数中返回值的关键字为return,就是将函数的处理结果返回出来,供其使用。

def add(num1, num2):
    Sum = num1 + num2
    return Sum


result = add(1, 2)
print(result)
# 3

上述的函数体中并没有使用print打印输出结果,而是将计算的结果传给了Sum,使用关键字return返回Sum,在函数外将函数的结果赋值给result,从而将计算的结果输出。

四、任意数量的实参

在编写函数时,有时候不知道具体有多少实参,这时就可以使用Python中的任意数量的实参来指定,使用 * 号来指定形参就可实现这样的功能。

def info(*infor):
    print(infor)


info("peter", 179, 80)
# ('peter', 179, 80)

上述函数的形参*infor让Python创建了一个名为infor的元组,并且调用函数时的实参全部以元组的形式存入。

五、任意数量的关键字实参

有时候需要接受任意数量的实参,但不知道传递给函数是什么样的信息,这时可将函数编写成能接受任意数量的键值对。使用 ** 号来指定形参就可实现这样的功能。

def info(name, height, **infor):
    infor["name"] = name
    infor["height"] = height
    return infor


ret = info("peter", 179, sorce=80, major="math")
print(ret)
# {'sorce': 80, 'major': 'math', 'name': 'peter', 'height': 179}

上述**infor的形参,Python创建了一个名为infor的键值对字典,调用函数时指定的实参都将以键值对的形式存入infor的字典中。

六、传入列表和字典

函数不止能传入简单的参数,还可以传入列表和字典,可参考链接: 函数传入列表和字典


网站公告

今日签到

点亮在社区的每一天
去签到