问一下如何在python的自带编译器IDLE中换行而不执行呢,有时候要执行反而没有执行

问一下如何在python的自带编译器IDLE中换行而不执行呢,有时候要执行反而没有执行

img

在python的自带编译器IDLE是命令行的方式编写程序的,默认是写完一行,回车就会执行的。你这里nums.sort()只是调用了一个方法,已经执行了,调用方法不会输出,要输出需要使用print,或者直接写nums 所有变量会自动输出。
如果你需要写代码,不想要执行,需要全部写完再执行,那么你可以在options——Edit IDEL 中设置以编辑模式打开IDEL

img

,然后重启IDEL。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7454513
  • 这篇博客也不错, 你可以看下关于python_IDLE右键无法使用_解决方法
  • 除此之外, 这篇博客: 对于新手来说,Python 中有哪些难以理解的概念?我似乎明白了中的 函数闭包 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    函数闭包的概念在初学时容易迷糊,尤其涉及到闭包的作用域和参数问题

    python有一个很有意思的地方,就是def函数可以嵌套在另一个def函数之中。调用外层函数时,运行到的内层def语句仅仅是完成对内层函数的定义,而不会去调用内层函数,除非在嵌套函数之后又显式的对其进行调用。

    x = 99
    def f1():
     x = 88
     def f2():
     print(x)
     f2()
    f1()
    88
    

    可以看出,f1中的嵌套变量x覆盖了全局变量x=99,然后f2中的本地变量按照引用规则,就引用了x=88。

    下面我们来说说嵌套作用域的一个特殊之处:

    本地作用域在函数结束后就立即失效,而嵌套作用域在嵌套的函数返回后却仍然有效。

    def f1():
     x = 88
     def f2():
     print(x)
     return f2
    action = f1()
    action()
    88
    

    这个例子非常重要,也很有意思,函数f1中定义了函数f2,f2引用了f1嵌套作用域内的变量x,并且f1将函数f2作为返回对象进行返回。最值得注意的是我们通过变量action获取了返回的f2,虽然此时f1函数已经退出结束了,但是f2仍然记住了f1嵌套作用域内的变量名x。

    上面这种语言现象称之为闭包:一个能记住嵌套作用域变量值的函数,尽管作用域已经不存在。在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^