返回列表 发帖

Python3调用另外一个脚本的函数/类

调用另外一个脚本的函数:


例子一:

脚本“yy.py”的内容:
#coding=utf-8

def func1():

        Key_1 = 22
        Key_2 = 66
      
        Result_0  = Key_1 + Key_2
        return Result_0
      
if __name__ == '__main__':

        Result_1 = func1()
        print(Result_1)


直接运行脚本“yy.py”的效果:
C:\Users\jacky>d:

D:\>cd share

D:\share>python yy.py
88

D:\share>



######

脚本“xx.py”的内容:

#coding=utf-8

#添加路径'd:\share'为系统的环境变量,该路径为脚本"yy.py"的所在目录;如果脚本都在同一目录下,以下两行代码则可省略
import sys
sys.path.append('d:\\share')


from yy import func1  #调用脚本"yy.py"的函数func1()

if __name__ == '__main__':

        Result_1 = func1()
        Result_1 = Result_1 + 12
        print(Result_1)


运行脚本“xx.py”的效果:
D:\share>c:

C:\Users\jacky>cd Desktop

C:\Users\jacky\Desktop>python xx.py
100

C:\Users\jacky\Desktop>


笺注:
if __name__ == 'main': 下面的代码只有在直接运行当前脚本文件时,才会被执行; import 到其他脚本文件时是不会被执行的。





############

例子二:

脚本“yy.py”的内容:

#coding=utf-8

def func1():

        Key_1 = 22
        Key_2 = 66
      
        Result_0  = Key_1 + Key_2
        return Result_0
      
def func2():

        Key_1 = 22
        Key_2 = 88
      
        Result_0  = Key_1 + Key_2
        return Result_0



######

脚本“xx.py”的内容:

#coding=utf-8

import sys
sys.path.append('d:\\share')

from yy import func1  #调用脚本"yy.py"的函数func1()
from yy import func2  #调用脚本"yy.py"的函数func2()

if __name__ == '__main__':

        Result_1 = func1()
        Result_2 = func2()
       
        print(Result_1)
        print(Result_2)
       
        Result_3 = Result_1 + Result_2
        print(Result_3)


运行脚本“xx.py”的效果:
C:\Users\jacky\Desktop>python xx.py
88
110
198

C:\Users\jacky\Desktop>








############
############

调用另外一个脚本的类:


例子三:

脚本“zz.py”的内容:

#coding=utf-8

class class1():
       
        def func1(self):
                self.c = 100
                self.func2() #执行func2()
               
        def func2(self):
                print(self.c)
                self.Result_1 = self.c + 100
                print(self.Result_1)


######

脚本“xx.py”的内容:

#coding=utf-8

from zz import class1  #调用脚本"zz.py"的类class1();脚本“zz.py”、“xx.py”在同一目录下

if __name__ == '__main__':

        myclass = class1()
        myclass.func1()


运行脚本“xx.py”的效果:
C:\Users\jacky\Desktop>python xx.py
100
200

C:\Users\jacky\Desktop>





############

例子四:

脚本“zz.py”的内容:

#coding=utf-8

class class1():

        dict_1 =  {'name': 'zhuohua', 'age': 18, 'address': 'China'} #字典
       
        def __init__(self,a,b):
                self.a = a
                self.b = b
       
        def func1(self):
                self.c = self.a + self.b
                return self.c
       
        def func2(self):
                self.Result_1 = self.c + 100
                return self.Result_1

if __name__ == '__main__':

        print('调用类的属性:',class1.dict_1)
       
        print("-" * 10)
       
        print('执行类的方法:')
        myclass = class1(3,5)
        myclass.func1()
       
        Result_2 = myclass.func2()
        print(Result_2)

   
直接运行脚本“zz.py”的效果:
C:\Users\jacky\Desktop>python zz.py
调用类的属性: {'name': 'zhuohua', 'age': 18, 'address': 'China'}
----------
执行类的方法:
108

C:\Users\jacky\Desktop>



######

脚本“xx.py”的内容:

#coding=utf-8

from zz import class1  #调用脚本"zz.py"的类class1();脚本“zz.py”、“xx.py”在同一目录下

if __name__ == '__main__':

        print('调用类的属性:',class1.dict_1['name'])
       
        print("-" * 10)
       
        print('执行类的方法:')
        myclass = class1(10,8)
        myclass.func1()
       
        Result_2 = myclass.func2()
        print(Result_2)


运行脚本“xx.py”的效果:
C:\Users\jacky\Desktop>python xx.py
调用类的属性: zhuohua
----------
执行类的方法:
118

C:\Users\jacky\Desktop>





相关文章:
自定义函数
自定义类

Python3使用多进程
Python3命令集

返回列表