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的提示,那就说明装好了)

  • 相关阅读:
    系统设计与架构笔记:对我新公司网站的技术架构初解
    与国内某知名互联网公司交流后的心得
    系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
    为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
    我设计的网站的分布式架构
    Python Day 46 前端 、HTML5介绍、HTML标签、标签的嵌套规则、CSS3介绍、CSS代码中书写位置(重点)、CSS基础选择器、
    Python Day 45 手撸ORM框架
    Python Day 44 Mysql数据库备份及优化(六)
    Python Day 43 Mysql基础语法(五)sqlalchemy、创建表、增删改查、高级查询操作、正向反向查询
    Python Day 42 Mysql基础语法(四)、存储引擎、索引、慢日志查询、普通日志记录(general log)、权限管理、explain工具
  • 原文地址:https://www.cnblogs.com/lc-snail/p/13276396.html
Copyright © 2011-2022 走看看