您的位置:首页 > 编程语言 > Python开发

python学习笔记

2015-06-02 08:09 585 查看
这个笔记就大致的记了一下一些基本的操作吧, 写的不是很全, 但是自己写了一遍, 感觉对于学python 还是很有帮助的, 但是还是想说,不管什么语言, 一定要多敲代码, 才能有所理解

赋值 
  x1, x2 = 1 , 2  
 x1,x2 = x2,x1 

type(xx)
返回类型

id(内存地址)

切片操作
xx[a:b:c] 
a 起始
b 结束
c 步长  ,c = -1  逆序输出

cmp(a, b)

repr() 或''  
str() 以字符串的方式获取对象的内容

eval() 重新获得对象

abs() 取绝对值
coerce() 数值转换

divmod(a,b)  -> 返回元组(a/b ,a%b) 

chr(x) 转为字符
unichr(x) 
otc(x)  8进制
ord(x) 转为整形

range([start,]stop,[step]) 注意 stop的值取不到
xrange()  生成一个 生成器
//  需导入random模块
randrange()
random()  返回0-1 之间的一个数
randint() 返回整型
uniform()   返回二者间的浮点数
choice()   随机返回给定序列的一个元素

input("sada:")   输入必须是合法字符,但输入数字时有自己的特性 like:'asdas'
raw_input("asdas:")   接受任何输入

序列关系操作符  in  / not in
se *xx  重复
se[x]   某元素
se[start :end]   元素集合
se1 + se2

list(iter)  可迭代对象转列表
tuple(iter) 可迭代对象转元组
len(seq)      返回seq的长度
max/min(iter , key = None ) 返回最大小值  ,如果指定key , key 必须可以传给iter
sum(iter , init = 0 )       总和
reversed(seq)  返回一个逆序的迭代器
sorted(iter  ,func = None , key = None ,reversed = False ) 

zip(it
13eac
0 ,it1 ,it2.....)   打包, 返回多个列表, 每个it 的第i 个元素,组成第i个元组

string 的操作和列表相似, str() 
s.join (xxxx) ,在xxxx中插入s
s.split ('x') 以x 为分隔符 
* S.swapcase()  大小写转换
str 元素不可变
但可以通过排切片操作来达到删除、插入的目的
 s = '%sC%s' % (s[0:2], s[3:])
 list.exend()
 list.append() 

unicode 字符串操作
字符串操作 的函数较多,故省略
u'sdad' 

enumerate(x) 如果要对一个列表或者数组既要遍历索引又要遍历元素时

列表解析
[exp for xx in xaxsa]

字典{}
keys()
d.fromkeys(('x','y'),-1)  值一样
d.keys() 字典的键
 d.value () 
d.items() 
d.pop() 
dict()

集合  
set()   可变集合

frozenset()  不可变集合

s.add('asdsad') , 则加入一个asdsad 
s.update('sadas') ,如果有不同的字符则更新 s
|   联合 
&   交集
-   补集
^   对称差分
当然还有|= , -= 等
s.difference()
s.rmove()

迭代器  
iter()
iter(func , sexa)  #调用h函数 ,直至到sexa

生成器表达式

(exp  for i in xxx )

文件操作

f = open("file" ,'way')

f.seek(a, b )  b = 1 当前  = 0 头  =2 尾
f.tell()
for eachline in f.read()

命令行 
import sys
sys.argv   
import os : 跟系统有关的函数 
os.path
 os.path.expanduser()

 a.strip(xx)  删除开头结尾处的xx
 split()   分割

 filter()   过滤 

错误和异常
捕获所有异常  Exception , e  
try:
pass
except (Exception1,Exception2.....)[, e]:
raise
else:
pass
finally:
pass

raise   引发你自己的异常  
with  上下文管理
assert 断言

函数

def  xx(*tuple , **dict):
'I "m attribution'  
[return xxx]
函数可内嵌
装饰器

在某函数前 @另一个函数 , 相当于继承 
函数属性  
__doc__

函数的形式参数
可以传函数名
def www( args , argv , asdfd = 0 , bsad=1 ):
默认的参数放后面
可变长度的参数

def wwx ([form1_agrs] , *varg_tuple):

匿名函数 lambda  :exp a = lambda argc : expr

内建函数

filter(func , seq)用于过滤
  
  map(expr , seq )

  reduce()  like  func (func (a, b ) ,c) 

偏函数
from operator import add 
from functools import partial 

add1 = partial(add ,1)

全局变量  

global xxx   

闭包

def make_adder(addend):
    def adder(augend):
        return augend + addend
    return adder

p = make_adder(23)
q = make_adder(44)

print p(100)
print q(100)

生成器   
def asdas():
yield xxxx

模块 
import sys
sys.path.append('path')

 from xx import xxx as 
 from xx import *  导入所有的函数 但是不是很推荐

 可从.zip文件导入模块
 globals()
 locals() 

包import xx.xxx.xxx.xxxxx
from xx.x.xxx import xxxxxxx

执行环境 

callable(xxx)  看 xxx 是否可以用() 来调用 返回 True/False

compile(string , file|'' , type)  type = eval | exec | single
eval() 表达式求值 
single 是单一可执行语句
exec   多个
都用 exec 执行  
execfile()
exec()执行语句    
input("asdsad")

执行   
os.system()
os.popen() 可以返回文件对象 

os.fork() 
os.exec()

subprocess 

sys.exit)_ 

SystemExit 

正则
|  表示或  : foo|xxx  -> foo , xxx 
.  任何一个字符  .f ->  af ,tf ....
^ 匹配以xx开头的字符串  ^aaa ->aaad ,.....
$ .......结尾。。。。。  aaa$ -> daaa
\basd\b             asd  
\bss                 以ss开头
\Bss                 含有ss
[] 字符类
-指定范围
^否定
........
match() 
serch()
findall()  返回所有匹配的值
subn('x' , 'tihuanhou' , 'string ')   多返回 一个 次数
sub()  
split()
闭包操作符 * + ? {}(N次出现)

线程   threading sys

time.sleep(xx) xx 为秒数 

ctime   输出一个完整的信息 

以下为thread模块(最好不要用此模块) 
thread.start_new_thread (loop , () )

thread.allocate_lock() 分配锁对象
acquire()   获取对象
lock() 锁定
release() 解锁

threading模块 

Thread.start() 
run() 
join() 挂起进程, 直到线程结束
isAlive() 
isDaemon() 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python