zoukankan      html  css  js  c++  java
  • 015模块——起别名

    1、import起别名:通过as关键字可以给模块起别名: 模块名一旦起别名,原模块名就不能再使用

    2、起别名的作用:
    ①可以简化模块名字

      1 import mmmmmmmmmmm3 as my_m3
      2 print(my_m3.num)

    ②可以统一模块功能

    cmd = input('数据库选择 1:mysql | 2:oracle:')
    if cmd == '1':
        import mysql as db
        # mysql.excuse()
    else:
        import oracle as db
        # oracle.excuse()
    db.excuse()

    3 from 导入

    ①语法:可以指明道姓的导入模板中所有想导入的名字

    from 模块名 import 名字1, 名字2, ..., 名字n

    ②from  模块名 import*
    #导入的是模块中__all__这个列表
    1、系统默认该列表不会收录_开头的名字
    2、可以自定义__all__列表来规定外界通过*可以导入的名字

    # 不建议直接导入 *,因为可读性差,且极容易出现变量重名
    # 模块中有 名字a
    from  模块名 import *
    # 可以使用模块中的a
    a = 20
    # 模块中的a就被覆盖了,且在代码上还不能直接看出

    # 其别名
    from 模板名 import 名字1 as 别名1, ..., 名字n as 别名n

    4、自执行与模块区别

    __name__:

    1.在py文件作为模块被使用时,__name__为模块名
    2.在py文件为自执行时,__name__为字符串__main__

    print("共有逻辑")
    if __name__ == '__main__':
        # 所有自执行的逻辑
        print("m6: 我是自执行的")
        a = 10  # 产生的是全局的名字
    else:
        # 所有模块的逻辑
        print("m6: 我被导入执行的")
        print(a)  # 会报错:走else就不可能走if,所以a压根没产生

    总结

    1.模块的概念:一系列功能的集合体
    2.为什么要使用模块,使用模块后的优点:

    ①文件角度考虑代码

    ②拿来主义,提高开发效率

    定义模块:新建一个py文件:文件名就是模块名,尽量采用全英文,可以结合数字与下划线

    使用模块:可以不用起别名,但一旦起别名,原名字就不能再使用了
        -- import 模块名 as 别名
        -- from 模块名 import 名字 as 别名

    自执行文件与模块区分:__name__

  • 相关阅读:
    LeetCode c++-- 118.杨辉三角
    LeetCode c++ --896. 单调数列
    LeetCode c++--1551. 使数组中所有元素相等的最小操作数
    LeetCode c++:1550. 存在连续三个奇数的数组
    LeetCode c++--字符串转换整数 (atoi)
    c++ 顺序容器常用知识总结
    c++基础知识之容器一:顺序容器
    小菜鸡c++ LeetCode初级算法之一——数组(删除排序数组中的重复项)
    JVM
    BATCH、事务、CLOB、BLOB
  • 原文地址:https://www.cnblogs.com/king-home/p/10780073.html
Copyright © 2011-2022 走看看