• 模块的使用之import/模块的使用之 from import/区分python文件的两种用途


    模块使用之import

    什么是模块?

    模块就是一系列功能的集合体,在python中,一个py 文件就是一个模块,比如moudle.py

    其中模块名moudle

    import time

    三种模块

    python自带的

    ②你自己定义的py文件

    ③别人写好的模块

    内置的和第三方的知道怎么用就可以了

    为什么用模块?

    ①减少重复代码

    ②组织结构更好

    ③拿来主义

    目的:写程序创造价值,尽可能快的提高编程效率

    写个python文件就是定义模块

    使用模块

    import 导入模块

    import spam

    导模块说白了就是在运行模块

    运行python文件

    一运行文件,

    只要执行文件,一定先造内置,结果造全局,

    首次导入模块发生了三件事

    1.创造一个模块的名称空间

    2.执行模块对应的文件,将产生的名字,存放于1和名称空间

    3.在当前执行文件中拿到一个模块名,该模块名指向1的名称空间

    执行文件和被导入模块

    (在哪定义的就在,哪调用)

    模块中功能的执行,始终以模块自己的名称空间为准

    两个完全独立的名称空间

    导一次执行一次

    x=1

    def   f1():

      pass

    import spam

    3、为模块起别名
    import spam as sm
    
    print(sm.money)
    sm.read1()
    

     from import.....

    首次导入模块发生三件事

    1.创造一个模块的名称空间

    2.执行模块对应的文件,将产生的名字,存放于1和名称空间

    3.在当前名称空间中,直接拿到模块中的名字,可以直接使用,不用加任何前缀。

    #注意:同import,执行模块中的功能,始终以模块的名称空间为准

    不理解

    导入第一次已经把内存空间造好了

    import spam

    强调:之后的导入会直接引用第一次导入的结果。不会重复执行文件

    ========================================================

     ========================================================

    为模块起别名

    根据判断的不同用不同的

    engine=input('请输入').strip()
    if engine=='mysql':
        import mysql as db
    elif engine=='oracle':
        import oracle as db
    db.parse()
    

      

    一行导入多个模块尽量不要用,尽量推荐一行一个模块,推荐写成多行

    不用加前缀,也是导入,称之为from.....import.......

    from spam import money,read1

    from ........import........步骤

    1.创建一个模块的名称空间

    2.执行模块的对应文件,将产生的名字存放于1中的名称空间

    提示:from...import与import前两件事情一模一样

    3.在当前名称空间中直接拿到模块的名字,可以直接使用,不用加任何前缀

    import spam

    from spam import money,read1,read2,,change

    print(money)

    print(read1)

    print(read2)

    print(change)

    #spam.py
    print('from the spam.py')
    __all__=['money','read1'] # from .. import *
    spam.py
    print('from the spam.py')
    __all__=['money','read1']# from...import*

    区分python 文件的两种途径

     一个py文件有两种用途

    1.当作一个脚本去执行

    2.被别人当作模块导入使用

    print(_name_)

     __name__的值 (文 件)

    1.在文件被直接执行的情况下,等于'__main__'

    2.在文件被导入的情况下,等于模块名

    模块的搜索路径

    自定义模块

    内置模块

    第三方模块

    1.找内存模块

    2.找内置模块

    3.syspath当中找  syspath的第一个路径是当前执行文件

    import time

    import m1  导入m1的时候m1已经在内存了

    m1.f1()

    time.sleep(15)

    import m1

    m1.f1

    sys.path的第一个值是当前执行的文件夹

    sys.path就是找模块的路径

    \windows

    有转译符号的意思

    sys.path是当前执行文件的文件夹

     import sys

    sys.path.append(r'所在文件夹的路径)

  • 相关阅读:
    Cardiogram
    Increasing Speed Limits HDU
    Beaver Game CodeForces
    C++LeetCode:: Container With Most Water
    C++ leetcode::Reverse Integer
    C++ leetcode::ZigZag Conversion
    C++ leetcode Longest Palindromic Substring
    C++ leetcode Longest Substring Without Repeating Characters
    Faster RCNN
    C++ Leetcode Median of Two Sorted Arrays
  • 原文地址:https://www.cnblogs.com/wangmiaolu/p/8709548.html
Copyright © 2020-2023  润新知