当前位置:   article > 正文

python 一个.py文件如何调用另一个.py文件中的类和函数

python 一个.py文件如何调用另一个.py文件中的类和函数

1、HelloWorld  文件名称  Hello是类

from HelloWorld import Hello

>>> h = Hello()

>>> h.hello()

Hello, world  # 输出结果

HelloWorld.py文件内容

class Hello(object):

  def hello(self, name='world'):

    print('Hellp, %s' %name)

 

 

2、在同一个文件下

1)调用函数:(非类文件)

A.py文件

def add(x, y):

  print ('和为: %d' %(x + y))

B.py文件

import A

A.add(1, 2)

或者

from A import add 

add(1, 2)

 

2)调用类:

A.py文件

class A:

  def __init__(self, xx, yy):

    self.x = xx

    self.y = yy

  def add (self):

    print ('x 和y的和为: %d' %(self.x + self.y))

B.py文件

from A import A

a = A(2, 3)

a.add()

或者

import A

a = A.A(2, 3)

a.add

 

3、在不同的文件夹下

A.py文件的文件路径: E:\PythonProject\winycg

B.py文件:

import sys

sys.path.append(r'E:\PythonProject\winycg')

"""python import 模块时, 是在sys.path里顺序查找的。

sys.path 是一个列表,里面以字符串的形式存储了许多路径。

使用A.py文件中的函数需要先将他的文件路径放到sys.path中

"""

import A

a = A.A(2, 3)

a.add()

 

import time 

import schedule

def search_train(train_number):

  print ("Train number: " + train_number)

schedule.every(10).seconds.do(search_train("23024")) 

while True:

  schedule.run_pending()

  time.sleep(1)

schedule.every(10).seconds.do(search_train("23024")) 这里写法是错误的,fix如下

schedule.every(10).seconds.do(search_train, "23024") 

 

4、举例,设有a.py  HelloWorld.py及b.py,三个文件在同一目录下,求b调用a.py和HelloWorld.py中的函数或他们的类中定义的文件(可以认为:

把文件HelloWorld.py看作一个C#中的命名空间,下面为引入一个类

b:

a.py:                                                                                  HelloWorld.py

 

                                   

运行结果:

    

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/423416
推荐阅读
相关标签
  

闽ICP备14008679号