基本的数据类型
- numbers :不区分浮点,整形。
- Boolean:用 and ,or
- Strings :单双引号括起来
高级数据结构
- Lists : 可以改变存储长度和存储类型
- slicing:访问list的sublist。可通过角标来访问数组。初始化的方法类似于数组。
xs = [1,2, 3];
xs.append();增加元素
xs.pop();删除末尾元素
animals = ['cat', 'dog', 'monkey']
for idx, animal in enumerate(animal):
print('#%d: %s' % (idx, animal))
- loops
for x in xs:
- list comprehensions: 数组转化,直接更改输出的值。
nums = [0, 1, 2, 3] # number list;
square = [x ** 2 for x in nums if x % 2 == 0] # 代码更紧凑
- Dictionaries
存储(key , value)对,类似于MAP类型。循环递归时使用d.item()
d = {'person' : 2, 'cat' : 4, 'spider' : 8}
for animal, legs in d.items():
print('A %s has %d legs' % (animal, legs))
# 输出d中的元素
- set
无序元素集合
animals = {'cat', 'dog', 'monkey'}
for index, animal in enumerate(animals)
print('#%d: %s' % (index, animal))
- tuple
不可变的有序链表,跟list有非常多的相似的地方。唯一的不同是tuple 既可以作为Set的key,又可以作为Set的value。
d = {(x, x+1) : x for x in range(10)} # create dictionary with tuple keys
t = (5,6)
print(d[t]) #tuple as key
function
- def关键字定义函数
def quicksort(arr):
if len(arr) <= 1:
return arr
middle_num = arr(len(arr) //2)
arr_left = [x for x in arr if x < middle_num]
arr_right = [x for x in arr if x > middle_num ]
middle = [x for x in arr if x == middle_num]
return quicksort(arrleft) + middle + quicksort(arr_right)
Dynamic programming language
python为动态语言,书写时会将许多静态语言在编译阶段做的工作提前到编写的时候。
programming paradigms:编程范式
用来划分变成语言的标准