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来引入

    main.py

        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)
    

    运行现象:33

    至此,可发现test.py中的测试代码,应该是单独执行test.py文件时,才应该执行的,不应该是其他的文件中引用而执行

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

    总结:

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

  • 相关阅读:
    CF528D Fuzzy Search
    P3489 付公主的背包
    有标号的DAG计数
    P4609 [FJOI2016]建筑师
    mds/journal.cc: 2929: FAILED assert解决
    Ceph根据Crush位置读取数据
    关于backfill参数建议
    rados put striper功能的调试
    Cephfs的文件存到哪里了
    为什么删除的Ceph对象还能get
  • 原文地址:https://www.cnblogs.com/loaderman/p/6560596.html
Copyright © 2011-2022 走看看