zoukankan      html  css  js  c++  java
  • python常有模块:模块、引入语法、两种执行方式、模块搜索顺序

    本文目录:

    一、模块三问、定义及分类
    二、import和from的语法
    三、文件的两种执行方式及搜索顺序
    四、内置函数

    一、模块、import和from的语法

    1.什么是模块

          模块是一堆功能函数的集合体,以文件为载体,以文件名.py为后缀,例如:A.py为文件名
        A为模块名

    2.什么要用模块

        因为在写一个功能代码时,模块可以解决编写过程中,代码过长、杂乱、可读性差、和扩展性差等问题

    3.怎么调用模块

        import为关键字,用于导入模块中的功能
        例如:import time

    4.如何定义模块

       创建一个文件,以py为后缀结尾,然后将功能写入文件中

    5.模块的分类

        自定义模块:第三方模块,由程序员自己编写的

        内置模块:是用C语言编写,后经过python编译器解释而来

        已经编译为DLL C或C++(用不到略去)

        包:其实就是一堆模块组成的文件夹

    二、import和from的语法

    1.当执行import会:

        创建了一个命名空间
        被执行时,会将会将名字和地址对应的关系存在内存地址中
        在执行文件时,创建该名字指向的地址是第一步创立的命名空间

        执行文件和被导入的模块相互独立存在,和调用者无关

    2.import的其他写法

        import xxx as xxx
        将模块名重命名,一般是简化名称,方便读取

        import xxx,xxx
        一次性导入多个模块

        from xxx import xxx
        从某个模块中导入某项功能

        from xxx import xxx,xxx,xxx
        从某个模块中导入多个功能

        from xxx import *
        从某个模块中导入所用功能
        __all__用于控制 使用者可以使用的那些功能

        from xxx import xx as xx
        从某个某块中导入功能重新赋予名字

        注意:from与import除了导入的功能和名称,其他特性一致

    三、文件的两种执行方式和搜索顺序

    1.文件的两种执行方式

        执行文件的方式(右键run)
        调用import某个文件功能

    2.如何知道当下文件是执行文件还是被调文件

        __name__这个名称 可以获当前执行状态

        如果是__main__说明当前是执行文件
        否则说明是作为模块被调用文件

        表达式代码

          if__name__=="__main__":
            print("作为执行文件“)
          else:
            print("作为模块daoru“)

        注意:在一次重复导入模块的某个功能时,只会被执行一次

    3.模块的搜索顺序

        内存中已经加载——》内置模块——》sys.path
        通常我们编写编码时,会将自己写的模块的路径加入到sys.path中

    四、内置函数

    print(abs(-200))#abs绝对值
    print(all([1,2]))#全部的意思,全部为真返回True
    print(any([1,0]))#只要一个为真,返回True
    print(type(1))#返回这个对象的类型
    print(bin(11))#二进制
    print(oct(12))#八进制
    print(hex(13))#十六进制
    print(bool(""))#返回布尔值
    def f():
        pass
    print(callable(f))#是否可以被调用的意思,able是否可以的意思
    print(chr(97))#吧整数变为unicode字符
    print(chr(ord('')))#把字符变为utf-8码返回
    print(type(eval("{'name':'egon'}")))#执行代码后返回执行后的类型
    print(exec("1+2*3"))#执行代码后不返回结果
    excuteable=compile("1+2*3","","eval")#将一个表达式 或时 一堆代码 编译成一个可执行对象
    print(eval(excuteable))

      

          

        

        

  • 相关阅读:
    一个SQL语句实现的统计功能
    VS2005中的全角BUG(C#代码)[转]
    Observer Pattern(观察者模式)及其在C#中的实现
    我觉得VS2003中最差的地方
    上班了,有点困:(
    GPRS
    今天是郁闷的一天
    今天上午给公司老总演示了SharePoint项目的产品雏形
    介绍一下SharePoint
    SharePoint Service里面的东东真让人头疼
  • 原文地址:https://www.cnblogs.com/wuzhengzheng/p/9773856.html
Copyright © 2011-2022 走看看