如何组织我的函数来获取类似class.draw.line()而不是class.drawLine

时间:2016-02-26 20:59:49

标签: python

我经常使用组织良好的函数,例如pygame.draw.circle。我想在课堂上遵循这个结构,但不知道怎么做。我尝试使用嵌套类,但它只限于它自己的范围,而不是它的父级,这是它运行所必需的。

  1. 如何正确实施此功能?

  2. 或者,除了某些情况外,试图模仿这个是不是一个坏主意?我应该做什么呢?

1 个答案:

答案 0 :(得分:0)

试试这个:

| pygame/
|   __init__.py
|   draw/
|     __init__.py
|     circle.py
|     rectangle.py

或者,你可以这样做。

| pygame/
|   __init__.py
|   draw.py
  

draw.py

def circle(*args):
    """ Draws a circle using *args """
    pass

def rectangle(*args):
    #  and so on
    pass
  

your_project.py

from pygame.draw import circle, rectangle
circle(args)
rectangle(args)

#  or
from pygame import draw
draw.circle(args)
draw.rectangle(args)

#  or
import pygame
pygame.draw.circle(args)

您可能希望在做出最终决定时阅读https://docs.python.org/3/reference/import.html#regular-packages