函数运行 形参实参变化 内存空间_可能python创始人都不知道的,python函数实参形参讲解...

今天我们来学习一下python函数的用法

函数是带名字的代码块,我们可以直接调用函数,无需反复板鞋完成该函数的代码

1.下面我们来看一个简单的函数

5e95b5b7ad79a2f165b4ace0425ac7d5.png

首先定义一个函数,def是定义的意思,后面是函数名

在函数中同样使用缩进来区分语句是否在函数中

最后一句是调用我们取得函数名

c2864a43d1ae281ce5ea3daacfd0c759.png

向函数中传递信息:

我们可以往函数的括号中传递值,并且可以在调用这个函数的时候给他指定一个值,例如,我们传入一个username的值,输出hello,username,在调用函数的时候,我们传入一个人名jerry

262b0ad63b5ddc34823befd2611b34ae.png
b6b1f1561a169bf4b372232b96d1fc56.png

在这个函数的定义中,变量username实际上是一个形参,也就是函数完成其工作所需的一项信息。'jerry'是一个实参,也就是调用函数时传递给函数的信息。

函数中可能包括很多个实参,也可能包括很多个形参,那么如何让他们相对应呢?有两种方式,分别为位置实参和关键字实参

位置实参:要求实参的顺序与形参的顺序相同,我们来看一个例子

c9496d7485774bcd497ea68c819b411f.png
3c39cccab1b2d6d22e6eed28ad8ae7bb.png

在这里我们的username和'jerry'对应,passwd和'123'对应,那么如果我们在结果调用的函数将两个实参位置对调会发生什么呢

a1ccda15f98565c0ff4cfa5e0903c6c9.png

输出也是反着的了,所以说实参的顺序与形参的顺序相同

如果我们需要调用多次这个函数,只需再次调用他即可

c94a08a0dd7c5bb5258202956de5d0c0.png
983e811771fd77d644fdfc50ae13ecac.png

关键字实参:关键字实参是传递给函数的名称-值对,这样我们传递实参时就不会混淆了

3879b6d5192de729672e44813bf56331.png
34e38c4d3608ed60bc83a7facef8e989.png

默认值:在编写函数时,我们可以给函数指定一个默认值,如果我们在调用函数时给形参提供了实参,那么函数将使用提供的实参,没有提供则会使用默认值,我们来看这个例子

2440fc92a8a3e3874c1792533a2d6364.png

在这个例子中,我们将默认的密码设为123,实参只提供了人名

d5019e257429713c38ca93aa90059488.png

如果,我们提供了实参的密码为456呢

408744001d11f552b0da50dd795082f4.png
a5711b945fc80d810ab603f857c23253.png

密码的值改变了

但这种方式偶尔也会有错误,例如我们将username设定有默认值,手工输入密码

83864af4b47cd9e1b77119fa809db737.png

代码看上去和前面的没有问题,我们运行一下

c7cb101620d6dffbd1d0103e4cdfb4bb.png

我们来思考一下为什么呢,答案很简单,因为我们使用的是位置实参,

之前之所以没有出错,是因为我们提供的实参,刚好和username这个第一个传入的形参所对应的,而现在我们将第一个形参设为默认值,实际上我们提供的实参'456'是和username所对应上了,而passwd的实参没有对应,那么我们如何解决这种情况呢?使用关键字实参就好了

3b82950170bcfd067bc2f79e2c0f88aa.png
d3ca3560d359be53067b16390455b48a.png

最后喜欢我文章的朋友请加圈子关注我们,私信关键词:加群。(送免费资料和优惠券)

就会自动分享给你群号。欢迎大家加入我们的安全大家庭。提高大家的安全意识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。

还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们,领取资料和优惠券!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值