函数运行 形参实参变化 内存空间_可能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"。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小说阅读网站设计HTML,40多个漂亮的网页表单设计实例

网页表单是访问者与网站拥有者主要的沟通途径。返馈总是重要的,这就是我们为什么确保网页表单容易理解和使用起来比较直观的原因,尽管如此,甚至在形式设计中它也担当创意中的有效部分。网页表单并非都是乏味的,使用css或flash,你能…

abap 添加alv上的工具栏的按钮_你需要属于自己的PPT工具栏!

人类使用工具的历史,是我们成为人类 ,并且不断进步的历史。对于我们设计师而言,认识并掌握设计工具,是我们成为设计师的开始。而根据自己的需要,升级、改造设计工具,则是我们向更深层水平的进阶过程。Power…

java根据pdf模板生成pdf_PDF文件如何生成链接

本文介绍如何将PDF文件在线分享。首先我们打开maipdf的网站,因为市场上做pdf安全分享的网站非常少,所以建议使用maipdf打开网站之后,选择您需要分享的pdf文件进行上传生成后的链接您可以打开看到您的pdf文件,并且在改页面下&#…

在Linux服务器上配置phpMyAdmin

使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyadmin来管理MySQL数据库 首先访问phpmyadmin官…

java 换行分割_用Java开发自己的Kubernetes控制器,想试试吗?

简洁清爽的代码风格应该是大多数工程师所期待的。在工作中笔者常常因为起名字而纠结,夸张点可以说是编程 5 分钟,命名两小时!究竟为什么命名成为了工作中的拦路虎。每个公司都有不同的标准,目的是为了保持统一,减少沟通…

python大神的成长之路_我的Python成长之路

Linux命令-文件、磁盘管理—01 1.文件管理 <1>查看文件信息&#xff1a;ls ls是英文单词list的简写&#xff0c;其功能为列出目录的内容&#xff0c;是用户最常用的命令之一&#xff0c;它类似于DOS下的dir命令。 Linux文件或者目录名称最长可以有265个字符&#xff0c;“…

mac pycharm安装设置_Mac系统Python、PyCharm安装及使用方法详解

一、下载安装Python3解释器使用Python3Python之父Guido van Rossum在邮件列表上宣布 Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持&#xff0c;则需要付费给商业供应商。12**Guido van Rossum 表示&#xff1a;**Lets not p…

《JAVA课程设计》实训第四天——《猜猜看》游戏

第四天&#xff0c;本来想进一步去改进《猜猜看》游戏的。可是非常多问题都不理解。也不熟悉怎么去弄到连接数据库。统计猜对次数&#xff0c;所以并没有进行再多的改动。 基本上就是这种执行结果了 import java.awt.EventQueue; import javax.imageio.ImageIO; import jav…

游戏笔记本计算机购买,2021大学生买电脑,容易犯的七种错误!游戏本和轻薄本买哪个?...

要买电脑的小伙伴们&#xff0c;难道你们指望电脑很好买&#xff1f;怎么买都不会亏&#xff1f;然后只要想买&#xff0c;它就有货&#xff1f;然后怎么买都够用&#xff1f;然后只要喜欢的女孩&#xff0c;一追求就ok&#xff1f;所以今天这期视频&#xff0c;我就随便聊聊大…

gradle安装与配置_gradle相关安装

前言之前一直接触maven&#xff0c;因为换了工作的原因偶然接触了gradle。因为对gradle不太了解&#xff0c;所以在安装与使用的时候出现了这样那样的问题。gradle在Windows系统的安装与配置1、gradle的下载与安装下载链接&#xff1a;https://gradle.org/releases/。(可以根据…

java selenium (二) 环境搭建方法一

webdriver 就是selenium 2。 webdriver 是一款优秀的&#xff0c;开源的&#xff0c;自动化测试框架。 支持很多语言。 本文描述的是用java Eclipse 如何搭建环境 阅读目录首先下载好Eclipse 和配置好Java 环境变量 步骤省略&#xff0c; 请百度方法一 添加jar包 官方下载地…

