python个人笔记,方便查询,与侵权无关。

函数的定义:
def test():
    print "hello world!"
test()     #调用上面的test函数
 
定义一个参数为name的函数:
def mingzi(name):
    print "hello %s,how old are you?"%name
mingzi('darren')         #调用定义的函数

定义两个参数的函数:
def info(name,age):
    print "%s,%s"%(name,age)
info('darren','23')         #调用两个参数的函数

给函数添加一个帮助文档:
def mingzi(name):
    'this is a help doc!'
    print "hello %s,how old are you?"%name
n="darren"
mingzi(n)     #也可以先赋值再调用函数

>>>import tab
>>>import three
>>>help(three.mingzi)     #查看自己编写的帮助文档 


局部变量和全局变量:
局部变量:函数执行结束以后会失去作用。
def info (name):
    age=22
    print 'your name is %s,you old is %s'%(name,age)
info('darren') 

全局变量:在函数之外,全局生效。
age=26
def info (name):
    age=22
    print 'your name is %s,you old is %s'%(name,age)
info('darren') 

声明把全局变量变为局部变量(不建议使用):
age=26
def info (name):
    global age           #声明
    age=22
    print 'your name is %s,you old is %s'%(name,age)
info('darren')  
print 'age:',age         #此处第一个age:是显示age:并不是变量,后面的才是变量,这是让一个print生成两段内容的用法。


函数的默认参数: 
def users(username,group='iphone'):          #group='iphone'这里也是一个赋值变量,只不过如果不赋值,默认是iphone。
    list={}        #定义一个字典
    list[username]=group        #定义username为key,group为value,意思就是修改key的值为变量group
    return list
print users('wang')
print users('wangjia',"dongge")

 多默认值变量:
def info (name,age,internation='zhongguo',provice='shandong'):
    age=22
    print 'your name is %s,you old is %s'%(name,age)
    print internation,provice
info('darren','age',provice='beijing',internation='meiguo')    #默认赋值的变量可以没有顺序,但是无默认值的变量必须在有默认值得变量的前面。

函数的关键参数:
def fun(a,b=5,c=10):
    print a,b,c

fun(3,7)
fun(25,c=24)
fun(c=50,a=100)  


#重点:函数增加一个特殊参数,可以任意赋多个值。
def test(*.args):
    print args
test('darren','wang','29')

#把一个字典赋值给函数,字典key对应的值就是变量。
def testa (**kargs):
    print kargs
name_list={
'name'='wang',
'age'='22',
'iphone'='pingguo'
}
testa(name='darren',age='18',iphone='sanxing')


#有时候我们希望能把函数执行的结果保存下来,这时候就需要return参数:
def users(username,group='iphone'):  
    list={}     
    list[username]=group    
    return list
yonghu=users('wang','group='linux')
print yonghu 

lambda匿名函数:
>>> a=lambda x:x+2
>>> a(2)
4
-------
a=range(10)
map(lambda x:x**2,a)
--------
def f(x):
        return x**2
print f(4)
普通函数和下面lambda函数相同
g=lambda x:x**2
print g(4) 
----------