流畅的python学习笔记

news/2024/10/4 3:21:41

示例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操作符
  • 对牌进行排序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29019.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

+63+条消息++狂神+docker+学习笔记_GaleTeng+的博客+-+CSDN+博客

+63+条消息++狂神+docker+学习笔记_GaleTeng+的博客+-+CSDN+博客 文章目录前言Docker 概述1.Docker 为什么会出现?2.Docker 历史3.Docker 能干嘛Docker 安装1. Docker 的基本组成2. 安装 Docker3. 阿里云镜像加速4. 回顾 HelloWorld 流程5. 底层原理Docker 常用命令1. 帮助命令…

GeometryCollection 的类型映射器(TypeHandler)

GeometryCollection 是 GeoJSON 数据模型中的一个类型,用于表示一个几何对象的集合。MySQL8 中支持了 GeometryCollection 类型,在对数据库和实体类进行对象映射时需要我们自己编写类型映射器来完成映射。java 本身不支持 GeometryCollection 类型,我们需要引入第三方包来获…

把.nuget文件夹从C盘移到其它盘

C盘是系统盘,考虑到很多程序都会占用系统盘资源,所以500G的固态硬盘究竟,一开始C盘就划了300G的大小。但即便这样,不知不觉中,C盘的空间也快不够用了。 分析了一下C盘的空间占用情况,发现.nuget文件夹大概有40多G的大小。这个不能忍,直接上网搜了一下移到其它盘的方法。…

磁盘恢复,照片误删 解决策略-photorec

# 下载软件TestDisk Download - CGSecurity # 解压文件夹 testdisk-7.2 # 打开qphotorec_win 界面如下 # 筛选要恢复的文件格式 ## 恢复图片就选中jpg,png,jpeg 先点击一个词条,键盘按j,就可以定位到j开头的格式位置

Docker+Jenkins自动化测试实践

前期介绍:基于Python+unittest的接口自动化测试框架,打算使用Docker容器技术+jenkins持续集成的能力实现接口自动化测试的持续集成 前提:了解jenkins的使用Docker简介 概念虚拟化:一种资源管理技术(虚拟机、内存管理、硬盘分区管理) Docker是什么:虚拟化技术的一种,虚拟…

javaScript之局部变量,全局变量与局部作用域,全局作用域

前端开发工作者,最需要学习的一门语言就是JavaScript了吧,其实学习大部分编程语言都是从基本的语法知识开始人门的。什么语句、变量、数据类型、对象、函数...今天本文就简单说明javaScript变量中的一个小小的知识点,其实在后面的最开始工作编程中我也是常常容易出现bug的一…

git拉取VUE并初次启动运行

一、通过从git项目中拉取项目后初次并启动运行 1、在vscode从git获取拉取项目 2、拉取项目后启动运行 (需要先安装npm --- npm install) 安装报错 解决: 1、复制这个路径,打开文件夹 (找到npm的安装路径,查看是否有node.exe的启动文件。)打开后会发现没有 2、找到nod…

docker搭建redis集群(三主三从)及重启redis集群 redis扩容新增集群

docker搭建redis集群(三主三从)及重启redis集群 一、docker搭建redis集群1、下载redis镜像文件从远程仓库先拉取一下redis的镜像文件,如果已经提前安装过镜像的,可以跳过此步骤: docker pull redis:6.0.82、查看本地拉取到镜像文件docker images 看到图上标识,就说明当前…