• Python全栈自动化系列之Python编程基础(模块和包)


    一、模块

    1)定义

    模块:模块是一个Python文件,以.py结尾,包含了Python对象定义和Python函数
    包:Python中的包就是一个包含一个__init__.py文件的目录(文件夹)

    2)模块的作用

      a.模块让你能够有逻辑地组织你的Python代码段
      b.把相关功能的代码写到一个模块里面能让你的代码更好用,更易懂
      c.模块能定义函数、类和变量,模块里也能包含可执行的代码

    注意点:

      ①在进行模块导入的时候,会将导入的模块从上往下执行一遍

      ②模块导入时,同级目录导入,Pycharm有可能识别不了,会对代码进行标红(不代表报错)

        解决方案:从项目目录下,一级一级往下导入

    二、模块导入的方式

    1)导入模块

      import  模块名(注意,不能使用import  包名/文件夹

    2)导入模块中的函数或者变量

      from  模块名  import  变量/函数 (注意,若一起导入函数或变量,可以使用逗号隔开

    3)导入时给导入内容起别名

      from  模块  import  变量或函数  as  别名

      from  文件夹.文件夹  import  模块  as  别名

    4)不推荐使用

      from  模块名  import  *  (导入所有的变量和函数)

      from  文件夹.文件夹  import  * (导入指定文件夹中所有的模块)

    三、问题1:在进行模块导入的时候,会将导入的模块从上往下执行一遍,若有一部分代码在导入时不希望执行应该怎么做?

      问题2:包里面的__init__.py有什么用?


    问题1:可以是魔法变量(python内置的)

      __name__: 如果直接运行文件(如果作为作为启动文件),那么文件的__name__的值为“__main__”

      如果文件(模块)被导入,那么文件中的__name__的值就为模块名

      __file__:代表当前文件所在的路径

    示例:

    def func():
    print("python----func01")
    a = 100
    print("__name__的值",__name__)

    # 这个条件只有在直接运行这个文件的时候才会成立,模块导入的时候这个条件不成立
    if __name__ == "__main__":
    print(a)
    func()
    print("__name__的值",__name__)
    print("__file__的值", __file__)

    运行结果:

  • 相关阅读:
    染色法判定二分图
    Kruskal算法求最小生成树
    Prim算法求最小生成树
    Floyd算法求多源最短路
    spfa判断负环
    java 线程的使用
    java IO基础
    数据库 EXISTS与NOT EXISTS
    数据库 何为相关查询和不相关查询?
    数据库的基础知识
  • 原文地址:https://www.cnblogs.com/bluesea-zl/p/12209819.html
Copyright © 2020-2023  润新知