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

python学习之函数

2016-02-06 20:49 579 查看
函数

一个函数就是将一些语句集合在一起的部件,能够不止一次的在程序中运行
def语句将创建一个函数对象,并将其赋值给一个变量名。
def <name> (arg1,arg2...):
  <statment>;
return ;
def 语句是实时执行的,当她运行的时候,他将创建一个新的函数对象并将其赋值给一个变量名
,因为他是一个语句,所以可以出现中在任何语句可以出现的地方。甚至嵌套在其他语句中,
if test:
  def func():
...
else:
  def func():
...
func();

函数仅仅是一个对象,所以可以像如下调用
othername = func();
othername();

实际上除了调用之外,函数允许任意的属性附加到记录信息以供后面使用 就像javascript一样

def fun():
...
fun()
fun.attr = value;

--------------------------------------------------------------------
参数
值传递和引用传递
def changed (a,b):
a = 2;
b[0]='spam'
x = 1
l = [1,2]
chenged(x,l)
x,l
(1,['spam',2])

任意参数的实例
def f(*args): print(args);

f(1,2,3,4)
(1,2,3,4)

当这个函数被调用的时候python 将所有位置相关的额参数都收集到一个元祖当中,并将这个元祖赋值给args

××特性类似 但是他只对关键字参数有效,将这些关键字传递给一个新的字典,这个字典能够通过一半的额字典工具处理,

def (**args):print(args)
f()
{}
f(a=1,b=2)
{'a':1,'b':2}

函数头部能够混合一般参数,×参数以及××参数

例如
def f(a,*agrs,**kargs):print (a,args,kargs)

f(1,2,3,x=1,y=2)
1,(2,3),{x:1,y:2}

在序列中映射函数
counter = [1,2,3,4];
def inc(x):return x+10

list(map(inc,counter))
[11,12,13,14]

这里也常是lamda出现的地方 匿名函数

list (map((lambda x:x+10),counter))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: