猪猪虾 发表于 2020-3-19 13:37:11

19讲 为什么输出结果是1314520,而不是520

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

var = 520
fun(var)
print(var)

qiuyouzhi 发表于 2020-3-19 13:39:35

这个是end参数的问题:
https://fishc.com.cn/thread-159045-1-1.html
你把end参数设置为'',也就是不换行,两个数据就拼接在一起了

_荟桐_ 发表于 2020-3-19 13:47:17

因为调用了fun()函数,先打印了一次函数内的var(end = ''打印后不换行,让1314和520连在一起)
又print(var)打印了函数外的var

FHS 发表于 2020-3-19 13:53:56

def fun(var):
    var = 1314
    print(var, end='')#不换行输出1314
var = 520
fun(var)#先执行FUN中输出1314
print(var)#然后输出var520,
#至于为啥不是输出13141314估计pyuthon在定义函数的时候变量会先引用函数内的

猪猪虾 发表于 2020-3-19 14:06:12

_荟桐_ 发表于 2020-3-19 13:47
因为调用了fun()函数,先打印了一次函数内的var(end = ''打印后不换行,让1314和520连在一起)
又print( ...

蟹蟹

猪猪虾 发表于 2020-3-19 14:07:13

_荟桐_ 发表于 2020-3-19 13:47
因为调用了fun()函数,先打印了一次函数内的var(end = ''打印后不换行,让1314和520连在一起)
又print( ...

蟹蟹
页: [1]
查看完整版本: 19讲 为什么输出结果是1314520,而不是520