• python快速学习4


    模块

    用编辑器写了,不能用解释器了
    现在遇到一个问题,就是模块无法导入的问题,添加了路径却还是找不到
    原来pycharm自带的就有console,感觉和MATLAB一样
    以后直接在pycharm中的console中写代码

    引用模块

    自己写了个fib_fun的模块
    引用模块方法

    >>> import fib_fun  #这样只是引入了模块,必须通过模块来访问成员
    >>> fib_fun.fib(10)
    1
    1
    2
    3
    5
    8
    >>> fib_fun.fib2(10)
    [1, 1, 2, 3, 5, 8]
    
    >>> from fib_fun import fib, fib2 #这样引入了模块中的成员,就可以直接访问了
    >>> fib(10)
    1
    1
    2
    3
    5
    8
    >>> fib2(10)
    [1, 1, 2, 3, 5, 8]
    >>> from fib_fun import *  #这样直接引用所有成员函数,不建议使用,使代码很难读懂
    

    main
    加入__main__后,py文件作为模块引入的时候不会执行,在外部单独运行的时候就会执行(必须有__main__代码)

    if __name__ == "__main__" :
        import sys
        fib2(int(sys.argv[1]))
    # 直接运行会出现边界错误,因为没有参数,必须在命令行中运行,并且给参数
    

    搜索路径
    sys.path文件是所有python文件的路径,将自己的路径添加进去即可(用append)

    >>> import sys
    >>> sys.path.append('E:python_projectmodule_testmain.py')
    

    pyc文件
    成功编译py文件之后会产生pyc文件,该文件是预编译文件

    标准模块

    python带有一个标准模块库,文档在python库参考手册中

    利用sys.ps1和sys.ps2可以修改主提示符和辅助提示符

    dir()

    >>> dir(fib_fun)
    ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'fib', 'fib2']
    >>> dir()
    ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'fib_fun', 'sys']
    

    包是模块集,每个目录下都必须有__init__.py来作为标志
    比如我安装了一个图像处理包PIL

    >>> import PIL.Image   # 这种调用方式必须写全名
    >>> pic = PIL.Image.open("D:planet.png")
    >>> pic = pic.convert("L")
    >>> pic.save('D:planet3.png')
    >>> pic.save('D:planet3.jpg')
    >>>
    


    可以通过from方式调用子模块

    >>> from PIL import Image 这种调用方式写包名
    >>> pic = Image.open("D:planet.png")
    

    from可以调用子模块或者模块中的函数
    直接import方式只能调用子模块

  • 相关阅读:
    BZOJ 1207
    Poj 2096 Collecting Bugs (概率DP求期望)
    HDU 5159 Card (概率求期望)
    HDU 4649 Professor Tian (概率DP)
    HDU 4652 Dice (概率DP)
    HDU5001 Walk(概率DP)
    C++中的 Round(),floor(),ceil()
    HDU 5245 Joyful(概率题求期望)
    poj 3071 Football (概率DP水题)
    关于一个群号分解的最大质数的求法
  • 原文地址:https://www.cnblogs.com/sslblog/p/6930411.html
Copyright © 2020-2023  润新知