python 基础 函数部分

一般格式

Def func(a,b=1,c):      #关键字 def 定义方法名,参数
  Print(a,b,c)          #方法体  此函数具体实施的代码

Func(c=1,a=1)          #使用方法 ,方法+参数

定义和其他语言,比如JAVA等大致相同,只是有一点需要强调的是这里面的参数类型没有指明。python是变量动态类型管理,只有在编译过程时才根据代码对变量类型进行确定。

单*和双**操作

当需要进行多参数操作时,可用*进行操作,表示余下全部元素以集合形式进行汇总至某个元素变量中

Def get(a,b,*scrores):
    print(a,b,scrores)
get(1,2,3,4,5)                          #a=1 b=2 scoroes=[3,4,5]

但注意,进行操作时,传入的必须时单个的值,如果传入元组等数据结构时,需要进行解包,同样解包符号也为*

Def avg(*scrores):
    Return sum(scoroes)/len(scores)
A=[1,2,3}
Avg(*A)           #必须有*,否则报错

当传入的是字典表时,使用**,使用方法和单*相似

employee={
    "salary":100,
    "age":23
}

def use(**employee):
    print(employee)
use(**employee)

lambda 匿名函数

a=lambda x,y :x+y(1,2)                  #直接使用
f=lambda name:print(name)               #给予方法名称
f2=lambda x,y :x+y                      #:后面代表返回值

在python的语法中,万物皆可对象,匿名函数也不例外。在需要重复次数较少且较为简单的逻辑,匿名函数为我们的使用提供了极大的便利。

map和filter

这里顺便就欸少一下和函数关系比较大的2个关键字,filter 是通过生成 True 和 False 组成的迭代器将可迭代对象中不符合条件的元素过滤掉;而 map 返回的则是 True 和 False 组成的迭代器

x=[1,2,3]
result=list(map(lambda x:x+5,x))    #需要将生成元素list,不然给出的是储存地址
print(result)                       #通过迭代将X的每个元素计算后的每个元素放入函数中

l=list(range(1,11))
def even_number(x):
    return x%2==0
res=filter(even_number(),l)         #将l的每个数值放入函数中判断是否满足
发布了19 篇原创文章 · 获赞 0 · 访问量 564

猜你喜欢

转载自blog.csdn.net/lsy666aaa/article/details/104145047