Fed*_*rer 5 python django methods
由于我目前正在学习Django/Python,我还没有真正使用过Classes的概念.据我所知,该方法不是静态的......它只是一个标准的定义.
所以,假设我Example1使用views.py包含此方法的包来调用此包:
def adder(x,y):
return x + y
Run Code Online (Sandbox Code Playgroud)
然后,我有一个Example2其中也有一个views.py,我想用这个方法adder.
我怎么会这样做?
编辑:在Java中它将是一个简单的实例化然后instantiation.Method()或者如果它是静态的,SomeClass.Method()但是我不确定我应该如何在Python中处理它.
Python具有模块级和类级方法.在这个概念中,"模块"是一个非常特殊的类,您可以使用import而不是Name().尝试
from Example1.views import adder as otherAdder
Run Code Online (Sandbox Code Playgroud)
访问模块级方法.现在你可以调用otherAdder()它,它将执行另一个模块中的代码.请注意,该方法将在上下文中执行Example1.views,即当它引用事物时,它将在那里查看.
尝试:
from Example2.views import adder as myadder
myadder(x,y)
Run Code Online (Sandbox Code Playgroud)
如果您不确定,可以随时启动python shell,然后使用dir命令查看包的内容以查看可以使用的内容.
编辑:从评论更新以使用'as'
要么
# use ...views as myviews if you need to avoid name conflict on views
from Example2 import views
views.adder(x,y)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8363 次 |
| 最近记录: |