首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python -不能在类中调用py文件中的函数?

在Python中,类是一种用于创建对象的蓝图或模板。类中的方法是与该类相关联的函数。通常情况下,我们可以在类中调用其他类的方法,但不能直接调用py文件中的函数。

这是因为py文件中的函数通常是独立的,没有与任何类相关联。要在类中使用这些函数,我们需要将其转换为类的方法或将其包装在类的方法中。

以下是一种可能的解决方案:

  1. 将py文件中的函数转换为类的方法:
    • 创建一个类,并将py文件中的函数复制到该类中。
    • 将函数的第一个参数设置为self,以便在方法内部访问类的属性和方法。
    • 在类中调用该方法。
    • 示例代码如下:
    • 示例代码如下:
  • 将py文件中的函数包装在类的方法中:
    • 创建一个类,并在其中定义一个方法。
    • 在方法内部调用py文件中的函数。
    • 示例代码如下:
    • 示例代码如下:

这样,我们就可以在类中调用py文件中的函数了。请注意,这只是一种解决方案,具体取决于您的需求和代码结构。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python调用自己写py文件

目录 python如何调用自己写py文件呢? 如果是不同目录怎么调用呢? 如果需要调用多个文件在多个目录呢?...关于__init__.py解释 关于sys.path解释 ---- python如何调用自己写py文件呢?...__.py解释 作用是将文件夹变为一个Python模块,导入包时,事实上是导入了它__init__.py文件 __init__.py 文件可以为空,但是也可以添加如下两个功能 1.初始化包各个模块...Python解释器) 理解为后缀就是.py、.pyo、.pyc、.pyd、.so、.dll 解释器工作: 1.根据导入文件名创建命名空间(用来访问文件内部属性与方法) 2.在命名空间内执行源代码 3....创建一个源代码文件对象,这个对象引用对应命名空间,管理模块内部函数与变量 4.一个模块可以多次导入,但是后面导入模块只执行第三步 sys.modules可以打印出导入模块名与模块对象映射

6.2K40

Python 跨.py文件调用自定义函数说明

一个文件夹内有两个 .py 文件: exe101.py FileWriteAbout.py 我们想在exe101.py文件调用FileWriteAbout.py文件 任意 一个自定义函数。...假如调用FileWriteAbout.py文件函数writeList(): ?...直接在exe101.py输入: import FileWriteAbout # 导入另一个文件 FileWriteAbout.writeList() #调用其中函数名 #或者下面这种,只是调用时省略...py文件名容易导致不同包内函数名字冲突 from FileWriteAbout import * writeList() #直接写函数名 ps: 如果只涉及被调用py文件一个具体函数 就可以将调入形式写成...以上这篇Python 跨.py文件调用自定义函数说明就是小编分享给大家全部内容了,希望能给大家一个参考。

1.7K20

python__init__.py文件作用

__init__.py文件最常用作用是标识一个文件夹是一个 python包。 __init__.py文件另一个作用是定义模糊导入时要导入内容。...当我们使用类似 from package import * 导入语句时候就是在使用模糊导入了,这时包编写者就可以在__init__.py文件定义 __all__ 来限制模糊导入内容。...__init__.py还可以简化导入过程,比如: Django models文件有时会有很多个表,并且每个表都有很多属性和方法,这样就会使得 models文件变得很臃肿。...现在假设我们有一个 User表,按照上面我们方法我们有一个 models文件夹,文件夹里有一个 User.py文件,这个文件里保存着我们 User表。...这时我们就可以在 models里 __init__.py文件中导入 User,这样我们就可以使用原来写法来导入User了。 # models.

1.6K10

Python装饰器在当前声明与调用详解

Python环境:3.7 在Python里声明一个装饰器,并在这个调用这个装饰器。...其中装饰器test是在Test声明并在其方法test_a调用 2....装饰器test内层wrapper函数首参数是self 补充知识:python-函数全局装饰器 有时,比如写RF测试库时候,很多方法都写在一个里。...__name__, res return res 这类装饰器经常会给每个函数都使用 每次都装饰的话,也挺麻烦 python里可以给写个装饰器,所以可以输入一个,返回一个新,这个新拥有原来所有方法...: integer division or modulo by zero 进程已结束,退出代码 1 以上这篇Python装饰器在当前声明与调用详解就是小编分享给大家全部内容了,希望能给大家一个参考

3.7K50

Python相对文件路径调用

