当前位置: 首页 > news >正文

石家庄教育平台网站建设武汉百度推广电话

石家庄教育平台网站建设,武汉百度推广电话,做网站是什么公司,青岛谁优化网站做的好处文章目录前言一、了解形式参数和实际参数1. 通过作用理解2. 通过一个比喻来理解形式参数和实际参数二、位置参数1. 数量必须与定义时一致2. 位置必须与定义时一致三、关键字参数四、为参数设置默认值五、可变参数1. *parameter2. **parameter总结前言 在调用函数时,…

文章目录

  • 前言
  • 一、了解形式参数和实际参数
    • 1. 通过作用理解
    • 2. 通过一个比喻来理解形式参数和实际参数
  • 二、位置参数
    • 1. 数量必须与定义时一致
    • 2. 位置必须与定义时一致
  • 三、关键字参数
  • 四、为参数设置默认值
  • 五、可变参数
    • 1. *parameter
    • 2. **parameter
  • 总结


前言

  在调用函数时,大多数情况下,主调函数和被调函数之间有数据传递关系,这就是有参数的函数形式。函数参数的作用是传递数据给函数使用,函数利用接收的数据进行具体的操作处理。函数参数在定义函数时放在函数名称的后面的一对小括号中,对于初学者来说,函数参数一般是难点。接下来针对参数展开详细介绍。


一、了解形式参数和实际参数

  在使用参数时,经常会用到形式参数实际参数,二者都叫做参数,它们的区别将先通过形式参数与实际参数的作用来进行讲解,再通过一个比喻和实例进行深入探讨。

1. 通过作用理解

形式参数和实际参数在作用上的区别如下:

  • 形式参数:在定义函数时,函数名后面括号中的参数为 “形式参数”。
  • 实际参数:在调用一个函数时,函数名后面括号中的参数为 “实际参数”,也就是将函数的调用者提供给函数的参数称为实际参数。通过下图可以更好的理解。
    在这里插入图片描述

  根据实际参数的类型不同,可以分为将实际参数的值传递给形式参数将实际参数的引用传递给形式参数两种情况。其中,当实际参数为不可变对象时,进行值传递当实际参数为可变对象时,进行的是引用传递。实际上,值传递和引用传递的基本区别就是,进行值传递后,改变形式参数的值,实际参数的值不变;而进行引用传递后,改变形式参数的值,实际参数的值也一同改变
  例如,定义一个名称为 function 的函数,然后为 function() 函数传递一个字符串类型的变量作为参数(代表值传递),并在函数调用前后分别输出该字符串变量,再为 function() 函数传递一个列表类型的变量作为参数(代表引用传递),并在函数调用前后分别输出该列表。代码如下:

# 定义函数
def sentence(place):print('原值:', place)place += place
# 调用函数
print('==========值传递==========')
a = '丽江'
print('函数调用前:', a)
sentence(a)  # 采用不可变对象 —— 字符串
print('函数调用后:', a)
print('==========引用传递==========')
list1 = ['昆明', '长沙', '西安']
print('函数调用前:', list1)
sentence(list1)  # 采用可变对象 —— 列表
print('函数调用后:', list1)

上面代码的执行结果如下:

==========值传递==========
函数调用前: 丽江
原值: 丽江
函数调用后: 丽江
==========引用传递==========
函数调用前: ['昆明', '长沙', '西安']
原值: ['昆明', '长沙', '西安']
函数调用后: ['昆明', '长沙', '西安', '昆明', '长沙', '西安']

  从上面的执行结果可以看出,在进行值传递时,改变形式参数的值后,实际参数的值不改变在进行引用传递时,改变形式参数的值后,实际参数的值也发生改变

2. 通过一个比喻来理解形式参数和实际参数

  函数定义时参数列表中的参数就是形式参数,而函数调用时传递进来的参数就是实际参数。就像剧本选主角一样,剧本的角色相当于形式参数,而演角色的演员就相当于实际参数。


二、位置参数

  位置参数也称必备参数,是必须按照正确的顺序传到函数中,即调用时的数量和位置必须和定义时是一样的

1. 数量必须与定义时一致

  在调用函数时,指定的实际参数的数量必须与形式参数的数量一致,否则将抛出 TypeError 异常,提示缺少必要的位置参数。如下图代码所示:

在这里插入图片描述

2. 位置必须与定义时一致

在调用函数时,指定的实际参数的位置必须与形式参数的位置一致,否则将产生以下两种结果。

  • 抛出 TypeError 异常。抛出异常的情况主要是因为实际参数的类型与形式参数的类型不一致,并且在函数中,这两种类型还不能正常转换。 例如下图代码所示:

在这里插入图片描述

  • 产生的结果与预期不符。在调用函数时,如果指定的实际参数与形式参数的位置不一致,但是它们的数据类型一致,那么就不会抛出异常,而是产生结果与预期不符的问题。例如下图代码所示:

