关于 Python 你需要知道的几个概念
- Python
一种支持面向对象和函数式(面向过程)的高级编程语言
- CPython
由 C 语言编译,一种默认的,通常我们所提及的基于 C 的 Python 的一种实现
- Cython
一种 Python 到 C 的一种转换器,用于对 CPyhton 做模块扩展,在一定程度上可以有一定的性能提升
- Jython
一种设计运行在 Java 平台的 Python 编程语言的实现
- IronPython
一种设计运行在 .NET CLR 平台的 Python 编程语言的实现
- PyPy
具有即时编译(JIT)功能的 Python 编程语言的实现
注:虽然 Python 可以支持多线程的概念,由于 CPython 具有全局解释锁(GIL)的概念,这会导致 CPython 的一个进程最多只能使用一个 CPU 内核,不支持单一进程多任务并行执行。
1. 如何鉴别你所使用的 Python 的实现类型:
>>>import platform
>>>print platform.python_implementation()
CPython
>>>
2. Cython 演示
- 创建 Python 源代码文件 hello.py
#-*- encoding:utf-8 -*- def say_hi():
print 'hello world'
- 使用 Cython 转换 .py => .c
$cython hello.py -o hello.c
- 创建 Setup.py 文件
from distutils.core import setup
from Cython.Build import cythonize setup(name = 'Hello world app',
ext_modules = cythonize('hello.py'))
- 编译并构建
$python setup.py build_ext --inplace
- 安装
$python setup.py install
- 测试
$python -c "from hello import say_hi; say_hi();"
hello world
关于 Python 你需要知道的几个概念的更多相关文章
- 【原】Learning Spark (Python版) 学习笔记(一)----RDD 基本概念与命令
<Learning Spark>这本书算是Spark入门的必读书了,中文版是<Spark快速大数据分析>,不过豆瓣书评很有意思的是,英文原版评分7.4,评论都说入门而已深入不足 ...
- Python 学习笔记(2) - 基本概念、运算符与表达式
字符串 - 可以使用 3 种形式 - 单引号 :「'your string'」 - 双引号 :「"your string"」 - 三引号 :「'''your string''' 或 ...
- python面向对象学习(一)基本概念
目录 1. 面向对象基本概念 1.1 过程和函数 1.2 面相过程 和 面相对象 基本概念 2. 类和对象的概念 1.1 类 1.3 对象 3. 类和对象的关系 4. 类的设计 大驼峰命名法 4.1 ...
- python 全栈开发,Day41(线程概念,线程的特点,进程和线程的关系,线程和python 理论知识,线程的创建)
昨日内容回顾 队列 队列 : 先进先出.数据进程安全 队列实现方式: 管道 + 锁 生产者消费者模型 : 解决数据供需不平衡 管道 双向通信 数据进程不安全 EOFError: 管道是由操作系统进行引 ...
- Python(28)---模块和包的基本概念
一.模块 定义:在python中,一个 .py 文件就称为一个模块 使用模块的好处:最大的好处就是提高了代码的可维护性 分类(三种): python标准库 第三方模块 应用程序自定义模块 模块导入方法 ...
- Python入门之面向对象编程(一)面向对象概念及优点
概念 谈到面向对象,很多程序员会抛出三个词:封装.继承和多态:或者说抽象.一切都是对象之类的话,然而这会让初学者更加疑惑.下面我想通过一个小例子来说明一下 面向对象一般是和面向过程做对比的,下面是一个 ...
- python 中面向对象编程的几个概念
Python super() 函数 super() 函数是用于调用父类(超类)的一个方法. super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会 ...
- python面向对象编程(1)——基本概念,术语,self,构造器
1 python面向对象命名规范 类名通常由大写字母打头.这是惯例标准. 数据值应该使用名词作为名字,方法使用动词加对象的方式,若使用混合记法,则方法名的第一个字母首字母小写,后面的单词的首字母大写 ...
- Learning Spark (Python版) 学习笔记(一)----RDD 基本概念与命令
<Learning Spark>这本书算是Spark入门的必读书了,中文版是<Spark快速大数据分析>,不过豆瓣书评很有意思的是,英文原版评分7.4,评论都说入门而已深入不足 ...
随机推荐
- 根据Expander的IsExpanded属性值的变化动态设计Control的size
简要说明: 当Expander 的IsExpanded属性为“True” 时给控件设个尺寸(此处为高度),当为“False”时给控件设另外一个值. 知识点:数据绑定.Style和Trigger < ...
- php中的引用类型和值类型
PHP中的四种简单类型和复杂类型array都是值类型.同类型间赋值传递的是值,即创建一个副本给新变量. 例如: $int1 = 123; $int2 = $int1;//直接传递的是值,只是做了一个叫 ...
- linux系统如何将系统中的文件名改为英文?
由于我们经常在命令行模式下进入文件,那么中英文的切换常常会影响我们输入的效率. 那么如何将原来的中文修改成英文的字幕呢? 如下图所示: -------------------------------- ...
- MyKTV项目总结
今天和大伙分享一下我的KTV系统,我想大家都有自己独特的魅力,都有自己的风采,都有自己骄傲的一部分. 在这里我就抛砖引玉,聊聊我的KTV项目,希望大家能给出自己的建议.. 首先,我们先了解一下:当我们 ...
- .NET Core Runtime IDentifier (RID) catalog
转载至:https://docs.microsoft.com/zh-cn/dotnet/articles/core/rid-catalog What are RIDs? RID is short fo ...
- Java中的GOF23(23中设计模式)--------- 工厂模式(Factory)
Java中的GOF23(23中设计模式)--------- 工厂模式(Factory) 在给大家介绍工厂模式之前,我想和大家聊聊面向对象的那点事,在这里,引入三个概念. 开闭原则(Open Close ...
- 转载 BCS 的好文章 1 - 怎么创建和使用BCS
http://www.sharepointfabian.com/2010/04/16/how-to-create-configure-consume-sharepoint-2010-secure-st ...
- eclipse 设置豆沙绿保护色,保护眼睛
1.菜单栏 windows–>preferences–>general–>editors–>text editors中 在Appearance color options下修改 ...
- Android使用layer-list实现三面边框
layer-list可以将多个图片或形状按照顺序层叠起来 <?xml version="1.0" encoding="utf-8"?> <la ...
- 【读书笔记】iOS-KVC
一,KVC即键/值编码. 二,KVC的基本调用包括-valueForKey:和-setValue:forKey:. 三,对于KVC,Cocoa自动放入和取出标量值.也就是说,当使用setValueFo ...