Python-Cheetsheet

[TOC]

Python 的几个短板

多线程与速度

  • 速度慢:更关注变成速度,而不是运行速度

  • 不支持多核多线程:Python 仅支持单核的多线程

Python 打包与独立可执行文件

Python 很难进行打包部署

Python 运算符

备忘几个不常用到的运算符

算数运算符

运算符

解释

Demo

**

2**10 == 1024

/

除 (结果一定是小数 python3)

8 / 2 == 4.0

//

取整除(向下取整

9//2 == 4

比较运算符

运算符

解释

Demo

<>

不等于

2 <> 1

10 <= num <= 100

链式比较

位运算符

运算符

解释

Demo

&

按位与

|

按位或

^

按位异或 (相同为0,不同为1)

~

按位取反

<<

左移(地位补0)

3 << 2 == 12

>>

右移

15 >> 2 == 3

Python 与 C 的语法差异

数值型 + 1

Python 不能通过 ++a 实现自增。

# C
int a = 1;
queue[++a] # == queue[2]
prinf("%d", a) # a == 2
# Python
a = 1
queue[++a] # == queue[2]
print(a) # 1

其他问题

指针和引用的区别

Pointer variable vs Reference variable

  • 引用更像是一个贴纸,贴纸上写上内存地址空间的别名(非空),然后贴在这块地址空间上,是一次性的(不能重新赋值)

  • 指针首先是一个指针变量,这个变量存储着一个地址空间,这个变量可以为空,也可以重新赋值