标签:
# -*- config=utf-8 -*- #################################### 函数 ################################## def func_02(a,b):# a b :形式参数 if a>b: print("a 大于 b") else: print("b大于等于a"); func_02(2,4);# 2 4 :实际参数 ###################################### 形参数设置默认值 ######################################### def mashine(x=0,y=0):#x=0 表示设置默认值 print(x,"+" ,y,"计算结果:",x+y); mashine();#使用默认值 0 + 0 计算结果: 0 mashine(21,34);#传值 21 + 34 计算结果: 55 mashine(21);# 不指定参数 21 + 0 计算结果: 21 mashine(y=21);# 指定参数传值 0 + 21 计算结果: 21 ##########################################变量的作用域######################################### x="I am global var";#全局变量 def func_03(): b=200;#局部变量 print(x,b); func_03(); # 使用 global 将 函数内部的变量 强制 声明为全局变量 函数 必须先被调用 m="C-D-E"; def func_04(): global m; m="A-B-C"; print(m); func_04();#A-B-C print(m);#A-B-C 函数必须先调用 #######################################函数的返回值 ##################################### # 1. return 返回函数执行结果 并 终止函数 # 2、默认 返回None def func_05(x,y): print(x+y); return x+y; sum=func_05(12,23);#接收函数处理的结果 print(sum);
# -*- config=utf-8 -*- ##################################### 多类型参数 ######################## print("%s : %s " % (‘A‘,‘B‘)); #格式化输出 A : B arr=(‘a‘,‘b‘,‘c‘);#元组 list=list(range(10));#元组 map={"a":"A","b":"B","c":"C"};#字典 #将元组 作为参数 def func_01(x,y,z): print(x,y,z); func_01(*arr);#a b c #默认参数 def func_02(name="张三",age=12): print("name : %s " % name); print("age : %s " % age); func_02(); #在不传值得时候 使用默认值 name : 张三 func_02("李四",30);#name : 李四 #传递字典 函数额参数 要与 字典的key值对应 func_02(age=50,name="Kb"); #name : Kb age : 50 map2={"age":40,"name":"王五"}; func_02(**map2);#name : 王五 age : 40 map2["age"]=41; func_02(**map2); #age : 41 ###############################处理传递的多余参数######################## # *args元组 存储 多余的实参 def func_03(x,*args): print(x); print(args); func_03(1); # 1 ()元组 func_03(1,"a","C",4); # 1 (‘a‘, ‘C‘, 4)元组 # 以字典存储 key=value 类型多余的实参 def func_04(x,*agrs,**kwargs): print(x); print(agrs); print(kwargs); func_04(2,"F","D","H",a="A",c="C"); #2 (‘F‘, ‘D‘, ‘H‘) {‘c‘: ‘C‘, ‘a‘: ‘A‘} func_04(2,"F","D","H",x="A",c="C");# 这样是 有问题的 因为 x 传递的多次
#####################################lambda(匿名)函数 ################################### #lambda 函数是一种快速定义单行的最小函数,是从Lisp借鉴的,可以用在任何需要函数的地方 #Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字 def func_05(x,y): return x*y; g=lambda x,y :x*y; #t通过lambda 定义 一个匿名函数 付给g print(g);#<function <lambda> at 0x000000000104C6A8> 返回的是一个函数对象 print(g(12,34));#408 #Python中的reduce #python中的reduce内建函数是一个二元操作函数,他用来将一个数据集合(链表,元组等)中的所有数据进行下列操作: #用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1,2个数据进行操作, #得到的结果再与第三个数据用func()函数运算,最后得到一个结果。 #在python 3.0.0.0以后, reduce已经不在built-in function里了, 要用它就得from functools import reduce from functools import reduce; # 求 5 的阶乘 5*4*3*2*1 def func_06(x,y): return x*y; fh=list(range(1,6)); print(fh); print(reduce(func_06,fh)); #120 print( reduce(lambda x,y:x*y,fh) ); #120 使用lambda 函数 处理
标签:
原文地址:http://www.cnblogs.com/jalja/p/5559249.html