zoukankan      html  css  js  c++  java
  • 模块

    包结构

    建包首先建立一个文件夹,文件夹名即为包名,在文件夹中新建一个__init__.py文件,可以为空,也可以写入包的信息,然后在这个文件夹中新建py文件,之后如果要在外面引用该包内的模块,就直接import 模块名(包名为头),调用模块内部函数时,前面要加模块名。包的内部还可以建立文件夹,建立下一层的包,视代码结构而定。

    Python文件名就是模块名,例如如下代码放在test0525.py文件中,因此该模块即为test0525

    import sys
    def test():
        args=sys.argv
        if len(args)==1:
            print('Hello world')
        elif len(args)==2:
            print('Hello,%s'% args[1])
        else:
            print('too many arguments')
    if __name__=='__main__':
        test()
    

    仔细研究上述代码,有助于理解命令行运行py文件的机制。

    在py文件的路径下,命令行执行Python test0525 Kimi,这个时候,Python解释器会把特殊变量__name__赋值为__main__,因此Python解释器在解释时会判断if语句,从而执行test函数,而如果其他模块import test0525则不会执行test,因为__name__不等于__main__,需要调用test才可以执行,因此只有命令行sys模块有一个argv变量存储命令行的所有参数,至少有一个,第一个参数为该py文件的名称,而本例中有两个参数,第二个参数argv[1]是 'kimi'。

    from import 与import的区别

    form A import B:可以直接使用B,B可以是函数也可以是模块 ,A可以是模块也可以是包,而不需要写出完整的模块名

    import B:需要使用完整的模块名

      

  • 相关阅读:
    3组Alpha冲刺5/6
    3组Beta冲刺4/5
    3组Alpha冲刺6/6
    3组Beta冲刺2/5
    3组Beta冲刺3/5
    delegate Demo (一个关于System.Timers.Timer的Demo)
    System.Web.HttpException 与 HTTP Error 404.13 Not Found问题解决说明
    常用SQL关于表的操作
    设计模式学习笔记:单例模式
    JS 实践杂记
  • 原文地址:https://www.cnblogs.com/vonkimi/p/6906467.html
Copyright © 2011-2022 走看看