zoukankan      html  css  js  c++  java
  • python课堂整理23----模块介绍

    一、模块

    概念:一个 .py文件就被称之为一个模块

    分三类•python标准库

         •第三方模块

              •应用程序自定义模块

    例图中的study1.py称为执行文件,一般命名为 bin.py  , cal.py称为被调用文件,里面一般写功能代码

    二、模块的调用方式:

    import的作用:

    ①执行对应的文件(先把调用文件执行一遍)

    ②引入变量名

    导入方式:

    import <模块名>(as  别名)

    from <模块名> import <函数名>(as 别名)

    from <模块名> import * #导入该模块的所有函数

    不推荐第三种,因为模块中的其他函数名可能与执行文件中的函数名冲突,

    程序从上往下执行,下面的函数会把上面的同名函数覆盖掉

    三、模块的调用路径

    import 调用时,只加载执行文件所在的目录

    当调用文件与执行文件不在一个目录下,要用 from表明路径

    包的概念:下面有 __init__.py 文件

    功能:组织模块(还能避免同名模块的冲突,只要在不同路径的包下)

    多层调用:

    模块导入补充(8月24):

    还是那句话,导入模块加载的是执行程序所在的路径,不论多少层,相对路径都是执行程序那个

    如果是在lhf那个文件下执行程序,导入cal时就要直接 import cal

    但是在syudy1那里执行,lhf就得用 from bin import cal

    四、__name__的作用

    __name__在执行文件中打印就是 __main__

    print(__name__)
    

    if __name__ == "__main__":

    如果放到被调用文件时,下面可以随便写测试代码,而不用担心被调用时有影响

    放到执行文件,是不想让这个程序被其他人调用

    #调用文件
    def add(x, y):
        return x + y
    
    
    if __name__ == 'main':
        print("被调用时下面代码不执行")
    
    一个奋斗中的产品小白
  • 相关阅读:
    .NET 2.0泛型集合类与.NET 1.1集合类的区别(二)
    关于插件的好文章
    MemberInfo.GetCustomAttributes和MemberDescriptor.Attributes获取特性的不同
    新一代编程语言
    .NET 2.0泛型集合类与.NET 1.1集合类的区别(一)
    发现一篇关于.NET 2.0中关于事务命名空间的好文章
    C# WinForm控件美化扩展系列之给TextBox加水印
    log4.net
    C# GDI+ 双缓冲
    C# WinForm控件美化扩展系列之ListBox
  • 原文地址:https://www.cnblogs.com/dabai123/p/11294638.html
Copyright © 2011-2022 走看看