新手教程---python函数基础


前言

        在Python中,函数是一种可重用的代码片段,用于执行特定操作或计算特定结果。


一、函数的目的和定义?

        在python中使用函数的目的主要是为了过多重复性的代码进行封装起来,在之后的使用过程中使代码的可读性和便捷性更强。

        定义函数可以使用关键字def来定义函数,并指定函数名以及括号内的参数列表。函数的代码块一般使用冒号:来表示,且缩进的代码块为函数的主体。例:

def greet(name):
    """
    这个函数接受一个参数 name,然后打印问候语。
    """
    print(f"Hello, {name}!")

二、函数声明和调用

        在python中,声明一个函数使用 def 关键字,后面跟着函数的名称和参数列表。函数的主体代码块需要缩进,通常用四个空格一个制表符来表示缩进。

def greet(name):
    """
    这个函数接受一个参数 name,然后打印问候语。
    """
    print(f"Hello, {name}!")

         在这个例子中,def greet(name): 是函数声明的开始。greet是函数的名称,name是函数的参数。print(f"Hello, {name}!")是函数的主体,打印出一个包含参数name的问语。"""................

"""是用来给函数说明的文档,描述函数的作用和参数

        调用函数,在函数定义后,可以通过函数名来调用函数,并传递相应的参数。调用函数时,会执行函数体内的代码,并返回结果。

        如调用上面的函数:

greet("小明") # 输出:Hello,小明!

三、函数形参和实参     

        函数形参是在函数定义时定义的参数,用于接收函数调用时传入的参数值。形参在函数定义中起到占位的作用,表示函数需要接收的参数类型和数量

        实参是在函数调用时传入的参数值。实参可以是常量、变量、表达式等,它们的值会被传递给函数的形参,从而参与函数内部的计算和操作。

        形参和实参之间的关系是,实参的值会传递给形参,使得函数能够使用这些值进行具体的计算和操作。形参在函数内部可以像普通变量一样进行操作和赋值,但它们的作用域只在函数内部有效,函数执行结束后,形参的值会被销毁。

def add(x, y):
    return x + y

实例中x,y就是形参,表示函数需要接收两个参数。而在函数调用时,传入的具体数值就是实参。

result = add(3, 5)
print(result) # 输出 8
 

 这里的3和5就是实参,它们被传递给add函数的形参x和y,从而计算出结果8。

四、函数的返回值 

        函数的返回值是指函数执行完毕后,通过return语句返回给调用者的结果。在编写函数时,可以使用return语句来指定函数的返回值。return语句后面可以跟上要返回的值,也可以省略不写,表示不返回任何值

函数返回值的作用有以下几个方面:

  1. 能够将函数内部的结果传递给函数外部进行使用。
  2. 可以通过返回值判断函数的执行结果。
  3. 可以将返回值作为其他函数的参数进行传递。
  4. 可以将返回值赋值给变量,进行后续处理。

         返回多个值:python 中的函数也可以返回多个值,实际上是返回一个元组(tuple),每个值由逗号分隔。

def divide_and(a, b):
    """
    这个函数接受两个参数 a 和 b,返回它们的商和余数。
    """
    quotient = a // b
    remainder = a % b
    return quotient, remainder

# 调用函数并接收返回值
result = divide_and(10, 3)
print(result)  # 输出: (3, 1)

        没有显式返回值:如果函数没有显式使用 return 语句来返回值,Python 将返回 None。这在没有需要返回的情况下是常见的做法,或者函数只是用来执行一些操作而不需要返回结果。

五、函数的参数类型

        在python中,函数参数可以分为以下几种类型:位置参数默认参数可变长参数关键字参数

(1)、位置参数

        位置参数是最常见的参数类型,它们按照顺序依次传递给函数。函数调用时,实参的位置必须和形参的位置对应,数量也必须一致。

def greet(name, message):
    """
    这个函数接受两个位置参数 name 和 message。
    """
    print(f"{message}, {name}!")

# 使用位置参数调用函数
greet("小明", "Hello")  # 输出: Hello, 小明!

(2) 、默认参数

        默认参数允许在函数定义时为某些参数指定默认值。如果调用函数时没有提供对应的参数值,将使用默认值。并且要放在未定义的形参后面,如果有默认参数的话,要按顺序填写实参,否则会报错。

def greet(name, message="Hello"):
    """
    这个函数接受一个位置参数 name 和 一个默认参数message。
    """
    print(f"{message}, {name}!")

# 使用位置参数调用函数
greet("小明")  # 输出: Hello, 小明!

(3)可变长参数

        可变长参数允许函数接受任意数量的位置参数。在函数定义中,使用 *args 表示这样的参数,它会将传递给函数的所有位置参数收集到一个元组中。

        注意!!!

        当可变长参数和默认参数一起使用时,默认参数要在可变长参数前面,可变长参数的取值范围时在默认参数后的全部位置参数。

def print_args(*args):
    for arg in args:
        print(arg)

print_args(1, 2, 3)  # 输出 1 2 3

(4)、关键字参数

        函数调用时使用参数名进行传递,可以改变参数的顺序。

def subtract(a, b):
    return a - b

result = subtract(b=5, a=3)
print(result)  # 输出 -2
 

(5)、未定义关键字参数

        在调用函数中,没有定义的关键字进行输入时,会把那些未定义的关键字以键值对的形式存放在字典中。在函数声明里时:**kwargs

六、匿名函数    

        匿名函数是一种没有显式名称的函数。它可以作为参数传递给其他函数或表达式,并且可以在需要函数的地方直接定义和使用,而无需事先定义函数名称。匿名函数通常在需要简单的函数操作时使用,可以用来快速处理数据或实现一些简单的功能。

在Python中,我们可以使用lambda关键字来定义匿名函数。语法如下:

lambda argument: expression
 

其中,argument表示函数的参数,expression表示函数的返回值。匿名函数只能包含一个表达式,而不是多条语句。使用匿名函数可以简化代码,并使代码更加简洁和易读。它们常用于函数式编程、列表推导式、排序和过滤等操作中。

总结

        函数是python中非常重要的概念,它们提供了组织和重用代码的方法。了解函数的参数类型、返回值、作用域和文档字符串等基础知识,将帮助您更有效地使用和定义函数。

  • 39
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值