1.15 Python基础知识 - 函数

本文详细介绍了Python函数的基础概念,包括函数的声明与调用、参数传递方式(如位置参数、关键字参数、可变参数等)、返回值及变量作用域等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  函数是可重用的程序代码段。

一、函数的声明和调用

    声明格式:

    def 函数名([形参列表]):

      函数体

    调用格式:

    函数名([实参列表])

    函数名:是一种标识符,命名规则为全小写字母,可以使用下划线增加可阅读性。

    形参列表:表示传递给该函数的值或变量引用,(用圆括号括起来,并用逗号隔开,可能为空)

    函数体:函数执行的代码块

    实参列表:实际传入的参数值

    

    示例代码:

def my_add(a,b):      # 声明函数,返回值
    return a+b

def my_print(msg):       # 声明函数,无返回值
    print(msg)
    
c = my_add(11,22)      # 调用函数
my_print(c)            #调用函数

# 输出结果

33

 

二、参数的传递

  1、形式参数和实际参数

    形参:声明函数时声明的参数,即形式参数

    实参:调用函数时,提供函数需要的参数的值,即实际参数

    实际参数默认按位置顺序依次传递给形式参数。

  2、可选参数(参数默认值)

    在声明函数时,如果希望函数的一些参数是可选的,可以在声明函数时为这些参数指定默认值。调用该函数时,如果没有传入对应的实参值,则函数使用声明时指定的默认参数值。

    示例代码:

def my_add(a,b=12):
    return a+b

def my_print(msg):
    print(msg)

c = my_add(11)
my_print(c)

# 输出结果

23

    注:必须先声明没有默认值的形参,然后声明有默认值的形参,因为函数调用时,默认是按位置传递实际参数值的。

  

  3、位置参数和命名参数(关键字参数)

    位置参数:函数调用时,默认按位置顺序传递形参的参数

    关键字参数:按名称指定传入的参数,优点:一、参数按名称意义明确;二、传递的参数与顺序无关;三、如果有多个可选参数,可以选择某个参数值

    示例代码:

def my_add(a,b=12,c=23):
    return a+b+c

def my_print(msg):
    print(msg)

c = my_add(11,c=11)     # 11为位置参数,c=11为关键字参数
my_print(c)

# 输出结果

34

  

  4、可变参数(不固定参数,或参数组)

    在声明函数时,通过带星的参数,如*args,允许向函数传递可变(任意)数量的实参,在调用时,这些参数会被收集为一个元组。

    在声明函数时,也可以通过带双星的参数,如**kwargs,允许向函数传递可变数量的实参,在调用时,这些参数会被收集为一个字典。

    

    示例代码1: 

def my_add(*args):
    return args

def my_print(msg):
    print(msg)

c = my_add(11,12,13,14)
my_print(c)

# 输出结果

(11, 12, 13, 14)

    

    示例代码2:

def my_add(**kwargs):
    return args

def my_print(msg):
    print(msg)

c = my_add(a=11,b=12,c=13,d=14)
my_print(c)

# 输出结果
{'a': 11, 'b': 12, 'c': 13, 'd': 14}

 

    示例代码3:

def my_add(*args,**kwargs):
    return args,kwargs

def my_print(msg):
    print(msg)

c = my_add(2,3,4,a=11,b=12,c=13,d=14)
my_print(c)

# 输出结果
((2, 3, 4), {'a': 11, 'b': 12, 'c': 13, 'd': 14})

 

 

三、函数的返回值

  函数可以返回值,即在函数体中使用return语句从函数返回一个值,并跳出函数。如果需要返回多个值,则可以返回一个元组。

  示例:

def f1():
    return 1,2,3

a=f1()
print(a)

# 输出结果
(1, 2, 3)

 

四、变量的作用域

  变量声明的位置不同,其可被访问的范围也不同。变量的可被访问范围称为变量的作用域。变量按其作用域大致可以分为:全局变量、局部变量和类型成员变量

  全局变量:在函数和类定义以外声明的变量

  局部变量:在函数体中声明的变量(包括函数参数)

  类成员变量:在类中声明的变量,包括静态变量和实例变量。

转载于:https://www.cnblogs.com/topspeedking/p/6431936.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值