我什么时候应该使用 library.function()(对于给定的库及其函数)而不是仅使用 function(),使用 Python 库
When should I use library.function() (for a given library and its function) instead of just function(), using Python Libraries
我对 Python 和面向对象编程还很陌生。我正在执行使用 p5 库的 this tutorial。
教程贴出的代码如下:
from p5 import setup, draw, size, background, run
import numpy as np
from boid import Boid
width = 1000
height = 1000
def setup():
#this happens just once
size(width, height) #instead of create_canvas
def draw():
#this happens every time
background(30, 30, 47)
run()
但是当我尝试 运行 时,会出现各种错误,除非我将 "p5." 放在函数 background()
、size()
和 [=16= 之前]:
... p5.size()
... p5.background()
... so on
我对其他类似的代码也有过这种困惑;有时在函数之前使用库名称,有时不是,所以上面的代码只是一个例子,表明我对这个话题一无所知。
欢迎提供任何关于我可以在哪里了解的解释或指示。
干杯。
当你这样做时:
from p5 import setup, draw, size, background, run
名称 setup
、draw
等被添加到全局命名空间并绑定到适当的库 functions/objects(即来自 p5
库的那些)
但在那之后,当这些行 运行:
def setup():
...
def draw():
名称 setup
和 draw
已更改为指向您刚刚定义的函数,因此它们不再绑定到 p5
库对象。
由于名称含糊不清,脚本可能 运行 出错。但是,您的脚本应该没问题,因为这些重新定义的名称似乎没有在任何地方使用。
使用 p5.
前缀只会消除混淆并解决问题。
如果库导出通用名称(如 setup
、draw
等),或者如果名称与您自己的名称冲突,则最好使用 library.
前缀 /其他图书馆出口的名字。
我对 Python 和面向对象编程还很陌生。我正在执行使用 p5 库的 this tutorial。
教程贴出的代码如下:
from p5 import setup, draw, size, background, run
import numpy as np
from boid import Boid
width = 1000
height = 1000
def setup():
#this happens just once
size(width, height) #instead of create_canvas
def draw():
#this happens every time
background(30, 30, 47)
run()
但是当我尝试 运行 时,会出现各种错误,除非我将 "p5." 放在函数 background()
、size()
和 [=16= 之前]:
... p5.size()
... p5.background()
... so on
我对其他类似的代码也有过这种困惑;有时在函数之前使用库名称,有时不是,所以上面的代码只是一个例子,表明我对这个话题一无所知。
欢迎提供任何关于我可以在哪里了解的解释或指示。
干杯。
当你这样做时:
from p5 import setup, draw, size, background, run
名称 setup
、draw
等被添加到全局命名空间并绑定到适当的库 functions/objects(即来自 p5
库的那些)
但在那之后,当这些行 运行:
def setup():
...
def draw():
名称 setup
和 draw
已更改为指向您刚刚定义的函数,因此它们不再绑定到 p5
库对象。
由于名称含糊不清,脚本可能 运行 出错。但是,您的脚本应该没问题,因为这些重新定义的名称似乎没有在任何地方使用。
使用 p5.
前缀只会消除混淆并解决问题。
如果库导出通用名称(如 setup
、draw
等),或者如果名称与您自己的名称冲突,则最好使用 library.
前缀 /其他图书馆出口的名字。