zoukankan      html  css  js  c++  java
  • Python——模块和包

    一、概念

    """
    模块():
    一个python文件,以 .py 结尾,包含python对象定义和语句。
    模块可以定义函数、类、变量,也可包含可执行文件

    导入模块:
    1.import 模块名
    2.from 模块名 import 功能名
    """

    二、具体知识点

    2.1定义别名

      import 模块名 as 别名
      from 模块名 import 功能名 as 别名

      使用别名后,原来的名字被替代

    def t4():
        """定义别名
        import 模块名 as 别名
        from 模块名 import 功能名 as 别名
        """
        import time as tt
        tt.sleep(2)
        # time.sleep(2)     # 使用别名后,原来的名字被替代
        # NameError: name 'time' is not defined
        print('hello')
    
        # from time import sleep as s1
        # s1(2)
        # print('hello')
    

    2.2重名的严重性  

     1 """
     2 导入一个模块,Python解释器对模块位置搜索顺序: 由进及远
     3       1.当前目录
     4       2.搜shell变量PYTHONPATH下的目录
     5       3.查看默认路径,UNIX下,默认一般为/user/local/lib/python
     6 注意:
     7       1.自定义模块不与已有模块名重名,若重复,则无法使用;
     8       2.若自定义于导入的功能重名,则调用后写的功能
     9 """
    10 # import random
    11 # num = random.randint(1, 5)
    12 # print(num)
    13 
    14 # from time import sleep
    15 
    16 # def sleep():
    17 #     print('1')
    18 
    19 # sleep()
    20 
    21 """
    22 扩展:重名的严重性
    23 Python,引用传递数据
    24 1.命名后者会覆盖前者,和模块重名的变量会覆盖功能
    25 """
    26 import time
    27 print(time)         # <module 'time' (built-in)>
    28 # time = 1
    29 # print(time)         # 1

    2.3__all__列表

     1 import math
     2 
     3 __all__ = ['t_1']
     4 # 若有其他文件调用本文件,则只导入t_1()
     5 
     6 
     7 def t_1(a, b):
     8     print(math.fabs(a+b))
     9 
    10 
    11 def t_2(a, b):
    12     print(a * b)
    13 
    14 
    15 # print(__name__)     # __main__
    16 if __name__ == '__main__':
    17     """
    18     测试信息
    19     __name__:系统变量,模块标识符,
    20     值,需根据使用位置来确定
    21     在自身文件中:__main__
    22     在其他文件中:模块名字
    23     main:
    24     """
    25     t_1(1, 2)
    26     t_2(2, 3)

    2.4制作包

     1 """
     2 包:有联系的模块组织在一起,放到同一个文件夹,
     3     并自动创建一个__init__.py文件
     4 制作包:new ——> 包名 ——> Enter ——> 制作模块
     5 导入包:
     6     1.import 包名
     7     2.from 包名 import *
     8 """
     9 import my_module1
    10 
    11 
    12 def t1():
    13     import mypakage.my_module1
    14     mypakage.my_module1.info_print()
    15 
    16 
    17 def t2():
    18     """
    19     必须先在 __init__.py 文件中添加 __all__ = []
    20     控制允许导入的模块
    21     原因:不同模块内可能有相同名字的功能
    22     """
    23     pass
    24 
    25 
    26 from mypakage import *
    27 my_module1.info_print()
    28 
    29 
    30 # if __name__ == '__main__':
    31 #     # t1()
    32 #     t2()

    三、总结

      模块是.py文件,包是包含.py文件的文件夹。

  • 相关阅读:
    Casting
    hdu 1164 Eddy's research I
    hdu 1212 Big Number
    CF271 C. Secret
    hdu 1065 I Think I Need a Houseboat
    单档——状态码显示设置,状态码更改链表更新
    单身金额统计,更新显示到单头
    开窗设计器——条件,参数,返回值接收显示
    单档——单头内容新增、修改后同步更新到其他相关数据表
    TIPTOP之分割split函数方法、getIndexOf、subString、replace、临时表创建;
  • 原文地址:https://www.cnblogs.com/kekefu/p/12346167.html
Copyright © 2011-2022 走看看