Python学习 第5天 函数
一、函数定义
def xx():
print '1';
def xx1():
pass;
def xx2(a):
return a;
xx();
xx1()
xx2('a')
二、与C#区别
C#中方法的参数有四种类型:
(1) 值参数不含任何修饰符
(2) 引用型参数以ref 修饰符声明(Python中没有对应的定义方式)
(3) 输出参数以out 修饰符声明(Python中不需要,因为函数可以有多个返回值)
(4) 数组型参数以params 修饰符声明
Python中函数参数的形式也有四种类型:
(1) f(arg1,arg2,...) 这是最常用的函数定义方式
(2) f(arg1=value1,arg2=value2,...,argN=valueN) 这种方式为参数提供了默认值,同时在调用函数时参数顺序可以变化,也称为关键字参数。
(3) f(*arg) arg代表了一个tuple,类似C#中的params修饰符作用,可以接受多个参数
(4) f(**arg) 传入的参数在函数内部是保存在名称为arg的dict中,调用的时候需要使用如f(a1=v1,a2=v2)的形式。
如果形参表中有一个形为**name的形参,在调用时这个形参可以接收一个字典,字典中包含所有不与任何形参匹配的关键字参数
def cheeseshop(**keywords):
for kw in keywords.keys():
print kw, ':', keywords[kw]
cheeseshop(a="1", b="2");
三、函数注释:函数第一行的文本即为注释,类似于C#的<summary>注释头,使用__doc__获取注释
def a():
"此处为函数注释"
print 1
print a.__doc__
四、lambda,下次再练练吧,和C#差不多意思
五、map、filter、reduce
和Jquery非常像,就是遍历元素,对各元素进行处理,类似Jquery的map和each等