Python 的import用法,调用自己写的类和函数

本文通过具体的Python代码示例介绍了如何在一个项目中定义函数和类,并在其他文件中导入及使用它们。示例包括在不同文件中定义并导入一个简单的函数与类。

同一个路径下a,b,c三个文件

 

a.py中定义一个函数

 

def foo():
    print("here in foo")
    return

 b.py中定义一个类

 

 

class Person(object):
    def __init__(self):
        print("new person ")

 c.py中调用他们

import a
import b

#调用
a.foo()
aPerson=b.Person()

 或者

from a import foo
from b import Person

#调用
foo()
aPerson=Person()

 

<think>好的,我现在需要回答用户的问题:“Python中如何调用其他自己函数”。首先,我得回想自己学过的Python基础知识,特别是关于函数定义调用的部分。 用户可能是一个刚开始学习Python的新手,所以需要从基础讲起。首先,我应该解释如何定义函数,然后说明如何在同一文件内调用,接着可能需要讲解不同文件之间的调用方法,比如模块的导入。 可能需要注意的地方是,要区分同一文件不同文件的情况,因为两者的调用方式不同。同时,需要提到import语句的不同用法,比如import整个模块,或者从模块中导入特定函数。此外,可能还需要说明路径问题,如果模块不在同一目录下,可能需要添加路径到sys.path中。 另外,用户可能会遇到常见错误,比如函数未定义、模块找不到等,是否需要提及这些错误以及解决方法呢?可能用户需要这些信息,但问题本身是“如何调用”,所以可能不需要深入错误处理,但可以简单提一下注意事项。 然后,结构方面,先分点说明同一文件内的调用,再讲不同文件的模块调用。每个步骤都给出示例代码,这样用户更容易理解。同时,要使用中文,保持语言简洁明了。 还要确保使用的术语准确,比如“函数定义”、“模块”、“导入”等,避免使用不专业的词汇。另外,要检查是否有遗漏的情况,比如函数位于子目录中的情况,但可能对于初学者来说,先掌握基础更重要,复杂的包结构可以暂时不提。 最后,总结一下关键点,帮助用户巩固所学内容。确保回答符合用户的需求,结构清晰,步骤明确,示例正确。</think>在Python调用自定义函数主要分为两种情况:同一文件内调用跨文件调用。以下为具体操作步骤: ### 一、同一文件内调用 1. **先定义后调用** 函数必须在使用前定义,建议将函数定义放在调用位置之前 ```python # 定义函数 def greet(name): return f"你好,{name}!" # 调用函数 print(greet("小明")) # 输出:你好,小明! ``` 2. **多个函数调用顺序** 被调用的辅助函数需要先于主函数定义 ```python def calculate_square(x): return x * x def main_function(): result = calculate_square(5) print("结果:", result) # 输出:结果: 25 main_function() ``` ### 二、跨文件调用(模块化调用) 1. **创建模块文件** 新建`.py`文件(例:`my_functions.py`),编自定义函数 ```python # my_functions.py def add(a, b): """加法函数""" return a + b def multiply(a, b): """乘法函数""" return a * b ``` 2. **导入模块调用** 在目标文件中使用以下方式导入(确保文件在同一目录): ```python # 方式1:导入整个模块 import my_functions print(my_functions.add(3,5)) # 输出:8 print(my_functions.multiply(3,5))# 输出:15 # 方式2:导入特定函数 from my_functions import add print(add(10, 20)) # 输出:30 # 方式3:使用别名(推荐长模块名时使用) from my_functions import multiply as mt print(mt(4, 6)) # 输出:24 ``` 3. **子目录调用技巧** 当模块在子目录时(例如`utils/my_tools.py`): ```python # 在调用文件中添加 import sys sys.path.append('./utils') # 添加子目录到搜索路径 from my_tools import custom_function ``` ### 三、注意事项 1. 文件命名避免使用Python保留字(如`math.py`) 2. 跨文件调用时确保文件扩展名为`.py` 3. 可使用`if __name__ == '__main__':`来隔离测试代码 4. 循环导入会导致程序错误,需避免模块间的相互导入 ### 四、验证示例 创建`calculator.py`: ```python def power(base, exponent): return base ** exponent ``` 在`main.py`中: ```python from calculator import power print(power(2, 3)) # 输出:8 print(power(5, 2)) # 输出:25 ``` 掌握这些方法后,您可以灵活组织代码结构,实现高效的功能复用。建议从简单调用开始实践,逐步掌握模块化开发技巧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值