当前位置: 首页 > news >正文

建设银行在网站上开通短信提醒做网站需要用什么系统

建设银行在网站上开通短信提醒,做网站需要用什么系统,商品展示类网站源码,化妆网站源码1 什么是迭代器#xff0c;生成器#xff0c;装饰器 2 django的信号用过吗#xff1f;如何用#xff0c;干过什么 3 什么是深拷贝#xff0c;什么是浅拷贝#xff0c;如何使用 3.1 浅拷贝 3.2 深拷贝 3.3 扩展(slice操作符和list构造函数) 1 什么是迭代器#xff0c;生成…1 什么是迭代器生成器装饰器 2 django的信号用过吗如何用干过什么 3 什么是深拷贝什么是浅拷贝如何使用 3.1 浅拷贝 3.2 深拷贝 3.3 扩展(slice操作符和list构造函数) 1 什么是迭代器生成器装饰器 迭代一种不依赖于索引取值的方式我们不需要关注它的位置只要能够一个个取值它就称之为迭代-基于索引下标的取值-不依赖于索引没有位置的表示-for循环 next()可迭代对象:可以迭代的(for,next取值的)python中的对象称之为可迭代对象在python中可以被for循环或可以 变量.next() 取值的对象称之为可迭代对象有 字典列表字符串元组集合文件对象迭代器可迭代对象调用__iter__就得到了迭代器迭代器有__iter__和__next__方法自定义迭代器写个类类中重写__iter__和__next__方法这个类的对象就是迭代器生成器生成器本质就是迭代器迭代器不一定是生成器函数中只要有 yield 关键字这个函数被调用 函数(),它就变成了生成器生成器表达式也可以做出生成器 (i1 for i in [1,2,3])比如有一堆数据要放到列表中但 你没放而放到了生成器中for 循环生成器---》可以惰性取值可以节省内存在哪里用过生成器-读取文件for循环文件 内部其实就是在用生成器-我猜测django中orm 查询一个表所有内容 Book.objects.all()---内部应该也是一个生成器-redis hascan 和 hsacn_iter-类似于这种场景我是可以用到它的比如我要取数据但是数据量比较大不要一次性把把数据取到内存中而是一点点取值这样就可以把它做成一个生成器可以节约内存 装饰器:本身是一个闭包函数作用是在不改变 被装饰对象源代码和调用方式的基础上为它加入新功能flask的路由就是基于装饰器django的信号也可以用装饰器方式注册django中局部去除csrf认证为接口记录访问日志认证权限装饰器。。闭包函数1 定义在函数内部 2 对外部作用域有引用多了一种给函数传参的方式典型应用就是装饰器所有语言都有闭包函数---》所有语言就可以实现装饰器--》但是没有装饰器的语法糖 2 django的信号用过吗如何用干过什么 1 django信号是什么django提供的一种通知机制他是设计模式观察者模式发布订阅在发生某种变化的时候通知某个函数执行-23种设计模式https://www.cnblogs.com/liuqingzheng/p/10038958.html2 如何用---》内置信号 自定义信号1 内置信号如果是内置信号用起来简单只需要写个函数跟内置信号绑定当信号被触发函数就会执行-绑定信号在django中有两种方式receiverconnect连接2 自定义信号就比内置信号多了两步1 定义信号 2 触发信号 信号.send3 使用场景记录日志book插入一条数据就记录日志用户密码修改发送邮件通知一旦生成订单干xx事数据库中插入数据把数据同步到别的位置4 补充python发邮件参考博客https://www.cnblogs.com/liuqingzheng/articles/10072695.html# 钉钉通知 django集成钉钉通知5 观察者模式也叫发布-订阅模式定义对象间一种一对多的依赖关系使得当该对象状态改变时所有依赖于它的对象都会得到通知并被自动更新6 通过信号实现只要book表插入一条记录redis就跟着同步数据库中id name price publish1 金瓶梅 29 北京出版社redis[{id1name:金瓶梅,price:29,publish:北京出版社}]# bookBook.object.create(**request.data)# 使用信号def xx(*arg**kwargs):if book表conn.rpush(key,json.dumps({})信号.connect(xx) 3 什么是深拷贝什么是浅拷贝如何使用 # 无论深拷贝还是浅拷贝都是用来 复制对象的 # 如果是浅copy只会复制一层如果copy的对象中有可变数据类型修改可变数据类型还会影响拷贝的对象 # 如果是深copy完整复制无论可变或不可变都是创建出新的来以后再改原对象都不会对copy出的对象造成影响浅拷贝和深拷贝是Python中两种常用的复制对象的方法。1 浅拷贝创建一个新对象但是这个新对象只是原始对象的一个引用而深拷贝创建一个新对象并且这个新对象与原始对象没有任何关联。在实际开发中我们需要根据具体的情况选择使用哪种方法。2 如果我们需要复制的对象只包含基本数据类型那么使用浅拷贝就足够了。但是如果我们需要复制的对象包含嵌套的对象那么就需要使用深拷贝。因为浅拷贝只是复制了引用而深拷贝则会递归地复制整个对象树。除了copy()和deepcopy()方法外Python还提供了其他一些复制对象的方法如slice操作符、list()构造 函数等。这些方法也可以用于复制对象但是它们都只能进行浅拷贝不能进行深拷贝。-在使用深拷贝时需要注意以下几点1 深拷贝可能会比较耗时因为它需要递归地复制整个对象树。2 深拷贝可能会导致循环引用的问题。如果被复制的对象中存在循环引用那么深拷贝会进入死循环直到Python的最大递归深度被达到为止。3 深拷贝可能会导致内存占用过高的问题。如果被复制的对象非常大那么深拷贝会占用大量的内存。 3.1 浅拷贝 浅拷贝是指创建一个新对象但是这个新对象只是原始对象的一个引用。 也就是说在新对象中原始对象中的所有元素都只是引用。 如果原始对象中的元素发生了变化那么新对象中的元素也会发生变化。 # 1.1 使用方法 # 在Python中可以使用copy()方法来进行浅拷贝。例如 # 创建了一个包含一个整数和一个列表的列表并使用copy()方法将其浅拷贝到了另一个变量中 list1 [1, 2, [3, 4]] list2 list1.copy() print(list2) # [1, 2, [3, 4]]# 浅拷贝的工作原理 list1 [1, 2, [3, 4]] list2 list1.copy()print(list1:, list1) # list1: [1, 2, [3, 4]] print(list2:, list2) # list2: [1, 2, [3, 4]]list1[2][0] 5 # 修改原始列表中的嵌套列表时新列表中的相应元素也被修改了print(list1:, list1) # list1: [1, 2, [5, 4] print(list2:, list2) # list2: [1, 2, [5, 4]] 3.2 深拷贝 深拷贝是指创建一个新对象并且这个新对象与原始对象没有任何关联。 也就是说在新对象中原始对象中的所有元素都被复制到了新的内存地址中。 如果原始对象中的元素发生了变化那么新对象中的元素不会受到影响。# 使用方法 # 在Python中可以使用deepcopy()方法来进行深拷贝。例如 # 创建了一个包含一个整数和一个列表的列表并使用deepcopy()方法将其深拷贝到了另一个变量中。 import copylist1 [1, 2, [3, 4]] list2 copy.deepcopy(list1)print(list2) # [1, 2, [3, 4]]# 深拷贝的工作原理 import copylist1 [1, 2, [3, 4]] list2 copy.deepcopy(list1)print(list1:, list1) # list1: [1, 2, [3, 4]] print(list2:, list2) # list2: [1, 2, [3, 4]]list1[2][0] 5 # 修改原始列表中的嵌套列表时新列表中的相应元素没有被修改。 print(list1:, list1) # list1: [1, 2, [5, 4]] print(list2:, list2) # list2: [1, 2, [3, 4]] 3.3 扩展(slice操作符和list构造函数) 1 slice操作符slice操作符可以用于复制列表、元组、字符串等序列类型的对象。例如a [1, 2, 3, 4]b a[:]这里b就是a的一个浅拷贝它包含了a中所有元素的副本。由于slice操作符只进行浅拷贝因此如果a中包含了嵌套的对象那么b中的这些对象仍然是a中的引用。2. list()构造函数list()构造函数可以用于将其他序列类型的对象转换为列表并且可以实现浅拷贝。例如a (1, 2, 3, 4)b list(a)这里b就是a的一个浅拷贝它包含了a中所有元素的副本。另外需要注意的是Python中的一些内置类型如int、str、tuple等是不可变类型它们没有提供 修改自身内容的方法。因此对这些类型进行浅拷贝和深拷贝是没有任何区别的。例如a 123b copy.copy(a)c copy.deepcopy(a)这里b和c都是a的副本它们的值都是123。最后需要注意的是在Python中对象的复制和对象的赋值是不同的概念。 对象的赋值只是将一个变量名与一个对象关联起来而不是复制对象本身。例如a [1, 2, 3] b a 这里b只是a的一个别名它们实际上指向同一个对象。因此对a或b进行修改都会影响到另一个变量。 如果需要复制a的副本可以使用a.copy()或者copy模块中的函数。3.4 深入理解赋值、浅copy、深copy ## 赋值 a [1, 2, 3, [5, 6, 67]] b a # 赋值没有涉及到copy print(b) # [1, 2, 3, [5, 6, 67]]b[0] 99 # 只要改b的任何位置a都会跟着改 print(b) # [99, 2, 3, [5, 6, 67]] print(a) # [99, 2, 3, [5, 6, 67]]## 浅copy from copy import copya [1, 2, 3, [5, 6, 67]] c copy(a) c[0] 999 print(c) # [999, 2, 3, [5, 6, 67]] # 如果是不可变类型不会影响 print(a) # [1, 2, 3, [5, 6, 67]]# 如果是可变类型 c[3][1] 666 print(c) # [999, 2, 3, [5, 666, 67]] print(a) # [1, 2, 3, [5, 666, 67]]## 深copy from copy import deepcopya [1, 2, 3, [5, 6, 67]] d deepcopy(a) d[0] 999 print(d) # [999, 2, 3, [5, 6, 67]] # 如果是不可变类型不会影响 print(a) # [1, 2, 3, [5, 6, 67]]# 如果是可变类型 d[3][1] 666 print(d) # [999, 2, 3, [5, 666, 67]] print(a) # [1, 2, 3, [5, 6, 67]]
http://www.dnsts.com.cn/news/233581.html

