1楼:匿名用户
def mul(x):
return x*x
def my_map(func, args):
for n in args:
print(func(n))
my_map(mul, [1,2,3,4])
python中两个函数间参数传递问题
2楼:匿名用户
defplus(a,b):
z=a+1
c=b+5
return(z,c)
(q,w)=plus(1,2)
plud(q,w)
##我这里假设a=1,b=2
##首先plus(1,2),得到z=2,c=7,通过return让(q,w)=(z,c)的值,然后plud(q,w)即可实现将z,c的值传递给下一个函数
3楼:匿名用户
defplus(a,b):
z=a+1
c=b+5
printa+b
returnc,z
c,z=plus(a,b)
defplud(c,z):
printc+z
python传入参数的问题
4楼:匿名用户
python在定义函数的时候,存在两种特殊定义,*和**的传值方式,正是因为这两种定义,python 函数的传值,非常灵活,在cpp编程的时候,不支持方法重载,因为没必要了。。。
在参数前面加个*号,表明这个函数会将这个变量代表的内容,转换为一个元祖,所以函数可以接收n个元素,这n个元素在函数里面转成一个元祖。比如这种
deffun1(*a):#定义
print(a)#1输出
print(*a)#2输出
x=[1,2,3]
fun1(x)#1调用
fun1(*x)#2调用
fun(1,2,3)#3调用
因为fun1定义的时候,告诉函数,x可以接受n个对象,这个对象在函数里面会转成一个元祖保存,所以在1调用的时候,x在fun1函数里面会被当成一个元祖,但我们知道,x其实是一个元祖,1调用的时候,就传了一个对象进去。所以,结果如下
([1,2,3],) #1输出
[1,2,3] #2输出
为啥?1输出,清楚无误的告诉print(print也是函数,也支持*args方式传值),你直接把a对象打印出来,a对象是啥?一个包含1个对象的元祖,所以就是(x,)这样的结果。
那2输出呢?2输出在调用的时候,在a对象前面已经拆解了元祖,所以,传给print函数的,是一个对象,就是x了。
同理,在2调用的时候,因为x对象被拆开,所以,func1被传入多个值,此时的a是一个元素和x相同的元祖。所以2调用的1输出,就是一个值,就是(1,2,3)。2输出,因为被拆解了再传给print,所以,print其实被传入了多个值,然后将这些值全部打印出来,所以结果是1,2,3.
那3调用呢?其实本质和2调用是一样的
那双星号呢?双星号是拆解key-val格式对的内容,在函数定义的时候,是默认讲传入的产生转为字典。而规律和上面说的单星号一致。
如果用单星号去拆解key-val对象,只会拆解出key。后面的就不多说了。
为啥单引号拆解key-val对象,可以拆出key呢。。。源**就这么执行的,为啥当初设计,理由是啥。。。不清楚。。
5楼:匿名用户
你前面有个*,传入的是一个tuple不是一个dict
>>>deftest(*args):
print(args)
>>>test(*)
('a','b')
>>>test()(,)
Python新手关于函数的问题,Python新手关于函数的一个问题
1楼 大话残剑 函数进入时把data3初始化成空值,函数最后增加return data3 如果没有找到,就会返回空。 函数调用后,判断返回值是否为空 一个python 小问题 。我新手求高手解答。请问这个函数到底怎么解释的,为什么第一种会报错。非常感谢 2楼 匿名用户 enumerate迭代器返回一...
关于Python len函数问题
1楼 吾还记得你的笑 虽然我觉得你已经解决了不过还是回答一下,line 1 括号里面的 i ask the world what is the love 是直接输出的,你直接在后面写你想要颠倒的内容就行,程序本身是正确的。 2楼 匿名用户 python len 方法返回字符串长度。 len 方法语法...
python函数问题,一个Python函数的问题 5
1楼 匿名用户 def sum x s 1while 1 s s x x 1 if not x break return s sum sum 5 print sum 2楼 匿名用户 python函数 函数是组织好的,可重复使用的,用来实现单一或相关联功能的 段。 函数能提高应用的模块性,和 的重复利...