前言 先让我们来看看一个用到相对文件路径函数调用问题。...这是因为在函数调用过程,当前路径.代表是被执行脚本文件所在路径。...在这个情况,.表示就是main.py所在路径,所以load_txt()函数会在dir1文件寻找test.txt文件。 那么怎么样才能在函数调用过程中保持相对路径不变呢?...方法 在网上有相当多教程都有提到这个Python相对文件路径问题,但是大部分都没有提及到在这种情况下解决办法。...在以下三个函数,第一个和第二个是大部分教程解决办法,但是这样是错误,因为第一个和第二个函数所获取"当前文件路径"都是被执行脚本文件所在路径,只有第三个函数返回的当前文件路径才是真正、该函数所在脚本文件所在路径

2.4K40

怎么理解Pythonsuper函数

前言 在Python继承,经常能看到super函数存在,那super函数主要作用,以及如何理解和使用好这个函数?本次教程将详细讲解,希望大家看到最后,并按照代码实际操作下。...,所以会去父寻找构造函数。...,用于调用(超)构造函数,并且不会显式引用基。...__init__() #python3写法 不仅仅是用于构造函数 super函数虽常用于构造函数,但是父其他函数一样也是可以用super函数。...super函数和直接调用方法区别 在单继承时,我们看到super和直接调用方法得到结果是一样,只是不会显式引用基。但多重继承就不要了,我把上面的代码进行了修改,我相信你能看懂区别。

82030

Python如何在main调用函数函数方式

一般在Python函数定义函数是不能直接调用,但是如果要用的话怎么办呢?...一般情况下: def a():#第一层函数 def b():#第二层函数 print('打开文件B') b()#第二层函数直接调用 结果显示: Traceback (most recent...() 结果: 打开文件B 如果需要调用同一个函数多个函数: 这里先设置了一个全局变量Position_number,然后在a()说明这个全局变量,再通过全局变量改变,来调用a()不同函数...s() #运行d函数 结果: 打开文件B 打开文件C 打开文件D 补充知识:python学习:解决如何在函数内处理数据而不影响原列表 关于一个如何在函数内修改三阶矩阵。...以上这篇Python如何在main调用函数函数方式就是小编分享给大家全部内容了,希望能给大家一个参考。

9.2K30

python __init__.py 作用

模块 python中一个.py文件就是一个模块 包 指软件包,举例import matplotlib.pyplot(其中pyplot非函数,至少是一个模块或者包),matplotlib就是一个软件包。...举例解释 为了形象地解释,我建立了一个test文件夹,其中一个文件夹A打算建立成一个软件包,然后尝试在B文件run.py文件下导入A包模块。...实验一:包含__init__.py test文件包含文件如下:  此时如果在B/run.py运行以下语句结果为: 语句 运行结果 import A ImportError: No...实验二:A包含__init__.py A文件夹下包含__init__.py,test文件夹结构变为如下:  在B/run.py运行以下语句结果依次列在表: 语句 运行结果 import...实验三:A.A_A也包含__init__.py A文件夹及其子文件夹下都包含__init__.py,test文件夹结构变为如下:  在B/run.py运行以下语句结果依次为: 语句 运行结果

19630

python__init__.py作用

Python,我们经常会看到一个文件夹下有若干个py文件,其中总有那么一个py文件在命名上很特别,就是__init__.py。...该py文件前后各是两个下划线,这是Python官方文档规定,这样命名是有特殊功能。 __init__.py主要是用来初始化Python(package)。...在这里简单介绍一下Python包和模块概念。 Python包(package),是一个目录,该目录下包括了__init__.py文件,以及其他功能py文件。...其中test11.py包含defuli()函数。如果要想在test22.py调用defuli()函数,首先需要在test22.py中导入test1包。...但是如果我们想只导入test11.py导入test12.py和test13.py,此时应该在test1目录下新建__init__.py文件,并加入如下代码。

2.5K41

在ctypesC共享库调用Python函数

概述 ctypes 是Python标准库中提供外部函数库,可以用来在Python调用动态链接库或者共享库函数,比如将使用大量循环代码写在C语言中来进行提速,因为Python代码循环实在是太慢了...大致流程是通过 ctypes 来调用C函数,先将Python类型对象转换为C类型,在C函数做完计算,返回结果到Python。这个过程相对是比较容易。...现在有个更复杂情况,我想要在C代码调用Python某些函数来完成C代码计算,比如在C代码sort函数,采用Python定义函数来进行大小判断。...function_ptr(a); } 这个文件内容很简单,我们定义了一个C函数foo,它调用Python传过来回调函数,直接返回结果。...然后在Python文件定义这个回调函数具体实现,以及调用共享库my_lib.so定义foo函数: # file name: ctype_callback_demo.py import ctypes

29230
领券