Python中的函数的定义格式:
1、普通函数
def 函数名 (参数列表):
函数体
返回值(可有可无)
1)默认有限参数的函数,在以下的函数中,在调用时即使不传入age也不会报错,不传入就默认是10
def People(name,age=10):
...
2)可变长参数,传入的是值,以数组的形式遍历取出
例如
def printInfo(name,*args): #打印任何传入的字符串 print '运行结果:name is',name for arg in args: print arg return printInfo('fjl',20,'女','付靖玲')
运行结果:name is fjl<pre code_snippet_id="1909868" snippet_file_name="blog_20161001_3_7347679" name="code" class="python">20 女 付靖玲
3)可变长参数,传入的是键值对(K-V)
def printInfo(name,**KVargs): #打印任何传入的字符串 print '运行结果如下:name is',name for k in KVargs: print k,' is: ',KVargs[k] return printInfo('fjl',age = 20,sex = '女',Ch_Name = '付靖玲')
<pre name="code" class="python">运行结果如下:name is fjl age is: 20 Ch_Name is: 付靖玲 sex is: 女
<pre>
2 匿名函数
sum = lambda arg1,arg2:arg1+arg2 #匿名函数的定义 sum(90,92) #匿名函数的调用 运行结果如下:182
匿名函数的应用
import numpy from pandas import DataFrame df = DataFrame({ 'data1':numpy.random.randn(5), 'data2':numpy.random.randn(5) }) #df调用匿名函数,实现求每一列的最小值 df.apply(lambda x:min(x)) #求每一行的最小值 df.apply(lambda x:min(x),axis=1) #判断每一个列是否都大于0 df.apply(lambda x:numpy.all(x>0),axis=1) #过滤掉小于0的元素 df[df.apply(lambda x:numpy.all(x>0),axis=1)]