Python基础:函数的组成

本文详细介绍了Python函数的基础知识,包括形参与实参的概念,如何使用默认参数,以及如何接收多个参数。还讨论了函数的退出与返回值,特别是`return`语句的应用。此外,文章探讨了Python的命名空间,解释了其作用和分类,如内置、全局和局部命名空间,并展示了如何查看全局命名空间的内容。

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

目录

一、函数的组成

二、函数的注释

三、函数的参数

1.形参与实参

2.默认参数

3.接收多个参数

四、函数退出与返回值

return


在pycharm中使用Ctrl+Q查看用法时,便可查看到你为函数写的注释。这点在他人阅读你的代码时会带来便利。

三、函数的参数

参数顺序:位置参数->*args->默认参数->**kwargs(从左往右)

1.形参与实参

形参就是在函数中定义参数的变量名,实参就是调用函数时实际传入的参数。

当实参是不可变类型时,在函数中不能修改实参,只能将实参赋予新变量后再修改。

def f(b):
    print(b)
    print(id(b))

a=100
print(id(a))
print(f(a))
>>>498825328
>>>100
>>>498825328

如果实参是可变数据类型的,在函数中修改的话,会改变实参。

def f(b):
    b.append(4)
    print(b)
    print(id(b))

a=[1,2,3]
print(id(a))
print(f(a))
print(a)
>>>41803592    #a的id
>>>[1, 2, 3, 4]  #b
>>>41803592     #b的id
>>>[1, 2, 3, 4]  #a

不可变数据类型:整数,字符串,元祖等

可变数据类型:数列,字典等

 

2.默认参数

参数可以设置默认值,即:

def f(x,num=1):
    pass
f(3)

 

3.接收多个参数

*args\**wkargs

使用*args可以接收多个位置参数,使用**wkargs可以接收多个关键字参数(*之后的变量名可以自定义,但是推荐使用args)

def f(*args):      #接收到的参数会组成一个元祖
    print(args)
f([1,2,3,4])   
>>>(1, 2, 3, 4)


def func(**kwargs):     #接收到的关键字参数会组成一个字典
    print(kwargs)
func(name='zs',age=14)
>>>{'name': 'zs', 'age': 14}

’*‘的扩展用法

*还可以起到打散的作用。在元祖、数列等前加‘*’,可以将其中的每个元素都取出。可以便捷的将列祖的每一个值传给函数的参数。

print(*'hello')
>>>h e l l o
print(*(1,2,4))
>>>1 2 4

def func(name,age):   #’**’打散字典
    print(name,age)
dic={'name': 'zs', 'age': 14}
func(**dic)
>>>zs 14

四、函数退出与返回值

return

函数的返回值可以用return语句返回,例如:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

同时也可以接收多个返回值

def f():
    pass
    return x,y
num1=f()  #多个返回值会组成一个元祖输出

return也可用作结束函数的语句使用,因为运行到return时不管后面还有没有代码,函数都会直接退出。因此,可以作为函数中结束if、while循环的语句使用。

 

五、命名空间

含义:

命名空间表示着一个标识符的可见范围 ,一个标识符可以在多个命名空间中定义,而它在不同命名空间中的含义是互不干涉的。

 

分类:

Python中的命名空间大致分为内置命名空间、全局命名空间和局部命名空间。

内置命名空间是记录Python内置函数的命名空间。

全局命名空间是一个.py文件内部所含的所有标识符,包括调用的模块的命名空间。可以使用‘globals()’来显示当前所有全局命名空间的内容,结果以字典的形式展示。注意,函数只会显示当前函数迭代器,不会进一步显示函数内部的标识符。

局部命名空间是一个函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值