目测以下程序会显示什么内容(为什么不是1314呢)?

def fun(var):
    var = 1314
    print(var, end='')
var = 520
fun(var)
print(var)

因为传得是值,不是内存地址。

虽然你的第二行给var赋值1314,但是你在第四行再次对var赋值,改变了var,后面又将这个var的值,也就是520通过fun函数传入,取代了1314。就是这么简单。