您的位置:首页 > 编程语言 > Python开发

python —— 参数类型

2018-01-25 21:41 239 查看

必备参数

必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

调用printme()函数,你必须传入一个参数,不然会出现语法错误:

def printme( str ):
"打印任何传入的字符串"
print str;
return;

#调用printme函数
printme();


以上实例输出结果:

Traceback (most recent call last):
File "test.py", line 11, in <module>
printme();
TypeError: printme() takes exactly 1 argument (0 given)


关键字参数

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。

使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。

以下实例在函数 printme() 调用时使用参数名:

def printinfo( name, age ):
"打印任何传入的字符串"
print "Name: ", name;
print "Age ", age;
return;

#调用printinfo函数
printinfo( age=50, name="miki" );


以上实例输出结果:

Name:  miki
Age  50


缺省参数

调用函数时,缺省参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入:

def printinfo( name, age = 35 ):
"打印任何传入的字符串"
print "Name: ", name;
print "Age ", age;
return;

#调用printinfo函数
printinfo( age=50, name="miki" );
printinfo( name="miki" );


以上实例输出结果:

Name:  miki
Age  50
Name: miki
Age 35


不定长参数

能处理比当初声明时更多的参数。这些参数叫做不定长参数,声明时不会命名。

以一个*开始的参数,代表一个任意长的元组:

# -*- coding: UTF-8 -*-
def printinfo( *agr ):
"打印任何传入的参数"
for var in agr:
print var
return;

# 调用printinfo 函数
printinfo( 70, 60, 50 );


以上实例输出结果:

70
60
50


一个以**开始的参数,代表一个字典:

# -*- coding: UTF-8 -*-
def printinfo(**arg):
for var in arg:
print "键:",
print var,
print ",值:",
print arg[var]
print arg
return
printinfo(a=1,b=2,c=3)


以上实例输出结果:

键: a ,值: 1
键: c ,值: 3
键: b ,值: 2
{'a': 1, 'c': 3, 'b': 2}


匿名函数

python 使用 lambda 来创建匿名函数。

# -*- coding: UTF-8 -*-

# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2;

# 调用sum函数
print "相加后的值为 : ", sum( 10, 20 )
print "相加后的值为 : ", sum( 20, 20 )


以上实例输出结果:

相加后的值为 :  30
相加后的值为 :  40
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python