首页 > 编程语言 >流畅的python学习笔记

流畅的python学习笔记

时间:2024-05-08 18:00:16浏览次数:20  
标签:__ namedtuple 流畅 python self 笔记 rank ._ cards

示例1-1 一摞有序的纸牌

知识点:collections.namedtuple 构建了一个简单的类,表示单张纸牌。

from collections import namedtuple
Card = 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]

  • 使用 namedtuple 构建只有属性而没有自定义方法的类对象。
  • 实例化FrenchDeck类
  • 支持索引切片
    由于__getitem__方法把操作委托给self._cards[]运算符,一摞牌自动支持切片(slicing)。
  • 支持迭代索引

  • 支持in操作符
  • 对牌进行排序

标签:__,namedtuple,流畅,python,self,笔记,rank,._,cards
From: https://www.cnblogs.com/bonne-chance/p/18180441

相关文章

  • +63+条消息++狂神+docker+学习笔记_GaleTeng+的博客+-+CSDN+博客
    +63+条消息++狂神+docker+学习笔记_GaleTeng+的博客+-+CSDN+博客文章目录前言Docker概述1.Docker为什么会出现?2.Docker历史3.Docker能干嘛Docker安装1.Docker的基本组成2.安装Docker3.阿里云镜像加速4.回顾HelloWorld流程5.底......
  • python 构建jenkins job
    学习文档:https://www.cnblogs.com/hujinzhong/p/14593293.htmlhttps://blog.csdn.net/qq_45939519/article/details/121052408官方文档:API参考—PythonJenkins1.8.0文档(python-jenkins.readthedocs.io) 使用Python-Jenkins—PythonJenkins1.8.0文档 impor......
  • Python 将PDF转为PDF/A、PDF/X,以及PDF/A转回PDF
    PDF/A和PDF/X是两种有特定用途的PDF格式,具体查看以下:PDF/A是一种用于长期存档的PDF格式,它旨在确保文档的内容和格式在未来的访问中保持不变。如果您需要对文件进行长期存档,比如法律文件或档案记录,将其转换为PDF/A格式是一个明智的选择。PDF/X是一种用于印刷输出的PDF格式,它旨在......
  • 23种设计模式笔记-结构型模式
    23种设计模式-结构型模式笔记模板模式前提-模式:概念:规则:实现细节:应用场景:示意图:代码实现:创建型模式适配器、桥接、组合、装饰、外观、享元、代理。适配器模式-接口兼容思想概念:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一......
  • [综述阅读笔记]目标检测20年
    目标检测二十年:一项综述摘要—目标检测是计算机视觉中最基本的挑战之一,近年来受到了极大的关注。过去二十年的发展可以视为计算机视觉历史的缩影。如果我们将今天的目标检测视为深度学习技术美学的体现,那么回溯到20年前,我们将见证“冷兵器时代”的智慧。本文广泛回顾了400多篇......
  • DirectAU论文阅读笔记
    TowardsRepresentationAlignmentandUniformityinCollaborativeFiltering论文阅读笔记Abstract现存的问题:​ 现有的研究主要集中在设计更强大的编码器(如图神经网络)来学习更好的表示。然而,很少有人努力致力于研究CF中表示的期望属性,这对于理解现有CF方法的基本原理和设计......
  • Python中级之数据类型的内置方法1(数字类型和字符串)
    【一】数字类型【1】整数类型(int)(1)定义直接用整数定义,整数类型的值不能修改num=6(2)内置方法int.bit_length()#返回整数的二进制表示中最高位的位数,不包括符号和前导零。a=10b=a.bit_length()print(b)#输出4int.to_bytes(length,byteorder,signed)#......
  • Python安装教程手册(pip路径修改,建立模块搜索)
    下载官网64位exe安装包双击安装,一步步往下走    打开cmd命令行,输入Python-V查看安装版本号,检查是否安装成功  输入pip-V查看pip的版本号,检查是否安装成功  设置pip安装的全局库目录输入python-msite,查看当前默认配置的库目录找......
  • Python中级之数据类型的内置方法3(元祖、布尔、集合)
    【一】元祖类型(tuple)【1】定义元祖类型是有序且不可变的数据类型,通常使用小括号定义(也可以使用逗号)#用逗号定义num_tuple=1,2,3,4,5#用小括号定义num_tuple=(1,2,3,4,5)【2】内置方法(1)类型强转#使用tuple()函数将其他数据类型转换为元组类型num_list=......
  • Python中级之数据类型的内置方法2(字典和列表)
    【一】字符串类型的内置方法(熟悉)【1】查找(1)find方法#【1】默认从左到右开始查找,找得到则返回元素所在的索引位置name='ligo'str=name.find('i')print(str)#输出1#【2】也可在区间内寻找,找不到则返回-1str=name.find('g',3,4)print(str)#输出-1#【3】也......