• python模块


    1.python模块
        模块是函数的扩展,函数是一段程序,模块是一段程序块
        模块都是放在python的lib文件夹下,他封装了一系列功能,我们自定义的模块也是放在这里

      导入模块

      import math
        math.pi
    3.141592653589793

    sys模块    官方提供的自带模块,叫做标准库模块 其中标准库中与系统有关的模块称之为sys模块

    import sys
    sys.version #查看版本信息
    sys.executable#查看当前运行目录
    sys.getwindowsversion()#获取window的信息
    sys.modules.keys()#当前导入模块信息

    ---------------------------------------------------------


    2.字节编译
    执行python的时候,一种是将模块里的内容编译成二进制语言,然后执行这些二进制语言
    另一种是直接执行对应模块的二进制语言程序,第二种省略了编译这一步,所以执行
    速度快而把模块编译成二进制语言程序的这个过程叫做字节编译,这个过程会产生一个
    与编译模块对应的.pyc文件 pyc文件就是经过编译后的模块对应的二进制文件


    运行一个python模块,如果有pyc文件就直接执行,诶有就先编译再执行

    ---------------------------------------------------------------------------------

    3.from..import语句

    import只是导入模块,并不导入方法

    import sys
     sys.version

     from..import既导入模块又导入方法

     from sys import version
     version#不用学sys.version
    '3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)]'
     sys.version
    '3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)]'
    sys.modules.keys()
    
    from..import * #同时导入模块和模块中所有方法

    ----------------------------------------------------------
    4.__name__属性
    主模块
    调用其他函数的函数叫做主函数 ,没有调用其他函数的函数叫做非主函数
    直接被使用的模块叫做主模块,被其他模块调用的模块叫做非主模块

    如果一个模块的__name__属性的值是__main__ 那么就说明这个模块是主模块
    其实我们可以把__name__属性看做一个变量,这个变量是系统给出的,这个变量
    的功能就是判断一个模块是否是主模块

    __name__属性的使用
    testname.py如下:

    print (__name__)
    
    '''
    if __name__=="__main__":
        print("main")
    else:
        print("not")
    '''

    如果我们直接执行testname.py会发现输出了__main__,因为print(__name__)此时__name__作为的是主模块

    if __name__=="__main__":
        print("main")
    else:
        print("not")

    这串代码在直接导入的时候会输出main  在import的时候会输出not

    -------------------------------------------------------------------------
    5.自定义模块:我们写的 保存在lib目录下的py文件就叫做自定义模块
    a.py如下

    i=0#没有默认参数的时候导入都会报错
    j=0#没有默认参数的时候导入都会报错
    #或者 int i 
    #      int j
    def add(i,j):
        k=i+j
        return k
    k=add(i,j)
    print (k)

    使用:

    import a
    a.add(1,2)

    -------------------------------------------------------------------------
    6. dir()函数

    查看指定模块的功能列表,查看任意制定对象的功能列表

     import sys
     dir(sys)
    ['__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', 
    '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache',
     '_current_frames', '_debugmallocstats', '_getframe', '_home', '_mercurial', 。。。]
     
    d=[]
    dir(d)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__'。。。]
  • 相关阅读:
    java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 *&* 解决方法
    一个罕见的MSSQL注入漏洞案例
    工具推荐:ATSCAN,功能强大的Perl脚本扫描器
    突破XSS字符限制执行任意JS代码
    用Nginx分流绕开Github反爬机制
    浅析XSS与XSSI异同
    IE安全系列之——RES Protocol
    跨站请求伪造(CSRF)攻击原理解析:比你所想的更危险
    SQL注入攻击和防御
    SQL 注入,永不过时的黑客技术
  • 原文地址:https://www.cnblogs.com/itliucheng/p/5033073.html
Copyright © 2020-2023  润新知