python基础概念,,2016.5.211


2016.5.21

1. 一切皆对象:

在python中都是对象,对象类型的赋值类似于 c 语言的指针

2.数字类型

decimal:

将相应的函数改名使用:from decimal import Decimal as D    eg:D(‘0.3‘)/D(3)统计运行时间:python -mtimeit -s "from decimal import Decimal as D"        D(‘1.2‘)+D(‘3.4‘)        由此可以发现decimal非常地耗费时间

常用库:

dir(math)  help(math)  #z:上一页  w:下一页   q:退出math:    import math    math.pi    math.sprt(80)    math.log10(2**1000)    math.pow(x,y)    math.factorial(x)   #连乘random:    import random    random.random() #0~1之间的随机数    random.choice([1,2,3,4])    random.randint(a,b)         random.uniform(a,b)    random.gauss(mu,lamda)numpy:    产生数组和矩阵,正太分布的随机数    矩阵运算,求逆,转置等scipy:拟合,线性插值,样条插值,积分,微分... 

3.字符串

切片,索引

常用方法集合:

+ * s.upper() s.find(‘f‘) s.replace(‘python‘,‘java‘)  print "%s like %s" %(‘we‘,‘python‘)

import re:regular expression

^ start$ end. except+ 1-inf* 0-inf? 0-1[] or{} repeat[^] not| or\w  [a-zA-Z0-9_],  (not)\W\d  [0-9],  (not)\D\s  [ \t\n\r\f\v],   (not)\S\b  word boundary\B  not \b\A  input start, ^\Z  input end, $*  0~inf greedy+  1~inf greedy*?  0~inf non-greedy+?  1~inf non-greedy()  group #用于区分域名之类的有帮助(?P<name>pattern)等价(re.X:去掉中间的空格,换行符和注释等,还有其他的编译选项):a = re.compile(r"""\d +  # 整数部分                   \.    # 小数点                   \d *  # 小数部分                """, re.X)b = re.compile(r"\d+\.\d*")

4.日期和时间

datetime:

time:

这个部分暂时不用太细致,之后用到的时候再直接用就可以了

2016.5.22

5.列表

切片,索引,引用

常用操作:技术分享

6.元组

不可变的列表:不可原处修改

常用操作: 转换tuple 计数count + *

7.字典

key-value:关键字和值之间相对应

常用操作:keys values get update del clear 嵌套

特点:没有顺序的数据结构,类似于c中的散列表,适合插入查询操作key为不可变对象

8.文件

常用操作:

open(path,‘r‘)  #r:r w aread readline write close   中文支持:import codecsf=codecs.open(filename,mode,encoding)文件操作:import osos.path.exists(filename)os.rename(old,new)

shelve库:

import shelveD = Shelve.open(file)   #读到字典中

Pickle/cPickle #cPickle更底层所以更快

import cPicklef = open(file,mode)cPickle.dump(obj,f) #先入先出obj = cPickle.load(f)

9.语句表达式

赋值输入input:raw_input():当作自负串赋给后边的变量            input():运行输入的内容3.x 输出:print([obj,...][,sep=‘‘][,end=‘\n‘][,file=sys.std.stdout])列表解析:    可以去掉列表中的重复元素    可以简洁地用语句表达嵌套循环等,并且相应的时间会减少异常处理:    raise:自己定义errortype的提示信息    assert condition,message:条件触发,触发后打印信息(except中打印),并终止程序    try/except:有异常时执行except    try/finally:无论如何执行 finally

10.高效做事的函数

函数语法定义:    def func_name(arguments):        statement        return x,y    x,y = func_name(para)变量作用域:    local    encloding function locals    global(module)    build-in(python)函数作参数:    把函数作为参数的函数叫做 高阶函数自带高阶函数:    filter,map,reduce

2016.5.23

函数式编程

lambda    用法:lower = (lambda x,y:x if x<y else y) 返回一个函数,简化程序的编写    calc_dict={        ‘+‘:lambda a,b:a+b,        ‘*‘:lambda a,b:a*b,        ‘-‘:lambda a,b:a-b,    }    用法:calc_dict[‘*‘](12,3)    将函数当作数据来使用

回调 callback

把上面的函数式编程的方式中的 lambda 改为 callback 函数,很符合编程标准了就!

闭包和装饰器

闭包:绑定外部变量的函数:    外部变量在内部函数中可以以列表的方式进行访问和改变    当我们采用两层函数的时候是为了更方便地传递参数装饰器:    无嵌套,函数作为返回值    @一个函数....return:在导入的时候就会被运行    里面有一定的学问,以后用到的时候慢慢去理解

2016.5.24

//递归

生成器和yield

迭代器:避免重复计算,只有当需要用到的时候才计算出来。惰性计算    速度简直了,当是大数据的时候,速度可以提升100甚至以上倍数    用 send 方式传送数据

python基础概念

相关内容

    暂无相关文章

评论关闭