老师,我碰到了一个这样的问题:
我在jupyter Notebook,第一行输入如下代码:
def oneTwo(a,b):
c =a+b
return c
运行,第二行输入:
oneTwo(1,2)
运行,第三行输入:
print(c)
运行,然后结果显示是:None
请问是什么原因?
PY GISER136
5 年 之前
老师,上面的那个问题,我知道了是C是形参,没有指向,造成的,只要让 c = oneTwo(1,2),就可以顺利输出C值了。但是我又碰到了新的问题, 我在一行里面输入:
def add(*data):
sum=0
for d in data:
sum=sum+d
运行,然后再输入:
a1=1
b1=2
c1=3
d1=4
老师,笔记链接分享分享!谢谢!
笔记在视频下面了
我是说有道云笔记的链接
那个没有发,内容就是下面那些
返回多个返回值的函数
def add(x,**data):
return x,x+data[‘a’]+data[‘b’]+data[‘c’]+data[‘d’]
#***************************
a1=1
b1=2
c1=3
d1=4
x1,c1 = add(12,a=a1,b=b1,c=c1,d=d1) #{‘a’:a1,’b’:b1,’c’:c1,’d’:d1}
print(x1)
print(c1)
上面这一段,看不明白,哪个地方让x1与12产生联系的(x1=12)?
x1,c1 = add(12,a=a1,b=b1,c=c1,d=d1) 这一行调用了add函数,传12到
def add(x,**data):
return x,x+data[‘a’]+data[‘b’]+data[‘c’]+data[‘d’]
然后返回了x,x+data[‘a’]+data[‘b’]+data[‘c’]+data[‘d’],这里x就是add函数传入的第一个参数,就是12啊
看明白了
老师,我碰到了一个这样的问题:
我在jupyter Notebook,第一行输入如下代码:
def oneTwo(a,b):
c =a+b
return c
运行,第二行输入:
oneTwo(1,2)
运行,第三行输入:
print(c)
运行,然后结果显示是:None
请问是什么原因?
老师,上面的那个问题,我知道了是C是形参,没有指向,造成的,只要让 c = oneTwo(1,2),就可以顺利输出C值了。但是我又碰到了新的问题, 我在一行里面输入:
def add(*data):
sum=0
for d in data:
sum=sum+d
运行,然后再输入:
a1=1
b1=2
c1=3
d1=4
c1=add(a1,b1,c1,d1)
print(c1)
运行,结果还是None,这次C1是有指向的,为什么结果还是None?
因为函数没有return返回值,所以赋值后为none
好的,谢谢老师!老师,发现笔记里面有个地方需要修改一下,就是“使用字典作为函数的参数”和“混合型的参数作为函数参数”中举例的代码是一样的。
这两个确实是一样的,字典那个也带普通参数