arduino char*转string_Java 中 String 类的常用方法汇总

一、String 类的概念以及特性1、String 类的概念String 类代表字符串&#xff0c;在 java.lang 包中。字符串是常量 &#xff0c;用双引号引起来表示。 它的值在创建之后不能更改 。由 0 或多个字符组成&#xff0c;可以变相的理解成是一个由字符组成的数组。2、String 类的特性…

河北体检系统诚信企业推荐_应用多的隔膜计量泵价格诚信企业推荐

应用多的隔膜计量泵价格诚信企业推荐无害化处理&#xff1a;经对标&#xff0c;注意药剂量可以适当降低&#xff0c;能降低药剂量的单位&#xff0c;反之降低。车用齿轮箱定位测量仪与计量泵计量无关&#xff0c;关键在于他们都是直线运动&#xff0c;动力输出的横轴主运动&…

it计算机哪些专业术语,IT之家学院:笔记本电脑专业术语科普

IT之家网友现在为大家整理了一些在笔记本电脑商的专业术语解释&#xff0c;比如触摸屏、触摸板、指纹识别等具体涵义。触摸屏电阻式触摸屏是在强化玻璃表面分别涂上两层OTI 透明氧化金属电层&#xff0c;两层之间用细小的透明隔离点隔开。外层OTI涂层作导电体&#xff0c;内层O…

ideajava目录显示类成员_面试:C++不可继承类

作者&#xff1a;wxquare链接&#xff1a;https://www.cnblogs.com/wxquare/p/7280025.html面试中可能遇到让设计一个无法被继承的类。最简单的实现是将该类的构造函数设置为私有的&#xff0c;然后通过静态成员函数调用私有构造函数实例化对象&#xff0c;这样的类确实不可继承…

c++ 三维数组 初始化_013 JAVA 多维数组及数组的拷贝、冒泡排序、二分法查找...

1.多维数组多维数组的元素又是数组&#xff0c;可以有二维、三维、甚至更多维数组1.1二维数组的声明&#xff1a;数据类型 [][] new 数据类型[一维长度][二维长度]public class Test01 {public static void main(String[] args) {//一维数组的静态初始化 数据类型[] 数组名 …

自考计算机成绩,自考成绩计算机中是什么意思?

你说电脑是什么意思&#xff1f;计算机等级考试有两种&#xff0c;一种是全国高校计算机水平考试(CCT)&#xff0c;另一种是全国计算机等级考试(NCRE)。你对这两种测试了解多少&#xff1f;1什么是CCT&#xff1f;CCT的全称是“全国高校计算机水平考试”&#xff0c;让人感觉像…

httpservletrequest 设置请求头_请求和常用对象

## 一、主要内容![](https://raw.githubusercontent.com/Cushier/picture-java/master/middle/20190712150414.png)## 二、核心目标理解几个常用对象的意义和作用掌握几种请求的发出方式掌握数据的发送和接收方式掌握跳转方式掌握乱码的解决## 三、请求的方式要访问服务器首先需…

from mysql partition select_爬虫(九十九)mysql详解二

**mysql中字段的常见类型: **二进制位 bit(长度)tinyint[(长度)] [有无符号unsigned] [位数低于长度时候是否填充零zerofill] 有符号表示范围-128 ~ 127, 无负号表示范围 0 ~ 255; 可用tinyint(1)来模拟boolean类型; *整型中的长度不做限制用, 仅仅做显示用, 即长度大于位数时候…

服务器训练数据 关闭终端,一文明白使用nohup将服务器训练程序后台运行不关闭+随时通过查看训练情况输出与visdom可视化...

使用nohup将训练程序后台不间断运行随时查看训练情况输出与可视化使用服务器进行远程训练由于笔者经常需要使用服务器进行训练&#xff0c;且有些模型训练起来需要很长的时间&#xff0c;如Mask模型&#xff0c;故经常需要长期跑程序。由于我使用的是ssh登录&#xff0c;因此断…