DoubleS、Zhao 发表于 2020-10-28 20:21:12

各位大佬帮帮忙,谢谢了

def outside():
    var = 5

    def inside():
      var = 3
      print(var)

outside()


各位兄弟们,我想问一下为什么这个什么也不打印,我明明在函数里写了print(var)啊??


{:9_220:}

小甲鱼的铁粉 发表于 2020-10-28 20:24:00

因为你的outside()里面没有print

小甲鱼的铁粉 发表于 2020-10-28 20:24:39

def outside():
    var = 5
    print(var)
   
    def inside():
      var = 3
      print(var)

outside()

笨鸟学飞 发表于 2020-10-28 20:24:47

def outside():#2.进入
    var = 5       #3.给局部变量var赋值。
                      #4.函数调用后既没有后续,也没有返回啥东西,程序到这就返回None给调用的地方然后结束了
    def inside():
      var = 3
      print(var)

outside()    #1.调用函数outside()

边界cc.A 发表于 2020-10-28 20:26:31

def outside():
    var = 5

    def inside():
      var = 3
      print(var)
    inside()

outside()


要在第七行加上inside(),这样才在outside()函数里面调用了inside函数,inside()被调用,才会被打印

DoubleS、Zhao 发表于 2020-10-28 20:27:17

小甲鱼的铁粉 发表于 2020-10-28 20:24


那如果我想要打印var的值是3该怎么办

DoubleS、Zhao 发表于 2020-10-28 20:28:47

笨鸟学飞 发表于 2020-10-28 20:24


但是我调用inside函数后不是写了print(var)了吗?这样不能打印var的值吗?

{:9_220:}

边界cc.A 发表于 2020-10-28 20:29:45

DoubleS、Zhao 发表于 2020-10-28 20:27
那如果我想要打印var的值是3该怎么办

按我的那个就行

zmgthy 发表于 2020-10-28 20:31:02

outside()没有返回值,你试试加上print

def outside():
      var = 5

def inside():
      var = 3
      print(var)

print(outside())

笨鸟学飞 发表于 2020-10-28 20:32:35

DoubleS、Zhao 发表于 2020-10-28 20:27
那如果我想要打印var的值是3该怎么办

def outside():
    var = 5
    #2.假如这里写调用inside()是会报错的
    def inside():
      var = 3
      print(var)
    inside()            #1.加这里,缩进表示在outside()函数内、但是在inside()函数外,加这里的原因是,调用函数时,python是向上找函数的,上面没有声明函数则会报错

outside()
页: [1]
查看完整版本: 各位大佬帮帮忙,谢谢了