zoukankan      html  css  js  c++  java
  • 05-Python模块

    、简介

    模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被其他程序导入来使用模块具有的功能。这也是使用python标准库的方式。

    import time
    start_time = time.perf_counter()
    i = []
    for x in range(10):
       if x%2 == 0:
          i.append(x)
    print(i)
    end_time = time.perf_counter()
    print(end_time - start_time)

    首先使用import导入time包,这样意味着我们能够使用time包里的所有公共内容。最后利用time包的相关计时功能计算出该程序执行时长。调用模块可以减少函数的重复使用,精简代码。

    二、from … import … 语句和import语句。

    from sys import argv 表示从sys模块中导入了argv(可以是类,函数,变量等)。

    form sys import *表示从sys模块中导入了所有内容。

    import sys表示引入sys

    例子:

    test001.py中有这样一些函数:

    def add(a, b):
       print(a + b)
    def sub(a, b):
       print(a - b)
    def mul(a, b):
       print(a * b)
    def divide(a, b):
       print(a / b)

    test002中三种导入方式

    1from sys import argv 导入

    from test001 import add

    add(10, 5)

    这个操作表示从test001模块中导入add函数,可以直接使用,而不用再重新写函数。

    2. form sys import *

    from test001 import *
    
    
    add(10, 5)
    sub(12,6)
    mul(12,0.3)
    divide(1,5)

    该操作表示从test001中导入例如所有函数功能,我们能够看到,在test001中的四个函数我们都能够使用。

    import test001
    
    
    test001.add(10, 5)
    test001.sub(12,6)
    test001.mul(12,0.3)
    test001.divide(1,5)

    使用import test001导入内容时,要指定模块的那个功能,否则系统会报错。

    fromimport注:相当于导入的是一个文件夹中的文件,是个绝对路径。而import 模块:相当于导入的是一个文件夹,是个相对路径。因此在使用模块中的函数时一定要指定是那一个模块。

    三、__name__属性

    在每一个模块中都会有一个__name__属性,表示这个主程序在当前模块程序,但当导入到其他模块时,主模块不执行。

    if __name__ == “__main__”:

      print(’当前模块执行’)

    else

      print(‘在其他模块导入当前模块时执行’)

     

     

    每个模块都有一个__name__属性,当其值是”__main__”表示模块自身在执行否则被引入

    __name____main__都是双下划线,并且都是英文符。

    四、dir函数

    内置的函数 dir() 可以找到模块内定义的所有名称。以一个字符串列表的形式返回

     

    导入sys模块后,我们能看到sys的相关属性列表,它返回的是当前模块的属性列表。当我们重新定义一个变量a,并且用dir()查看时,我们得到了当前模块中定义的属性列表。使用del删除a后,重新查看,我们能够看到其中存在的区别。

    python

    包是模块的文件夹,有一个特殊的__init__.py 文件,用来表明这个文件夹是特殊

    的因为其包含有Python 模块。包仅仅是为了方便层次化地组织模块。

    blog/

      __init__.py

      A/

        __init__.py

        test.py

      B/

        __init__.py

     

    如上面所示,在这个例子中,有三个python包,blog/叫做顶层包,A/B/叫做子包。test.py表示子包下的python模块。

    包的导入(导入test模块为例)

    import blog.A.test /

    from blog.A import test

    这两种方式都是表示导入A包下的子模块。如果要导入模块下的某一函数,则应该这样做:

    from blog.A.test import add

    表示导入test模块中的add函数

  • 相关阅读:
    聊聊自定义实现的SPI如何与spring进行整合
    聊聊读源码这件事
    聊聊自定义SPI如何使用自定义标签注入到spring容器中
    聊聊如何自定义数据脱敏
    聊聊自定义SPI如何与sentinel整合实现熔断限流
    排查not eligible for getting processed by all BeanPostProcessors
    SqlServer 数据脱敏脚本
    WPF 窗体使用 Show() 单个显示并设置弹窗相对于主窗体位置
    【SQLite】获取插入 ID 的几种方式
    Winform DataGridView 行单元格增加自定义 ToolTip
  • 原文地址:https://www.cnblogs.com/clearlie/p/13182240.html
Copyright © 2011-2022 走看看