python函数里面引用外部变量_Python知识点总结(下)

本文深入探讨Python函数的各个方面,包括定义、调用、参数类型(默认参数、可变参数、关键字参数、可选参数)、参数传递(按值传递与按引用传递)以及变量作用域。同时,介绍了面向对象编程的基础概念,如类的定义、构造方法、类方法、静态方法、属性和继承。通过实例解析了函数与类在实际编程中的应用和注意事项。
摘要由CSDN通过智能技术生成

a06685e686df0efadc0b8cd5f0d19d20.png

清理库存2~

有时候面试时会被问到一些细节问题,还是把琐碎的知识点有必要总结整理一下。

9、 函数

9.1 定义函数

在使用函数之前必须先定义(声明)函数,然后才能调用它。使用关键字def 定义函数,语法格式如下:

def 函数名 (参数列表):

<函数语句>

return 返回值

其中,参数列表和返回值不是必需的。如果return 后没有返回值,也没有return 语句,这样的函数会返回None值。使用缩进以语句表示函数体。

【注意】:当函数没有参数时,包含参数的圆括号也必须写上,圆括号后也必须有冒号“:”。

与C语言相比,在python 中声明一个函数不需要声明函数的返回值类型,也不需要声明参数的类型。

调用函数:

91f3737bab384430cfbcb73e432923da.png

函数的参数:

在调用某个函数时,可以向其传递参数,也可以不传递参数,但都不影响函数的使用。

python中,有必须参数、关键字参数、默认参数、不定长参数。

(a)关键字参数

在使用关键字参数时,允许在调用函数时参数的顺序与声明时不一致,因为python解释器能够使用参数名匹配参数值。输出的顺序与形参顺序保持一致。

903e25c7c4e3c8d54b0798ab639affcd.png
关键字参数

如果没有传递参数,则使用默认参数。

此外,可选参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。

97fe27cc5d7dc7c56e41bef70b74437a.png
关键字参数

默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!

要注意定义可变参数和关键字参数的语法:

*args是可变参数,args接收的是一个tuple,此种情况类似于不定长参数;

**kw是关键字参数,kw接收的是一个dict。

(b)默认参数

在函数定义时给定一个初始值,在函数调用时可以不传这个参数,采用默认参数的值;下例中的age就是默认参数;

如果在声明一函数时,其参数列表中既包含无默认值的参数,又包含有默认值的参数,那么,在声明函数的参数时,必须先声明无默认值的参数,后声明有默认值的参数。

d4b1268a75eae1a69715a0d82848ec3a.png
使用默认参数

(c)不定长参数

在python中,可能需要一个函数能处理比当初声明时更多的参数,这些参数叫“不定长参数”。不定长参数也叫可变参数。

在自定义函数时,如果在参数名前加上一个星号“*”,则表示该参数就是一个可变长参数。

在调用该函数时,如果依次序将所有的其他变量都赋予值之后,剩下的参数将会收集在一个元组中,元组的名称就是前面带星号的参数名。

d4a5091c13e752cb0d309d9c85328df3.png
不定长参数

(d)可选参数

如下面例子中,如果实参个数少于等于形参个数,为了使程序正确运行,需要给“缺失”的实参指定一个默认值:空字符串,并且可以提供也可以不提供这个实参。

也即:可选参数要在形参中指定一个空字符串的默认值。

bb0f6daa56fe37460c3db4e48a3d6513.png
让实参变成一个可选参数(不提供实参)

6bf5c482259e137e18aca9475361e767.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值