Python代码组织帮助: importing functions

标签 python module package code-organization

我已经写了一些代码,但它们都位于一个文件中。现在使用它有点烦人,因为它太长了。所以我想我应该把所有的功能放在一个不同的文件中,然后导入它们。我只是不确定执行此操作的最佳方法。

当前代码:

import glob, os
import csv as csv
import pandas as pd
import numpy as np
import sys

def create_list(var):      
    stuff
def store_table(var):
    stuff
def geo_info(var):
    stuff 
def factor_loads(var):
    stuff  
def add_loads(var):
    stuff 
def calc_bypass_stress(var):
    a lot of stuff
def calcloads(var): 
    tons of stuff and calls other functions above    

for i in list:
   for k in another_list:
       calcloads(var)

我在想我可以将它拆分,这样查找和创建表的函数都在 tables.py 中;任何计算东西的东西都在 calc_stuff.py 中,我从 thehead.py 运行所有东西:

tables.py

def create_list(var):      
    stuff
def store_table(var):
    stuff
def geo_info(var):
    stuff
def factor_loads(var):
    stuff
def add_loads(var):
    stuff

calc_stuff.py

def calc_bypass_stress(var):
    a lot of stuff
def calcloads(var): 
    tons of stuff and calls other functions above    

thehead.py

import glob, os
import csv as csv
import pandas as pd
import numpy as np
import sys
from tables import *
from calc_stuff import *

for i in list:
   for k in another_list:
       calcloads(var)

一些问题:

1) 这行得通吗?

2) 我几乎所有的函数都使用了 Pandas、Numpy 等的东西。我需要在每个 .py 文件中导入这些包吗?或者只是在 thehead.py 中?

3) 从 thehead.py 我正在调用位于 calc_stuff.py 中的函数 (calcloads),它使用位于在 tables.py 中。我是否应该将所有函数保存在一个文件中,而不是将函数拆分到不同的文件中?

最佳答案

  1. 是的。
  2. 您需要在每个 .py 文件中导入包。
  3. 将函数拆分到不同的文件中不是问题。如果您的文件变得很长,这绝对是个好主意。

关于Python代码组织帮助: importing functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35106413/

相关文章:

ios - 如何构建适用于 iOS 和 macOS 的混合包?

r - 如何找出 R 中加载的包版本?

python - 使用子进程重定向 shell 输出

python - 如何将 moderngl fbo(帧缓冲区对象)读回 numpy 数组?

python - 如何将 cygwin 样式路径 (/cygdrive/) 和 Windows 版本的 Python 结合起来?

javascript - Haxe -> CommonJs (NodeJs) 样式输出的 Javascript 目标

python - 请求 : cannot download zip file properly with verify is False

javascript - Node.js:如何跨模块发送事件

c - Windows 上带有 DLL 的动态模块

java - 无法创建包 IntelliJ IDEA