zoukankan      html  css  js  c++  java
  • python模块那点事

    1.基本概念

    简单的来说一个.py文件就算一个模块,使用模块可以避免函数名和变量名的冲突,利用模块还可以提高代码的重用性。

    在自定义模块名字的时候不能和python自带的标准模块名称冲突。

    2.导入

    (1)方法一

    import model_name [as alias]
    #as alias :相当于给模块起一个小名,在调用模块内函数,变量等的时候,可以用小名
    

    使用import导入模块的方法,是在内存中开辟一个命名空间,并且在开辟的内存空间中加载执行所有的代码块,如果要调用到模块中的某个函数或者变量的话需要加命名空间名字前缀。

    demo

    import demo_model
    #调用模块中的function函数
    demo_model.function()
    #调用模块中的variable变量
    print(variable)
    

    在导入模块的时候可以一次导入多个,中间用逗号隔开,但是不建议使用。

    import model1,model2,model3
    

    (2)方法二

    from model_name import member
    #model_name : 模块名称
    #member : 指定具体的函数,变量或者方法等
    

    使用from...import...是把模块中某个具体的变量,或者函数,加载到当前的命名空间中,在调用的时候,不用加前缀。

    import model_name import fun_name
    #调用导入的函数
    fun_name()
    

    也可以一次导入多个,中间用逗号隔开,如果要导入全部定义,可以使用 * 号

    from  model_name import *
    

    用这种方法导入的是所有的函数,而且不用加前缀就能调用,在使用非自己写的大型模块时,最好不要这么导入,避免函数和变量的覆盖。

    3.模块的搜索目录

    在使用import导入模块的时候,默认情况下会按照以下顺序来查找

    1.在当前目录下找(即执行脚本所在目录)

    2.到PYTHONPATH(环境变量)中找

    3.到Python的默认安装目录中找。

    以上各个目录的具体位置保存在标准模块sys的sys.path变量中

    import sys
    print(sys.path)  #输出具体目录
    '''
    ['', 'D:\python3.8\python38.zip', 'D:\python3.8\DLLs', 'D:\python3.8\lib', 'D:\python3.8', 'D:\python3.8\lib\site-packages']
    '''
    

    4.以主程序的形式执行

    在平日搬砖日常中,我们可能遇到过if __name__=="__main__",这串神奇的代码。

    if __name__ = '__main__':
    	print('我是以主程序的形式运行的,没有被加载到其他程序中运行')
    	
    	
    '''
    以主程序的形式运行的意思就是,这个.py文件不是被其他程序通过上述的两种方发引入到其他程序中执行的,直接就是本程序(本.py文件运行)。
    在if__name__ = '__main__':后面的代码块只有在.py文件是以主程序运行的时候才会被执行,如果是被当成模块导入到其他程序中,那么后面的代码块就不会被执行。
    '''
    

    5.管理第三方模块

    在进行python开发的时候,除了使用python内置的模块和自己写的模块的,还会使用到第三方一些强大的模块,不过第三方的模块需要安装。

    (1)安装

    pip3 install module_name
    

    (2)卸载

    pip3 uninstall module_name
    

    (3)查看

    pip3 list
    

    以上步骤都是在cmd中执行,前提是已经装好了管理工具pip(如果在cmd中输入pip回车,会弹出一些关于pip的提示,那就说明装好了)

  • 相关阅读:
    模仿.Net ThreadPool的线程池控件
    ThreadPool for Delphi
    Thread Pool Engine, and Work-Stealing scheduling algorithm
    Delphi ThreadPool 线程池(Delphi2009以上版本适用)
    Object Pascal对象模型中构造函数之研究
    TExternalThread TThread -- Delphi -- Cannot terminate an externally created thread ?
    Trapping Messages Sent to an Application
    Correct thread terminate and destroy
    Delphi thread exception mechanism
    VCL -- Understanding the Message-Handling System
  • 原文地址:https://www.cnblogs.com/lc-snail/p/13276396.html
Copyright © 2011-2022 走看看