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

做网站图片链接到天猫学室内设计就是失业

做网站图片链接到天猫,学室内设计就是失业,关键词提取工具,装修公司报价明细表范本文章目录1. 序列__getitem__2. __setitem__3. 抽象基类4. 不要直接子类化内置类型5. 继承顺序6. 重载运算符learn from 《流畅的python》 1. 序列__getitem__ 如果没有 __iter__ 和 __contains__ 方法#xff0c; Python 会调用 __getitem__ 方法#xff0c; 设法让 迭代 和… 文章目录1. 序列__getitem__2. __setitem__3. 抽象基类4. 不要直接子类化内置类型5. 继承顺序6. 重载运算符learn from 《流畅的python》 1. 序列__getitem__ 如果没有 __iter__ 和 __contains__ 方法 Python 会调用 __getitem__ 方法 设法让 迭代 和 in 运算符可用 class Foo:def __getitem__(self, pos):return range(0, 30, 10)[pos]f Foo() print(f[1]) # 10 for i in f:print(i) # 0, 10, 20 # 如果没有 __iter__ 和 __contains__ 方法 # Python 会调用 __getitem__ 方法 # 设法让迭代和 in 运算符可用2. __setitem__ import collectionsCard collections.namedtuple(Card, [rank, suit])class FrenchDeck:ranks [str(n) for n in range(2, 11)] list(JQKA)suits spades diamonds clubs hearts.split()def __init__(self):self._cards [Card(rank, suit) for suit in self.suits for rank in self.ranks]def __len__(self):return len(self._cards)def __getitem__(self, position):return self._cards[position]def __str__(self):return ,.join(str(i) for i in self._cards)from random import shuffledeck FrenchDeck() print(str(deck)) # Card(rank2, suitspades),Card(rank3, suitspades),Card(rank4, suitspades),Card(rank5, suitspades),Card(rank6, suitspades),Card(rank7, suitspades),Card(rank8, suitspades),Card(rank9, suitspades),Card(rank10, suitspades),Card(rankJ, suitspades),Card(rankQ, suitspades),Card(rankK, suitspades),Card(rankA, suitspades),Card(rank2, suitdiamonds),Card(rank3, suitdiamonds),Card(rank4, suitdiamonds),Card(rank5, suitdiamonds),Card(rank6, suitdiamonds),Card(rank7, suitdiamonds),Card(rank8, suitdiamonds),Card(rank9, suitdiamonds),Card(rank10, suitdiamonds),Card(rankJ, suitdiamonds),Card(rankQ, suitdiamonds),Card(rankK, suitdiamonds),Card(rankA, suitdiamonds),Card(rank2, suitclubs),Card(rank3, suitclubs),Card(rank4, suitclubs),Card(rank5, suitclubs),Card(rank6, suitclubs),Card(rank7, suitclubs),Card(rank8, suitclubs),Card(rank9, suitclubs),Card(rank10, suitclubs),Card(rankJ, suitclubs),Card(rankQ, suitclubs),Card(rankK, suitclubs),Card(rankA, suitclubs),Card(rank2, suithearts),Card(rank3, suithearts),Card(rank4, suithearts),Card(rank5, suithearts),Card(rank6, suithearts),Card(rank7, suithearts),Card(rank8, suithearts),Card(rank9, suithearts),Card(rank10, suithearts),Card(rankJ, suithearts),Card(rankQ, suithearts),Card(rankK, suithearts),Card(rankA, suithearts) shuffle(deck) # TypeError: FrenchDeck object does not support item assignment加入__setitem__ def __setitem__(self, key, value):self._cards[key] valueshuffle(deck) print(str(deck)) # 牌被随机打乱了 # Card(rank6, suithearts),Card(rank2, suitspades),Card(rank3, suithearts),Card(rankA, suitclubs),Card(rank7, suitclubs),Card(rankQ, suitdiamonds),Card(rank5, suithearts),Card(rank6, suitspades),Card(rank5, suitdiamonds),Card(rank8, suitdiamonds),Card(rankK, suithearts),Card(rankQ, suithearts),Card(rank8, suithearts),Card(rank3, suitdiamonds),Card(rankQ, suitclubs),Card(rankA, suitdiamonds),Card(rank9, suithearts),Card(rank7, suitdiamonds),Card(rankA, suitspades),Card(rankJ, suithearts),Card(rank3, suitclubs),Card(rank4, suithearts),Card(rankQ, suitspades),Card(rank10, suitdiamonds),Card(rank10, suithearts),Card(rankK, suitdiamonds),Card(rank2, suitdiamonds),Card(rank4, suitspades),Card(rank3, suitspades),Card(rank7, suithearts),Card(rank9, suitclubs),Card(rankJ, suitclubs),Card(rankJ, suitdiamonds),Card(rank10, suitspades),Card(rank4, suitdiamonds),Card(rank7, suitspades),Card(rank9, suitdiamonds),Card(rank2, suithearts),Card(rank6, suitclubs),Card(rankK, suitclubs),Card(rank4, suitclubs),Card(rankA, suithearts),Card(rankK, suitspades),Card(rank2, suitclubs),Card(rankJ, suitspades),Card(rank8, suitspades),Card(rank5, suitspades),Card(rank9, suitspades),Card(rank10, suitclubs),Card(rank8, suitclubs),Card(rank6, suitdiamonds),Card(rank5, suitclubs)或者 在类外打补丁 FrenchDeck.__setitem__ 函数 def set_card(deck, position, card):deck._cards[position] cardFrenchDeck.__setitem__ set_card3. 抽象基类 class Test:def __len__(self):return 24from collections import abcprint(isinstance(Test(), abc.Sized)) # True只要实现了 __len__() 方法就可以被 abc.Sized 识别为子类 4. 不要直接子类化内置类型 class AnswerDict(dict):def __getitem__(self, key):return 24ad AnswerDict(agood) print(ad[a]) # 24 d {} d.update(ad) print(d[a]) # good print(ad) # {a: good} print(d) # {a: good}直接子类化内置类型如 dict、list 或 str容易出错 因为 内置类型的方法 通常会 忽略用户覆盖的方法。 不要子类化内置 类型用户自己定义的类 应该继承 collections 模块 中的类例如 UserDict、UserList 和 UserString这些类做了特殊设计因 此易于扩展 import collectionsclass AnswerDict2(collections.UserDict):def __getitem__(self, key):return 24 ad AnswerDict2(agood) print(ad[a]) # 24 d {} d.update(ad) print(d[a]) # 24 print(ad) # {a: good} print(d) # {a: 24}5. 继承顺序 多重继承的同名方法调用根据类的 __mro__ 属性顺次在类中查找推荐使用 super() 函数 6. 重载运算符 不可变类型一定不能实现就地特殊方法 __iadd__等增量赋值特殊方法 必须返回 self
http://www.zqtcl.cn/news/498486/

