Python解释器
发表于|更新于|python
|总字数:155|阅读时长:1分钟|浏览量:
-
CPython: 官方开发的
Python解释器, 使用C语言开发 -
IPython: 基于
CPython解释器开发的, 在交互方式上有所增强(CPython用>>>作为提示符, 而IPython用In [序号]:作为提示符) -
PyPy: 采用 JIT技术, 对
Python代码进行动态编译(不是解释), 所以可以显著提高Python代码的执行速度 -
Jython: 运行在
Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行 -
IronPython: 运行在微软
.NET平台上的Python解释器, 可以直接把Python代码编译成.NET的字节码
文章作者: Ardenet
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Ardenet's Blog!
相关推荐

2022-04-23
IO编程
由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题。此时有两种策略 CPU等着, 也就是程序赞同执行后续代码, 等数据写入磁盘后再向下执行, 这种模式称为同步IO CPU不等待, 后续代码继续执行, 磁盘慢慢写入, 这种模式称为异步IO 文件读写¶ 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件) 文件对象操作¶ 基本语法: open(filename, 'mode') 完整语法: open(file, mode='r', buffering=-1, encoding=None, errors=None, neline=None, closefd=True, opener=None) 参数: filename–包含了需要访问的文件名称的字符串; mode–打开文件的模式(详解下表); bu...

2022-04-23
模块详解
模块¶ 定义¶ 模块是一个包含所有你定义的函数和变量的文件, 其后缀名为.py 模块可以被其他的程序引入, 以使用该模块中的函数等功能; 这也是使用Python标准库的方法 用法¶ import语句¶ 语法: import module1[, module2[,... moduleN]] 作用: 解释器会在搜索路径下寻找导入的模块, 找到则导入, 找不到则报错(一个模块只会被导入一次, 不论使用了几次import) 搜索路径: 在Python编译或安装时确定的, 被保存在sys模块中的path变量中; sys.path输出的是一个列表, 其中第一项是空字符串, 代表当前目录(运行脚本时, 脚本所在目录) from...import语句¶ 语法: from modname import name1[, name2[,... nameN]] 作用: 从模块中导入一个指定的部分到当前命名空间中 from...import *语句¶ 语法: from modname import * 作用: 把一个模块的所有内容全部导入到当前的命名空间中(PEP8不推荐这种方式) 深入模块¶...

2022-04-23
高级特性
列表生成式¶ 当要生成list时, 可以用list(range(1,11)), 但如果生成[1x1, 2x2,..., 10x10], 一般用循环 12345L=[]for x in range(1, 11): L.append(x * x)print(L) # [1, 4, 9, 16,..., 100] 可以用一行语句替换循环生成上面的list [x * x for x in range(1, 11)] 同时, for循环后面还可以加上if判断 [x * x for x in range(1, 11) if x % 2 == 0] 还可以循环嵌套 for…if/if…else…for…的区别¶ 在使用列表生成式时, 如果在for...后使用if...来限定, 则不加else语句, 因为这个if是一个筛选条件 如果在列表生成式中, 先用if..., 则必须加else..., 因为这表示一个条件语句, 不论前面的表达式是否需要迭代 生成器¶ 通过列表生成式, 我们可以直接创建一个列表; 但受到内存限制, 列表容量有限, 而且我们可能只访问前面的几个元素, 那后面...

2022-04-23
进程与线程
多任务的需求促使进程和线程概念的诞生 而对于多核CPU, 多任务的最简单实现便是将每一个任务分别分配在不同的核心, 此时多个任务真正的同时运行, 这种模式称为并行; 而任务数量远远多于CPU的核心数量, 此时操作系统会让一个核心在多个任务中**“左右横跳”, 实现宏观层面的“同时”, 这种模式称为并发** 对于操作系统而言, 一个任务就是一个进程(Process), 两个进程之间不共享资源, 而在一个进程内部, 共享资源但行为不同的“子任务”便是线程 由此, 可以知道多任务的实现有3种模式: 多进程模式 多线程模式 多进程 + 多线程模式 多进程¶ 多进程的创建一般有以下三种方法 fork() 在Unix/Linux系统下(包括Mac系统)提供了一个fork()系统调用; 这个函数将会被调用一次, 但返回两次, 因为操作系统自动把当前进程(父进程)复制了一份(子进程), 然后分别在父进程和子进程中返回; 子进程永远返回0, 而父进程返回子进程的ID, 此时子进程可以调用getppid()获取父进程的ID(getpid()是获取当前进程的ID) Python的os模块封装了...

2022-04-23
面向对象编程
基本思想¶ OOP把对象作为程序的基本单元, 一个对象包含了数据和操作数据的函数 面向过程的程序设计将计算机程序视为一系列命令的集合, 即一组函数的顺序执行; 而面向对象的程序设计将计算机程序视为一组对象的集合, 而每个对象都可以接收其它对象发过来的消息, 并处理这些消息, 程序的执行就是一系列消息在各个对象之间传递 基础概念¶ 类(classs): 自定义的对象数据类型, 一类对象的抽象模板 方法(Method): 对象对应的关联函数 实例(Instance): 由抽象模板生成的具体对象所以, 面向对象的设计思想是抽象出Class, 根据Class创建Instance 类变量: 定义在类中且在函数体之外的变量; 类变量在整个实例化的对象中是公用的 实例变量: 在类的声明中, 属性是用变量类表示的, 这种变量就称为实例变量 局部变量: 定义在方法中的变量, 只作用于当前实例的类(当前对象) 数据对象: 类变量或实例变量用来处理类及其实例对象的相关数据 方法重写: 对从父类继承的方法的重写或覆盖 基础语法¶ 定义类通过class关键字, 其后紧接的是类名; 之后可以加括号, 在...

2022-04-23
正则表达式
概念¶ 正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的 模式¶ 模式 描述 ^ 匹配字符串的开头 $ 匹配字符串的末尾 . 匹配任意字符 \ 是之后的表示式失效, 仅匹配其字面字符 [...] 用来表示一组字符, 单独列出[amk] 匹配 ‘a’, ‘m’ 或 ‘k’ [^...] 匹配不在[]中的字符 [...-...] 匹配一个范围(如果想匹配一个-, 则可以将其放在括号开头或结尾) * 匹配 0 个或多个表达式 + 匹配 1 个或多个表达式 ? 匹配 0 个或 1 个表达式, 非贪婪方式 {n} 精确匹配 n 个表达式 {n, m} 匹配 n 到 m 次表达式, 贪婪方式( 若无 m, 如{n,}, 则匹配 n 到无穷多个表达式) a | b 匹配 a 或 b (...) 对正则表达式分组并记住匹配的文本 (?imx...) 正则表达式包含三种可选标志: i, m 或 x; 只影...
评论

