模块制作

Posted flameluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块制作相关的知识,希望对你有一定的参考价值。

  1.定义自己的模块

  在python中,每个python文件都可以作为一个模块。模块的名字就是文件的名字。

  例如有这样一个文件:test.py,在test.py中定义了函数add

def add(a,b)
    return a+b

 

  2.调用自己定义的模块

  在其他文件中可以先import test,然后通过test.add(a,b)来调用;当然也可以通过from test import add来引入

import test
result = test.add(11,22)
print(result)

 

  3.测试模块

  在实际开发中,有时候一个模块,是一个开发人员进行编写,为了让整个模块中的功能都达到想要的结果,有时编程人员会自行在py文件中添加一些测试信息,例如:

  test.py

def add(a,b):
    return a+b

#用来进行测试
ret = add(12,22)
print("int test.py file,,,,12+22=%d" %ret)

   如果此时,在其他py文件中也引入了此文件的话,思考:测试的那段代码是否会执行?

   main.py

import test
result = test.add(11,22)
print(result)

#运行结果:
int test.py file,,,,12+22=34
33

  到这一步,可以发现:test.py中的测试代码,应该是单独执行test.py文件时,才应该执行的,不应该是其他的文件中引用而执行;

  为了解决这个问题,python在执行一个文件时有个变量_name_;

  

def add(a,b):
    return a*b
#用来进行测试
#ret  = add(12,22)
#print(‘int test.py file,,,,12+22=%d‘%ret)

print("in test.py file , _name_is %s" %_name_)

  总结:可以根据_name_变量的结果能够判断出,是直接执行的python脚本还是被引入执行的,从而能够有选择性的执行测试代码

  但是:使用这种方法来选择性的执行测试代码,且是实际开发中常用的,如下所示:

def add(a,b):
    return a*b
#用来进行测试
if _name_ == main
    ret = add(12,22)
    print("int test.py file,,,,12+22=%d" %ret)

 

以上是关于模块制作的主要内容,如果未能解决你的问题,请参考以下文章

如何有条件地将 C 代码片段编译到我的 Perl 模块?

为啥此代码片段返回意外结果?

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

如何将字符串数据从活动发送到片段?

为片段制作自定义列表视图?

如何在片段内制作 Swip ActionBar-Tabs