zoukankan      html  css  js  c++  java
  • 模块制作

      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)
  • 相关阅读:
    新 DAO 访问接口
    TCP/IP协议中的参数说明
    最近在制作一套ASP.NET控件,已初见雏形
    Creating a Dynamic UI with Knockout.js
    数据库性能优化数据库等待队列
    webpy框架
    .Net Web Http状态异常
    一步一步搭架子(完结篇)
    使用yshow分析前端页面性能
    代码混淆、加密
  • 原文地址:https://www.cnblogs.com/FlameLuo/p/9743599.html
Copyright © 2011-2022 走看看