相关文章:

  • 网站做虚假宣传有没有做处罚移动网站建设作业
  • 网站制作的主要技术北京的网站设计公司
  • 企业为什么需要手机网站系统开发工程师是干什么的
  • 网站用户告知书广东网站建设智搜宝
  • 做网站的软件著作权学校文化建设的网站
  • 新网站建设需要注意wordpress输入xml
  • 创建网站要申请域名吗如何在网站添加代码
  • 网站建设技术开发不付费免费网站
  • 桂林广告公司网站建设网站开发厦门
  • 查网站是否正规wordpress段子主题
  • 网站建设基本要求百度推广 帮做网站吗
  • 电子商务网站业务流程别人用我公司权限做网站
  • 深圳入户申请网站官网机械加工网站模板
  • 网站建设技术外包golang 网站开发 教程
  • 做网站服务器电脑配置安徽省城乡建设厅网站
  • 温州产品推广网站做设计不进设计公司网站
  • 网站开发案例php企业形象设计的意义
  • 手机 网站 翻页 外部教您如何找专业网站制作公司
  • 西安百度网站快速排名网站建设品牌好
  • 列举电子商务网站建设需要的语言织梦源码哪个网站好
  • 建立什么本地网站赚钱腾讯广告联盟
  • 长业建设网站上海网站建设网页制
  • 门户网站的基本特征有建设蒙古语网站
  • 网站维护作用网站建设公司销售技巧
  • 沧州建设厅官方网站教育类网站开发需求说明书
  • 云服务器 可以做网站吗免费网页游戏助手
  • 江苏建设人才网网站电子商务平台
  • 网站建设申请理由国庆贺卡制作图片
  • 学做网站先学什么seo关键词优化培训班
  • 国外做贸易网站ui设计自学教程500集