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

网站排名软件包年百度提问首页

网站排名软件包年,百度提问首页,网站单独页面怎么做301重定向,wordpress主题改中文字体在某些情况下,程序需要在定义函数时为一个或多个形参指定默认值,这样在调用函数时就可以省略为该形参传入参数值,而是直接使用该形参的默认值。 为形参指定默认值的语法格式如下: 形参名 默认值 从上面的语法格式可以看出&…

在某些情况下,程序需要在定义函数时为一个或多个形参指定默认值,这样在调用函数时就可以省略为该形参传入参数值,而是直接使用该形参的默认值。

为形参指定默认值的语法格式如下:

形参名 = 默认值

从上面的语法格式可以看出,形参的默认值紧跟在形参之后,中间以英文“=”隔开。

例如,如下程序为 name、message 形参指定了默认值:

# 为两个参数指定默认值
def say_hi(name = "孙悟空", message = "欢迎来到C语言中文网"):print(name, ", 您好")print("消息是:", message)
# 全部使用默认参数
say_hi()
# 只有message参数使用默认值
say_hi("白骨精")
# 两个参数都不使用默认值
say_hi("白骨精", "欢迎学习Python")
# 只有name参数使用默认值
say_hi(message = "欢迎学习Python")

上面程序中在定义 say_hi() 函数时为 name、message 形参指定了默认值,因此程序中第一次调用 say_hi() 函数时没有为 name、message 参数指定参数值,此时 name、message 参数将会使用其默认值。

程序第二次调用 say_hi() 函数时为 name 参数(使用位置参数)指定了参数值,此时 message 参数将会使用默认值。

程序第三次调用 say_hi() 函数时为 name、message 参数(使用位置参数)都指定了参数值,因此这两个参数都使用开发者传入的参数值。

程序第四次调用 say_hi() 函数时只为 message 参数(使用关键字参数)传入了参数值,此时 name 参数将使用默认值。

运行上面程序,可以看到如下输出结果:

孙悟空 , 您好
消息是: 欢迎来到C语言中文网
白骨精 , 您好
消息是: 欢迎来到C语言中文网
白骨精 , 您好
消息是: 欢迎学习Python
孙悟空 , 您好
消息是: 欢迎学习Python

从上面程序可以看出,如果只传入一个位置参数,由于该参数位于第一位,系统会将该参数值传给 name 参数。因此,我们不能按如下方式调用 say_hi() 函数:

say_hi("欢迎学习Python")

上面调用时传入的“欢迎学习Python”字符串将传给 name 参数,而不是 message 参数。

我们也不能按如下方式来调用 say_hi() 函数:

say_hi(name="白骨精", "欢迎学习Python")

因为 Python 规定,关键字参数必须位于位置参数的后面。因此提示错误:positional argument follows keyword argument。

那么,我们能不能单纯地将上面两个参数交换位置呢?

#say_hi("欢迎学习Python" , name="白骨精")

上面调用依然是错误的,因为第一个字符串没有指定关键字参数,因此将使用位置参数为 name 参数传入参数值,第二个参数使用关键字参数的形式再次为 name 参数传入参数值,这意味着两个参数值其实都会传给 name 参数,程序为 name 参数传入了多个参数值。因此提示错误:say hi() got multiple values for argument 'name'。

将函数调用改为如下两种形式是正确的:

say_hi("白骨精", message="欢迎学习Python")
say_hi(name="白骨精", message="欢迎学习Python")

上面第一行代码先使用位置参数为 name 参数传入参数值,再使用关键字参数为 message 参数传入参数值;第二行代码中的 name、message 参数都使用关键字参数传入参数值。

由于 Python 要求在调用函数时关键字参数必须位于位置参数的后面,因此在定义函数时指定了默认值的参数(关键字参数)必须在没有默认值的参数之后。例如如下代码:

# 定义一个打印三角形的函数,有默认值的参数必须放在后面
def printTriangle(char, height = 5) :for i in range(1, height + 1) :# 先打印一排空格for j in range(height - i) :print(' ', end = '')# 再打印一排特殊字符for j in range(2 * i - 1) :print(char, end = '')print()
printTriangle('@', 6)
printTriangle('#', height=7)
printTriangle(char = '*')

上面程序定义了二个 printTriangle() 函数,该函数的第一个 char 参数没有默认值,第二个 height 参数有默认值。

上面程序中第一次调用 printTriangle() 时,程序使用两个位置参数分别为 char、height 传入参数值,这当然是允许的;第二次调用 printTriangle() 时,第一个参数使用位置参数,那么该参数值将传给 char 参数,第二个参数使用关键字参数为 height 参数传入参数值,这也是允许的;第三次调用 printTriangle() 时,只使用关键字参数为 char 参数传入参数值,此时 height 参数将使用默认值,这是符合语法的。

http://www.shuangfujiaoyu.com/news/2443.html

相关文章:

  • 网站建设小图标福建省人民政府门户网站
  • 网页设计简单代码成都搜狗seo
  • 商丘网站公司电话号码免费网站注册免费创建网站
  • 网站设计的开发工具和环境网站怎么优化推广
  • 企业网站怎么做推广怎么在百度上做广告推广
  • 缅甸网站赌博代理怎么做如何免费发布广告
  • 网站建设功能选择表黄冈网站推广软件有哪些
  • aso.net 网站开发营销推广ppt
  • 广西网站建设工具怎么在网上做广告
  • asp.net动态网站开发视频教程合肥网络seo推广服务
  • 做网站二级域名随便用吗南宁最新消息今天
  • 怎么给企业做网站哈尔滨最新信息
  • 上海金山区建设局网站电子商务推广
  • 做企业平台的网站有哪些方面论坛推广软件
  • 洛阳做网站公司电话百度快速收录技术
  • 网站可以做伦理片吗流量精灵app
  • 整站建设和网站优化自己怎么创建网站
  • 怎么查看网站是否备案网络营销的类型
  • 网页版传奇世界之仗剑天涯h5优化方案官网
  • 彩钢做网站能赚钱吗西安百度推广开户多少钱
  • 网站改版降权多久恢复百度客服怎么转人工
  • 网站收录不好怎么办黑龙江头条今日新闻
  • 岳阳网站建设制作沈阳专业seo排名优化公司
  • 网站后台登录模板html黑马it培训班出来现状
  • 上色的网站下载免费百度小说排行榜2019
  • msn网站制作百度人工服务24小时
  • 做网站费用会计分录怎么做网站死链检测工具
  • 内蒙古城乡建设和住房建设厅网站宁波seo优化报价多少
  • 做网站商机手机网页链接制作
  • 南江网站建设360搜索引擎地址