一、基础
-
None
:空值 -
0x
:16进制前缀;0
:8进制前缀 -
x, y = y, x
:交换值 -
#
:单行注释 - False = 0 = [] = {}
运算符
-
+
:可用于数字运算、序列连接、字符串连接 -
*
:可用于数字运算、序列重复、字符串重复 -
**
:幂运算,优先级最高的符号运算符 -
in
:检测是否存在其中,可用于检测字符串、序列、
输出
-
print("My name is Li.")
:打印输出 -
print(r'etc\drivers\hosts')
:打印原始字符串(不转义) -
print(u'1234567')
:打印 Unicode 字符串(3.0后,字符串全都是 Unicode 字符串)
输入
-
input("Your name: ")
:获取输入 -
raw_input("Your age: ")
将接收值转换为字符(常用)(3.0时被重命名为 input)
导入
-
import math
:导入库(模块) -
from math import sqrt as sqrt1
:导入函数并取别名
cmath 为 complete math,其函数可处理虚数等复杂运算
二、通用列表
索引取值
-
numbers[-1]
: 倒数第一个元素 -
numbers[3:6]
:取子集 【得到(6 - 3)个数】 -
numbers[-2:]
:取最后 2个数的子集 -
numbers[:3]
:取前面 3个数的子集 -
numbers[:]
:复制整个序列 -
numbers[0:10:2]
:按 歩长 取数的子集 【分别取得第1,3,5,7,9个数】 -
numbers[0:10:-2]
: 反方向 取得子集 【分别取得第10,8,6,4,2个数】
基本操作
-
numbers[2:2] = list('hello')
:插入 5个元素 -
numbers[3:] = list('world')
:替换第 4个元素及之后的元素 -
numbers[1:4] = []
:删除某些值,效果同del
基本方法
-
append(9)
:追加单个元素 -
count('1')
:统计某个元素的出现次数 -
extend(arr2)
:在 原列表 中追加另一个列表的元素 -
index('hi')
:凭值找出元素的位置,不存在则引发异常 -
insert(3, 'app')
:在指定位置插入元素 -
pop()
:移除元素,默认最后一个 -
remove('app')
:移除指定值的第一个匹配的元素 -
reverse()
:将列表反向存放,无返回值 -
sort()
:排序原列表,可带参(函数)表示排序方式 -
sorted(arr)
:返回已排序的列表副本
元组
- 值不可变
- 用逗号分隔
-
tuple
将序列(列表或字符串等)转换为元组 - 常用于映射和返回值
三、字符串
格式化
format = "Hello, we have %s%% discount. Only $$%s."
values = ('90', 18) # 自动将 18 转换为字符串
print format % values
- 具体类型转换格式:
- d, i 十进制整数
- o 不带符号的八进制
- u 不带符号的十进制
- x, X 不带符号的十六进制
- e, E 浮点数
- f, F 十进制浮点数
- g, G 浮点数,精度值等于 e (指数大于 -4)或 f
- C 单字符
- r 字符串(使用 repr 转换)
- s 字符串(使用 str 转换)
- 转换标志
-
-
左对齐 -
+
加符号 -
0
补够位数 -
''
空格,正数前保留空格
方法
-
find('child')
:找子串,返回所在开始位置,找不到则返回 -1 -
'\'.join(strs)
:用'斜杠'连接序列(元素全是字符串) -
lower()
:返回小写版 -
replace(a, b)
:在字符串中用串 b 替换子串 a -
split(',')
:用'逗号'分隔字符串,存放于序列中 -
strip()
:去除两侧的空格 - ......
四、字典
创建和使用
dict = {'Mon' : 1, 'Tue': 2, 'Web': 3}
dict['Tue']
方法
-
clear()
:清空原始字典的项 -
copy()
:返回副本(浅复制) -
{}.fromkeys(['name', 'age'], 0)
:使用键建立字典,值全为 0(第二参数不填则默认为 None) -
get('age')
:取键值,不存在则返回 None -
has_key('sex')
:检测是否存在键 -
items()
:将字典以列表方式,每项转换为(键,值)形式 -
keys()
:将键转换为列表 -
pop('name')
:返回指定值,删除指定键与值 -
popitem()
:随机弹出值,并删除键 -
setdefault('name', 100)
:获取值,若键不存在则设定键,值为 100(无第二参数则默认值为 None) -
update(dict2)
:利用一个字典更新原字典 -
values()
:将值转换为列表
五、常用函数
min()
max()
len()
-
list('hi')
:返回序列 ['h', 'i'] -
cmp(a, b)
:比较两个数,返回 1,0,-1 -
del a
删除变量 a的值(移除引用) -
exec 'print("Hello world!")'
:执行语句 -
eval()
:求值,同input()
-
pass
:什么也不做,充当占位符
条件、循环
if name == 'John':
print(name)
elif(name == 'Boss'):
print("My lord.")
else:
print("None.")
while i < 100:
i += 1
for num in numbers:
print(str(num) + '\n')
其他比较运算符
-
x is y
:是否为同一对象(同一引用) x is not y
-
x in y
:成员资格运算符 x not in y
迭代工具
names = ['a', 'b', 'c', 'd']
ages = [12, 13, 11, 14]
for i in range(len(names)):
print(names[i], 'is' ages[i], ' years old.')
# 逗号等价于 + ' ' +
for name, age in zip(names, ages):
print(name, 'is' age, ' years old.')
六、抽象
函数
- 支持默认值
-
*param
:单星号,不定量参数 -
**dict
:双星号,传递元组或字典
类
__metaclass__ = type
class Person:
def setName(self, name):
self.name = name
def getName(self):
return self.name
def greet():
print("Hello , I'm %s." % self.name)
man = Person()
man.greet() # 等价于 Person.greet(man)