栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习笔记(12)函数2

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习笔记(12)函数2

文章目录
    • 参数
    • 必需参数
    • 关键字参数
    • 默认参数
    • 不定长参数
    • 匿名函数
    • return语句
    • 强制位置参数

参数

以下是本文将会介绍的调用函数时使用的参数类型:
必需参数
关键字参数
默认参数
不定长参数

必需参数

必需参数规定要以正确的顺序传入函数中,在调用的时候必须与声明时相同。
以上一篇文章中的例子来讲:

def printme( dtcloud ):
   # 打印任何传入的字符串
   print (dtcloud)
   return

如果调用时不加参数的话:

printme()

就汇报如下所示的错误:

关键字参数

关键字参数和函数的调用密切相关,关键字参数用以确定传入的参数值。
它的顺序可以与声明时不一致,其中的原因是python能够使用参数名匹配参数值。
如下例所示:

def printme( dtcloud ):
   # 打印任何传入的字符串
   print (dtcloud)
   return
printme(dtcloud = "中亿丰数字dtcloud")


无需顺序的实例:

def printinfo( company, product):
   "打印任何传入的字符串"
   print ("公司: ", company)
   print ("产品: ", product)
   return
 
#调用printinfo函数
printinfo( product="dtcloud", company="中亿丰数字" )

默认参数

调用函数时,如果没有传递参数,则会使用默认参数。以下实例中如果没有传入 product 参数,则使用默认值:

def printinfo( company, product="dtcloud"):
   "打印任何传入的字符串"
   print ("公司: ", company)
   print ("产品: ", product)
   return
 
#调用printinfo函数
printinfo( product="dtcloud", company="中亿丰数字" )
print ("------------------------")
printinfo( company="中亿丰数字" )

不定长参数

如果需要函数处理比声明时更多的参数,那么这些参数被称为不定长参数,声明格式如下:

def functionname([formal_args,] *var_args_tuple ):
   "函数_文档字符串"
   function_suite
   return [expression]

元组会以加了*符号的形式导入,存放这些没有命名的变量。

def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1)
   print (vartuple)
 
# 调用printinfo 函数
printinfo( 70, 60, 50 )


注意:如果输入的时候没有指定参数,那么就不会向函数传入这些未命名变量。

匿名函数

匿名函数通过lambda创建,匿名的意思就是不通过def声明来创建。
lambda仅仅是一个表达式,结构比起def声明的函数更加简单。
lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。
语法格式如下:

lambda [arg1 [,arg2,.....argn]]:expression

简单实例如下:

dtcloud = lambda a : a + 10
print(dtcloud (5))


匿名函数也能够封装在函数内,这样就可以创建多个匿名函数:

def dtcloud(n):
  return lambda a : a * n
 
mydoubler = dtcloud(2)
mytripler = dtcloud(3)
 
print(mydoubler(11))
print(mytripler(11))

return语句

return用以退出函数,然后返回一个表达式,不带参数值的return返回None。
下面的例子通过简单实例演示return语句用法:

def dtcloud( a, b ):
   # 返回2个参数的和."
   total = a + b
   print ("函数内 : ", total)
   return total
 
# 调用sum函数
total = dtcloud( 10, 40 )
print ("函数外 : ", total)

强制位置参数

在python3.8中,新增了一个函数形参语法“/”用以表明函数形式参数必须使用知道你管的位置参数,开发者不允许使用关键字参数的形式。
如下所示:

def f(a, b, /, c, d, *, e, f):
    print(a, b, c, d, e, f)
f(10, 20, 30, d=40, e=50, f=60)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号