python学习之函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习之函数相关的知识,希望对你有一定的参考价值。

函数

一个函数就是将一些语句集合在一起的部件,能够不止一次的在程序中运行
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))

以上是关于python学习之函数的主要内容,如果未能解决你的问题,请参考以下文章

python学习之函数

python学习之函数返回值

Python学习之装饰器

Python学习之函数初识一

python学习之第八篇:Python中的函数基础

Python学习之认识函数