欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python的函数调用,以及全局变量的问题

程序员文章站 2024-01-22 19:31:28
...

在同一个文件夹下

调用一个函数
delete.py文件(被调用的文件,(记得不要用4.py这样的数字作为被调用的文件否则无法调用,执行文件可以,例如下面的sky.py可以改为4.py))

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

sky.py文件

import delete
delete.add(1,2)

或者

from delete import add
add(1,2)

调用一个类

delete.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))

sky.py文件

from delete import A
a=A(2,3)
a.add()

或者

import delete
a=delete.A(2,3)    # 这个也是一个传参的手段
a.add()

在不同文件夹下

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

import sys
sys.path.append(r'E:\PythonProject\winycg')
'''python import模块时, 是在sys.path里按顺序查找的。
sys.path是一个列表,里面以字符串的形式存储了许多路径。
使用A.py文件中的函数需要先将他的文件路径放到sys.path中'''
import A
 
a=delete.A(2,3)
a.add()

其他补充:

delete.py文件(被调用的文件)

def app_lost(x):
    print('%s : Hello !'%x)
    print(3)
a='Matting'
app_lost(a)
print(4)

sky.py文件

from delete import app_lost
k='Karry'
print(1)
if __name__ == "__main__":
    app_lost(k)
    print(2)

执行结果为
Matting : Hello !
3
4
1
Karry : Hello !
3
2
如果不想执行delete的其他东西,只想用它的函数那么就要封装

def app_lost(x):
    print('%s : Hello !'%x)
    print(3)
a='Matting'
if __name__ == "__main__":   # 封装,只有自己执行这个文件才会执行下面的语句
    app_lost(a)
    print(4)

参考:https://blog.csdn.net/winycg/article/details/78512300