第6天

作业:  更新数据库内容 

 思路:    交集    更新              原集合     交集     新集合   =  更新集合

               差集     删除              原集合     差集     新集合   =  删除集合

                           添加              新集合     差集     原集合   =  添加集合 

                          

                 

列表没有 交差集      要转成SET

   old=  set(old.keys())              

   new=  set(new.keys())  

delete_set= old.diferrence(old)

increase_set=new.deferrence(new)

update_set=old.intersection(new)

 

collection 系列:  补充

counter 是对字典的补充, 统计值出现次数,返回一个字典

most_common (n   )         返回频度最高的前n个值

elements()     原生集合元素

update(新数据)        在原数据基础上增加新的统计范围

subtract(新数据)       对新数据 做减法 处理

 

 OrdereDict 有序字典 

   move_to_end ()     把某元素移动到最后     或者最前(false)

pop(self,k, )          按K值删除并返回

popitem(self)    按倒序顺序 删除并返回     ‘栈’模式

setdefult(self,k,d=None)     设置默认值

update()

 

defultdict   默认字典      核心是把Velue变成list格式,   可以使用append直接加入

dIc=collection.defultdict(list)

dic['k1'].append(11)

 

 

nametuple  可命名元祖

把元祖数据 建立名称,可以通过名称进行访问; 但是没提供类, 需要自己创建类才能使用

import collection

mytupleclass=collection.namedtuple('mytupleclass' ,['x','y','z',])        # 创建类的方式

obj=mytupleclass(11,22,33)                                                           #类实例化

内部建立对应关系的字典

 

双向队列     deque()

 append    加单个元素

appendleft

count

extend([] )          

extendleft([] )         

index()

insert(self,index,v)

pop()

popleft()

remove

reverse  反转

rotate       尾部移到队头 ,  即  右拿数据到左侧。

 

单向队列    放在queue内部

import queue        

q=queue.Queue()

阻塞特性,   有内容里面拿,  永远在线等待,多线程可用

 

 

put

get

qsize

 

深浅拷贝 copy.copy()

浅拷贝   copy

深拷贝   deepcopy

赋值     =

 

字符串、数字 :   内存开辟了字符数字池,无论深浅拷贝,都使用同一内存地址。

元祖、列表、字典等: 

    赋值 : 内存地址相同

   浅拷贝:  只拷贝key值, 而对应VALUE值不变;   内存中建立新空间并复制对应key值

   深拷贝: 有多少层地址链接(key)都进行开辟内存空间并保存。

dic={

         cpu:[80,],

         disk:[80,],

         mem:[80,],

}

 print(dic)

new_dic=copy.copy(dic)                                     new_dic=copy.deepcopy(dic)

new_dic[cpu][0]=50                                            new_dic[cpu][0]=50

print(dic)                                                              print(dic)

print(new_dic)                                                     print(new_dic)

两个字典cpu[0]同时改变为50                                新字典cpu[0]改变为50       ,原字典不变

 

函数

def mail():

  ret=true

  try:     # 调试模块

    msg=MIMEText('邮件内容‘,‘plain','utf-8',)

    msg['from']=formataddr(['张三',‘邮件地址’])

    msg['TO']=formataddr('李四’,‘邮件地址’)

    msg['Subject']=“主题”

 

    sever=smtplib.SMTP('smtp.126.com',25)

    sever.login('发件地址’,‘密码’)

    sever.sendmail('发件地址',‘收件地址’,msg.as_string())

    server.quit()

  except:  

    ret=false

  return ret

 

ret=mail()

if ret:

  print("发送成功")

else:

  print("发送失败")

 

 

转载于:https://www.cnblogs.com/lj0303076/p/7457618.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值