您的位置:首页 > 其它

2015-11-08 第三天

2015-11-11 21:51 246 查看
计算器:

numx = "3 * 5 /-2 -(8*3/(20+3/2-5) + 4 /(3-2) * -3 ) "


有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66 , 'k2': 小于66}

v1 = [11,22,33,44,55,66,77,88,99,90]
dicNum = {"k1":[],"k2":[]}

for i in v1:
if int(i) > 66:
dicNum["k1"].append(i)
else:
dicNum["k2"].append(i)
print dicNum["k1"]
print dicNum["k2"]
print dicNum

v2 = [11,22,33,44,55,66,77,88,99,90]
dicNum = {}
for i in v2:
if int(i) > 66:
if "k1" in dicNum:
dicNum["k1"].append(i)
else:
dicNum["k1"] = [i]
else:
if "k2" in dicNum:
dicNum["k2"].append(i)
else:
dicNum["k2"] = [i]
print dicNum["k1"]
print dicNum["k2"]


collection

默认字典(设置字典的默认格式) defaultdic

有序字典 orderdic

计数器 counter

队列 - 双向队列

# 默认字典
myDict = collections.defaultdict(list)
myDict["k1"].append(1)
print myDict["k1"]

# 有序字典 orderdict
有序字典是在字典里面维护了一个列表

#计数器counter

list1 = [11,22,33,44,5544,3322,111]
tuple1 = (11,22,33,44,222,5555,2222)
str1 = "2343252632642362hfidsafhsifoesagoewagewaglsanldsa;lsf;sahflaf;saf;la"
c2 = collections.Counter(str1)
print c2

Queue

队列-单向队列 FIFO 弹夹

import Queue
q = Queue.Queue()
q.put(2)
q.put(3)
q.put(23)
print q.get()

生成器

练习:<br>有如下列表:
[13, 22, 6, 99, 11]

请按照一下规则计算:
13 和 22 比较,将大的值放在右侧,即:[13, 22, 6, 99, 11]
22 和 6 比较,将大的值放在右侧,即:[13, 6, 22, 99, 11]
22 和 99 比较,将大的值放在右侧,即:[13, 6, 22, 99, 11]
99 和 42 比较,将大的值放在右侧,即:[13, 6, 22, 11, 99,]

13 和 6 比较,将大的值放在右侧,即:[6, 13, 22, 11, 99,]
...

li = [13, 22, 6, 99, 11]

for m in range(len(li)-1):

for n in range(m+1, len(li)):
if li[m]> li
:
temp = li

li
= li[m]
li[m] = temp

print li


函数

代码块,按功能划分,

函数式编程和面向过程编程的区别:

函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可
面向对象:对函数进行分类和封装,让开发“更快更好更强...”

函数的定义主要有如下要点:

def:表示函数的关键字
函数名:函数的名称,日后根据函数名调用函数
函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
参数:为函数体提供数据
返回值:当函数执行完毕后,可以给调用者返回数据。

内置函数

vars() == 当前模块的所有变量


__doc__ 注释本文件

__name__ 本文件名,如是当前执行文件,内容是__main__

__file__ 文件路径



all() 只要有空,返回False
any() 只要有一个是真,返回True
reload() 重新加载引用文件

自定义函数

def定义函数的关键字

函数名

函数声明

函数参数

形式参数,形参

实际参数,实参

动态参数

def func(*args):
print args

li = [11,22,33,444,332,112]
func(*li)


接受多个参数
内部自动构造元组
调用时,加*避免自动构造元组

动态参数要调用字典的时候,需要用到**

def func(**args):
print args

dic = {"echo":123,"rep":234}
func(**dic)


默认参数

不传使用默认值

函数返回值

def email(arg):
print arg

if __name__ == "__main__":
cpu = 100
ram = 50
disk = 500
for i in range(1):
if cpu > 90:
alert = "cpu 出现问题"
email(alert)
if disk > 90:
alert = "disk 出现问题"
email(alert)
if ram > 80:
alert = "内存 出现问题"
email(alert)

导入函数

文件操作

obj = open("index.txt","r")

obj.seek(10)
#定位指针
print obj.tell()
#输出指针位置
print obj.read()
#输出内容
print obj.tell()
#输出指针位置


r 读

w 写

a 追加

&+

r+ 读写

w+ 类w

a+ 类a



打开文件的模式有:

r,只读模式(默认)。
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

r+,可读写文件。【可读;可写;可追加】
w+,无意义
a+,同a

"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)

rU
r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

rb
wb
ab
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: