gpt4 book ai didi

python - 导入 Turtle 图形模块

转载 作者:太空宇宙 更新时间:2023-11-04 03:47:10 24 4
gpt4 key购买 nike

我承认我刚刚开始使用 Python 3.3 中的 turtle 图形,并且在观看了一个以 from turtle import * 开始的 youtube 演示文稿之后。这允许像 fd(100) 这样的短命令代替我经常看到的格式 turtle.forward(100) 等。

我的问题是:

  1. 在使用这种格式时,我是否使用了 Not Acceptable 快捷方式?
  2. 如何阻止 Python IDLE 将此格式的每个命令解释为“turtle 图形”?
  3. “*”后缀是否像通常那样表示“一切”?

如果我不应该在一个帖子中问多个问题,我提前道歉,但它们彼此相关并且这似乎合乎逻辑。

最佳答案

一般来说,是的,您确实希望避免使用 from module import * 形式。这样做的目的是打开模块(一个普通的 python 文件),并且基本上获取该文件中定义的每个函数、类等,并将其添加到您的命名空间。你是对的——* 确实意味着“一切”。

因此,如果我编写了一个名为 foo.py 的模块,其中包含一个名为 bar1bar2 等的函数,则执行 from foo import * 将允许我使用这些函数,就像我在当前文件中定义它们一样:

from foo import *

bar1()
bar2()
# etc

这不好的主要原因是它需要未知数量的函数和类并将其转储到您的命名空间中。当您突然开始使用一个函数时,很难跟踪大型代码库中发生的事情。例如:

from a import *
from b import *
from c import *
# etc

example()
# Where did this come from? From module a, b, or c? What if both a and b define a
# function named 'example'?

您已经了解导入模块; module.function 形式,但还有第三种形式也很有用:

from turtle import fd, right, left  # etc

right(90)
fd(100)
backwards(300) # throws an error!
forwards(300) # throws an error!

现在,我可以挑选我想要的函数,知道它们来自哪里,并避免污染我的命名空间。

但是,对于您的情况,我不会太担心。由于您正在试验和学习如何使用 turtle 模块,我认为更重要的是专注于该方面,而不是编写完美地地道的 Python。

关于python - 导入 Turtle 图形模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23206135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com