有关函数的参数一些案列

# a=5
# print(id(a))
# a=10
# print(id(a))
from functools import reduce #引入模块的相应函数或方法
def calc(x,y=None,*numbers): #定义函数,并设定参数
print(numbers) #输出不定长参数numbers
sum = 0 #定义变量
for n in numbers: #迭代参数numbers内变量
sum = sum + n * n #求得所有数值的平方和
return sum #返回给函数结果
result=calc(1,2) #调用函数calc,并赋值参数x,y的值为1和2.所以numbers为空值
print(result) #输出的为sum最初定义值

def person(name,age,**kw):
print('name:',name,'age:',age,'other:',kw)
kk={'city':'Shanghai','aa':'abc'}
person('Frank',37,**kk)
#一共有四种类型的参数
#1.普通参数
#2.默认参数
#3.不定长参数,最终组成元组
#4.关键字参数,最终组成字典,传参时注意传key=value

def f1(a, b, c=0, *args, **kw):
print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
abc=(1,2,3)
kw={"cc":1,"d":2}
f1(*abc,**kw)

def f2(a, b, c=0, *, d, **kw):
print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)
f2(*abc, **kw)
def f3(a,b,c=0,d=None):
print(c,d)
f3(1,2,d=5)#命名参数
def f4(a,b):
a,b=11,12
return a,b#当返回多个值时,自动组成一个元组
c,d=f4(1,2)#也可以使用多个变量接收
print(c,d)
#可变参数(列表,字典,set),不可变参数(string,Number,元组)
#全局变量(声明在函数外,如果在函数内使用则需要global),
# 局部变量(声明在函数内)

foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
mapdemo=map(lambda x:x*2+10,foo)
for i in mapdemo:
print(i)
def tt(x):
return x*2+10
m=tt
print("m={0}".format(m))
mresult=m(12)
print("mresult=%d"%mresult)
result=map(tt,foo)
print("result:{0}".format(result))
f=filter(lambda x:x>10,foo)#过滤满足条件的结果
print(f)
for i in f:
print(i)
def re(x,y):
return x+y
r=reduce(re,foo)
print("r={0}".format(r))
print(sum(foo))
print(max(foo))
s=sorted(foo,reverse=True)#sorted函数会生成一个新的列表,不改变原来列表的值,reverse=True倒序
print(s)
print(foo)
dict1={"a":1,"d":3,"c":2}
print(sorted(dict1.items()))
foo.sort()
print(foo)
class ReverseDemo:
def __init__(self,obj):
self.obj=obj
def __lt__(self, other):
return self.obj > other.obj

print("--------",sorted([36, 5, 12, 9, 21], key=lambda x:ReverseDemo(x)))

a=['bob', 'about', 'Zoo', 'Credit']
print(sorted(a,key=str.lower))
原文地址:https://www.cnblogs.com/qianshuixianyu/p/9114732.html