本文目录:

一、模块三问、定义及分类
二、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))

  

      

    

    

python常有模块:模块、引入语法、两种执行方式、模块搜索顺序的更多相关文章

  1. PyCharm上unittest 测试用例两种执行方式

    每次讲到unittest测试框架的时候,经常有同学在群里反映,为啥我的运行不是按照我往suite里添加的用例顺序执行的,为什么别人的能跑出来报告,我的就不行... 当然,首先确认代码是OK的,如果代码 ...

  2. 导模块的细节:(跨文件导入模块 &模块的两种执行方式) | 包的概念与使用 | 包中的相对导入语法

    今日内容 包: 1. 导入模块的细节 2. 包的概念与使用 3. 包中的相对导入语法 跨文件夹导入模块 1. 假设有一个文件夹a ,a 的下面有一个ma 的模块,如果a文件夹所在目录在环境变量,a文件 ...

  3. 【Shell脚本学习1】Shell简介:什么是Shell,Shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  4. 【转】shell 教程——01 Shell简介:什么是Shell,Shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  5. Shell简介:什么是Shell,Shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  6. shell教程-001:shell简介 什么是shell,shell命令的两种执行方式

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的. Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解 ...

  7. Pycharm上python运行和unittest运行两种执行方式解析

    前言 经常有人在群里反馈,明明代码一样的啊,为什么别人的能出报告,我的出不了报告,为什么别人运行结果跟我的不一样啊... 这种问题先检查代码,确定是一样的,那就是运行姿势不对了,一旦导入unittes ...

  8. Golang两种执行流程以及区别

    Go语言的执行方式有两种,一种是编译后再执行,另一种直接go run执行. 一.先编译后执行 .go文件(源代码)--->go build指令把源代码编译(如果是windows下会编译出一个.e ...

  9. python模块的导入的两种方式区别详解

    Python 有两种导入模块的方法.两种都有用,你应该知道什么时候使用哪一种方法.一种方法,import module,另一种是from module import,下面是 from module i ...

随机推荐

  1. React Native使用Mobx总结

    参考博客: http://www.jianshu.com/p/505d9d9fe36a    这是我看的学习Mobx目前为止觉得最详细学习的博客了. 下面只是记录下我的学习和一些简单的使用: 需要引入 ...

  2. iptable规则的执行顺序

    众所周知,iptable的中包含了各种各样的table和规则链条.这篇博文对规则链的执行顺序做一个简单的介绍. Chain OUTPUT (policy ACCEPT)target prot opt ...

  3. Vue 使用eventBus 实现兄弟组件间的通信

    实现方式:  主要是在相互通信的兄弟组件之中,都引入一个新的vue实例,然后通过分别调用这个实例的事件触发事件广播 和监听来实现通信和参数传递. 需求: a页面tree的增删改后,数据还是之前的老数据 ...

  4. 欢迎关注微信公众号codefans一起交流技术

  5. 【CSS】我的颜色到底听谁的?—— css的层叠性

    我们之前学了很多个选择器,都可以帮我们定位到具体标签上,然后我们在设置样式.但这也不可避免会产生一个问题:如果多个选择器同时指向同一个标签,那么到底该听谁的??? css一定有自己的机制来处理这个问题 ...

  6. Leetcode之动态规划(DP)专题-198. 打家劫舍(House Robber)

    Leetcode之动态规划(DP)专题-198. 打家劫舍(House Robber) 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互 ...

  7. 【VS开发】关于线程安全一些细节体会

    [VS开发]关于线程安全一些细节体会 标签(空格分隔): [VS开发] 利用C++进行GUI界面开发,最大的问题往往是多线程安全问题,由于C++不具备收集内存垃圾的功能,所以必须由程序员负责维护,因此 ...

  8. Android Service 入门

    说明 Service 工作在主进程上.生命周期图 两种状态 Started 比如Activity通过调用startService 方法.一旦被启动(Started),服务就永久在后台运行,即使创建他的 ...

  9. Infix to Postfix Expression

    Example : Infix : (A+B) * (C-D) ) Postfix: AB+CD-* 算法: 1. Scan the infix expression from left to rig ...

  10. Luogu P2495 [SDOI2011]消耗战

    题目 我们可以很快的想到一个单次\(O(n)\)的dp. 然后我们注意到这个dp有很多无用的操作,比如一条没有关键点的链可以直接去掉. 所以我们可以尝试一次dp中只管那些有用的点. 题目给的关键点显然 ...