Python大全
常用的数学模块sqrt,cos,sin 在math模块中
**乘方
字符串
ord函数返回字符的ASCII码整数
用双引号或单引号表示字符串(不可修改)
三个连续单引号表示多行字符串
*复制 +连接
[start:end:step]切片
in :某个元素是否存在
range函数返回range类型的对象,可以直接当做序列用,也可以转换为list或者tuple等容器类型
- tuple(range(10))
- (0,1,2,3,4,5,6,7,8,9)
split: 分割 返回list ;join: 合并 返回字符
- >>> '-'.join(['one',a,'two'])
- 'one-acs-two'
- >>> 'You are my sunshine.'.split(' ')
- ['You', 'are', 'my', 'sunshine.']
- >>>
输入输出
input() 以字符串形式返回
print(1,2,end='',sep=',') 参数end='\n’,缺省为换行,表示打印后以这个字符串结尾,参数sep=' ',缺省是空格,表示变量之间用什么字符串隔开
格式化字符串
'%d %s' % (v1, v2)
赋值语句
级联赋值 x=y=z=1
多个变量分解赋值 a,b=['hello','world']
变量交换 a,b=b,a
自操作 i+=1 n*=45
控制流语句
- if a>10:
- print('great')
- elif a>6:
- print('middle')
- else:
- print('low')
推导式
如果是()则是生成器对象
- def func(*args):#不带key的多个参数
- def func(**kwargs):#key=val形式的多个参数
运行时间检测
- import time
- start=time.time()
- #执行函数
- end=time.time()
- print(end-start)
数据类型
栈
- class Stack:
- def __init__(self):
- self.items = []
-
- def isEmpty(self):
- return self.items == []
-
- def push(self, item):
- self.items.append(item)
-
- def pop(self):
- return self.items.pop()
-
- def peek(self):
- return self.items[len(self.items)-1]
-
- def size(self):
- return len(self.

队列Queue
- class Queue:
- def __init__(self):
- self.items = []
-
- def isEmpty(self):
- return self.items == []
-
- def enqueue(self, item):
- self.items.insert(0,item)
-
- def dequeue(self):
- return self.items.pop()
-
- def size(self):
- return len(self.items)

双端队列Deque
- class Deque:
- def __init__(self):
- self.items = []
-
- def isEmpty(self):
- return self.items == []
-
- def addFront(self, item):
- self.items.append(item)
-
- def addRear(self, item):
- self.items.insert(0,item)
-
- def removeFront(self):
- return self.items.pop()
-
- def removeRear(self):
- return self.items.pop(0)
-
- def size(self):
- return len(self.items)

散列
python 散列函数库 hashlib
包括了md5/sha1/sha224/sha256/sha384/sha512等6种散列函数
update 方法对任意长的数据分部分来计算
- import hashlib
- m=hashlib.md5()
- string0="hello world!"
- string1="this is part #2"
- string2="this is part #3"
- m.update(string0.encode('utf-8'))
- m.update(string1.encode('utf-8'))
- m.update(string2.encode('utf-8'))
- print(m.hexdigest())
- >>>a12edc8332947a3e02e5668c6484b93a
坑点:一定要utf-8,不然默认的Unicode不能使用hash