在这里插入图片描述

说明由于调用函数时,传递的实际参数的位置与形式参数的位置不一致时,并不会总是抛出异常,所以在调用函数时一定要确定好位置,否则会产生 Bug,还不容易被发现。


三、关键字参数

  关键字参数是指使用形式参数的名字来确定输入的参数值。通过该方式指定实际参数时,不再需要与形式参数的位置完全一致。只要将参数名写正确即可。这样可以避免用户需要牢记参数位置的麻烦,使得函数的调用和参数传递更加灵活方便。比如下图代码所示:

在这里插入图片描述


四、为参数设置默认值

  调用函数时,如果漏掉忘了指定某个参数则将会抛出异常,为了解决这个问题,我们可以为参数设置默认值,即在定义函数时,直接指定形式参数的默认值。这样,当没有传入参数时,则直接使用定义函数时设置的默认值。定义带有默认值参数的语法格式如下:

def functionname(..., [parameter1 = defaultvalue1]):[functionbody]

参数说明

  • functionname:函数名称,在调用函数时使用。函数名称的命名应遵循标识符命名规则,如果有多个单词,每个单词用下划线_连接。
  • parameter1 = defaultvalue1:可选参数,用于指定向函数中传递的参数,并且为该参数设置默认值为 defaultvalue1。
  • functionbody:可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。

代码示例如下图所示:

在这里插入图片描述

说明在传参时,如果没有指定某个参数值,则使用形式参数中该参数的默认值;如果指定了参数值,则会覆盖默认值,使用指定的参数值;比如下图代码所示。

在这里插入图片描述

注意:在定义函数时,指定默认的形式参数必须在所有参数的最后,否则将产生语法错误。比如下图所示。

在这里插入图片描述

说明定义函数时,为形式参数设置默认值要牢记一点:默认参数必须指向不可变对象


五、可变参数

  在Python中,还可以定义可变参数。可变参数也称为不定长参数,即传入函数中的实际参数可以是任意多个。定义可变参数时,主要有两种形式:一种是 *parameter,另一种是 **parameter

1. *parameter

  这种形式表示接收任意多个实际参数并将其放到一个元组中。例如,定义一个函数,让其可以接收任意多个实际参数,代码如下图所示:

在这里插入图片描述

如果想要使用一个已经存在的列表作为函数的可变参数,可以在列表的名称前加 “ * ”。例如下图代码所示:

在这里插入图片描述

2. **parameter

  这种形式表示接收任意多个类似于关键字参数一样显式赋值的实际参数,并将其放到一个字典中。例如,定义一个函数,让其可以接收任意多个显式赋值的实际参数,代码如下图所示:

在这里插入图片描述

如果想要使用一个已经存在的字典作为函数的可变参数,可以在字典的名称前加 “ ** ”。例如下图代码所示:

在这里插入图片描述


总结

  参数是学习函数必须要精通的重要一环。对初学者来说,默认值参数是易错点可变参数是难点每个参数都是要掌握的重点

http://www.ds6.com.cn/news/49585.html

相关文章:

  • 代做网站品牌推广营销
  • 2018网站外链怎么做百度服务中心人工24小时电话
  • 中信建设有限责任公司招标公告简阳seo排名优化培训
  • 邛崃市建设局网站宁德市区哪里好玩
  • 网站主题下载优化网站的步骤
  • 整合营销传播策划方案seo网站优化网站编辑招聘
  • 用摄像头直播网站怎么做最新热搜新闻
  • 做企业免费网站哪个好些杭州seo的优化
  • 网站要能被搜到需要做推广嘛台州网站制作维护
  • 不相关的网站做单项链接可以吗自动外链
  • 网站建设思维导图的要求5118营销大数据
  • 团委网站开发seo软件简单易排名稳定
  • 做网站都得会什么技术营销的方法手段有哪些
  • 建设网站需要的软硬件电脑优化软件
  • 朋友圈网站文章怎么做优化大师app
  • 网站开发样例指数基金投资指南
  • 网站做次级页面营销型网站分析
  • 动态可视化excel图表制作重庆seo推广服务
  • 已经有域名 如何建网站企业网站的优化建议
  • 搜索引擎网站推广如何优化一个新的app如何推广
  • asp评价网站开发文档聊城今日头条最新
  • 深圳网站制作企业邮箱关键词优化快速排名
  • 公司网站找不到了千部小黄油资源百度云
  • wordpress婚庆主题百度小程序关键词优化
  • 广州建站方法重庆seo快速优化
  • 注销主体和注销网站英文seo实战派
  • 网站建设主要内容包括新乡seo推广
  • 茶叶网站的建设策划书wordpress建站公司
  • 网站服务提供商交换友链
  • 平凉市城乡建设局网站seo排名优化资源