求看一下我这个程序运行之后为什么多出了一个none,我并没有打入两个print或者输出函数为什么这个none出现了,求解

img
就是我定义了这个函数。就是交换了这个字典‘a’,’b'代表的值,并加以输出,但是为什么多出了这个none?这是什么情况

这样两次调用了呀,第二次的none是因为打印函数返回值,但是你这个函数没有返回值所以打印none

函数内部的print函数打印了结果
但最后一句函数的调用无需调用print函数,可以改成
s(x)直接调用

第一个是函数里面打印的,第二个是外面打印的,因为没有返回值,所以打印了none

s(x)函数外部有一个print,然后你调用s(x)打印了返回值,python中函数不写return就默认返回值是None,所以打了个None
简单来说,你函数调用不要加print,直接调就好了:

def s(x):
    x['a'],x['b']=x['b'],x['a']
    print(x)

x={'a':1,'b':2}
s(x)