计算器:
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":[]}foriinv1:ifint(i) > 66:
dicNum["k1"].append(i)else:
dicNum["k2"].append(i)PRintdicNum["k1"]printdicNum["k2"]printdicNum
v2 = [11,22,33,44,55,66,77,88,99,90]
dicNum={}foriinv2:ifint(i) > 66:if"k1"indicNum:
dicNum["k1"].append(i)else:
dicNum["k1"] =[i]else:if"k2"indicNum:
dicNum["k2"].append(i)else:
dicNum["k2"] =[i]printdicNum["k1"]printdicNum["k2"]
collection默认字典(设置字典的默认格式) defaultdic有序字典 orderdic计数器counter队列 - 双向队列#默认字典myDict =collections.defaultdict(list)
myDict["k1"].append(1)printmyDict["k1"]
#有序字典 orderdict
有序字典是在字典里面维护了一个列表
#计数器counterlist1= [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)printc2
Queue队列-单向队列 FIFO 弹夹importQueue
q=Queue.Queue()
q.put(2)
q.put(3)
q.put(23)printq.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]forminrange(len(li)-1):forninrange(m+1, len(li)):ifli[m]>li[n]:
temp=li[n]
li[n]=li[m]
li[m]=tempprintli
函数代码块,按功能划分,
函数式编程和面向过程编程的区别:函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可面向对象:对函数进行分类和封装,让开发“更快更好更强...”函数的定义主要有如下要点:def:表示函数的关键字函数名:函数的名称,日后根据函数名调用函数函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...参数:为函数体提供数据返回值:当函数执行完毕后,可以给调用者返回数据。
内置函数vars() == 当前模块的所有变量__doc__ 注释本文件
__name__ 本文件名,如是当前执行文件,内容是__main__
__file__ 文件路径
all() 只要有空,返回Falseany() 只要有一个是真,返回Truereload() 重新加载引用文件
自定义函数
def定义函数的关键字函数名函数声明函数参数形式参数,形参实际参数,实参动态参数deffunc(*args):printargs
li= [11,22,33,444,332,112]
func(*li)
接受多个参数内部自动构造元组调用时,加*避免自动构造元组动态参数要调用字典的时候,需要用到**
deffunc(**args):printargs
dic= {"echo":123,"rep":234}
func(**dic)
默认参数不传使用默认值
函数返回值defemail(arg):printargif__name__=="__main__":
cpu= 100ram= 50disk= 500foriinrange(1):ifcpu > 90:
alert="cpu 出现问题"email(alert)ifdisk > 90:
alert="disk 出现问题"email(alert)ifram > 80:
alert="内存 出现问题"email(alert)
导入函数文件操作obj = open("index.txt","r")
obj.seek(10)#定位指针
printobj.tell()#输出指针位置
printobj.read()#输出内容
printobj.tell()
#输出指针位置
r 读
w 写
a 追加
&+
r+ 读写
w+ 类w
a+ 类a
打开文件的模式有:r,只读模式(默认)。w,只写模式。【不可读;不存在则创建;存在则删除内容;】a,追加模式。【可读; 不存在则创建;存在则只追加内容;】"+" 表示可以同时读写某个文件r+,可读写文件。【可读;可写;可追加】w+,无意义a+,同a"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)rUr+U"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)rbwbab