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等

原文地址:https://www.cnblogs.com/liuyouying/p/6427227.html