相关文章:

  • 后端开发需要掌握哪些知识潍坊优化公司
  • 专业手机网站制作哪家好wordpress wp-polls
  • 网站建设前分析网页制作素材按钮
  • 做视频网站怎么对接云盘松江新城网站建设
  • 温州阿里巴巴网站建设企业宣传片怎么拍
  • 淮阳住房城乡建设局网站阿里巴巴做国际网站要多少钱
  • 电子商务个人网站可以备案吗短网址还原
  • 网站内容由什么组成部分组成部分电子商务网站建设主管的策划书
  • 云服务器安装win系统做网站seo三人行论坛
  • 电气网站设计机械设计软件solidworks
  • 内网网站建设所需硬件设备厦门关键词排名提升
  • 网站动态海报效果怎么做的最专业网站建
  • 学校如何建设网站北京市住房及城乡建设部网站
  • 响应式网站制作流程全国城建培训中心官网查询证书
  • 北京工程建设信息网站中国市场网
  • xml做网站源码免费网站是
  • 中国工商建设标准化协会网站织梦app网站模板
  • 怎么做好网络销售文大侠seo博客
  • wish网站应该怎么做网站建设前规划
  • 网站建设目的是什么建筑机械人才培训网官网
  • 建筑建设行业网站大型购物网站开发
  • 手机网站开发用什么设计之家网
  • 网站开发平台有哪些什么是网络开发
  • 学校网站前置审批网站做哪些比较有意思
  • 怎么给企业做网站学计算机网站建设
  • 网站关键词优化排名技巧aiyuan wordpress
  • 建设工程资质证书二维码扫描网站自己做的网站如何让qq登录
  • 网站域名有效期wordpress 特别慢
  • 建立个人网站服务器如何用dedecms做网站
  • php网站开发实市场推广策略 包括哪些