跳至主要內容

python语言

pptg大约 2 分钟

1. python和java、golang的对比

pythonJavaGolang
类型动态强类型静态强类型静态强类型
编译/解释解释型编译为字节码编译为机器码
性能较慢较快很快
并发模型多线程(GIL限制)多线程轻量级协程(goroutine)
弱类型
// JavaScript是弱类型语言
let a = "100";
let b = 50;

// 自动类型转换
let result = a + b;  // ✅ "10050" (字符串连接)
result = a - b;      // ✅ 50 (自动转数字计算)

字节码、机器码

机器码能直接被cpu理解、执行,字节码需要经过编译器转换为机器码,然后再执行。

特性字节码机器码
执行方式虚拟机解释执行CPU直接执行
可读性相对可读不可读
平台依赖跨平台平台相关
生成来源高级语言编译编译器生成
执行速度较慢很快

JIT

简单理解一下,JIT就是"边运行边编译,越跑越快"

想象一个翻译-执行的过程:

  • 解释执行:每句话都要现场翻译(Python的方式)
  • 提前编译:整个文档先翻译好(C++的方式)
  • JIT编译:边翻译边记住常用句子,后面直接使用(Java的方式)

GIL

Python的多线程安全锁,但限制了多核性能。

这里python 3.14 摆脱了GIL

2. Python2 和 Python3的区别

python2到python3的一些改变让python更一致、安全

python2python3
printprint "hello"print("hello")
整数除法5/2 == 25/2 == 2.5
range/xrange两个都存在,range立即生成只有range,惰性,比如range(1000),只有用到了后面的,才会生成
错误处理except Exception, e:except Exception as e:

3. Python解释器

Python常见解释器如下:

解释器实现语言特点场景
CPythonC官方标准通用
PyPyPythonJIT编译,速度快性能敏感
JythonJavaJVM运行Java集成
IronPythonC#.Net运行.Net集成
MicroPythonC轻量级嵌入式IOT