effective python学习笔记_类与接口

用组合类实现多层结构而不用内置类型

例子:成绩单,存储学生各科成绩多个然后加权重,如果用字典类型会导致字典有多层嵌套结构

思想 当用内置类型如字典元组等结构出现超过二层的多层嵌套结构时,读起来会比较难懂,此时建议通过定义一批新类实现一套新体系,这样可以定义良好清晰的接口,并合理封装数据

怎么做 多个属性时,将每个属性定义为实例属性,可以考虑namedtuple(namedtuple无法对属性设定默认值,如果需要可以使用内置的dataclasses模块)

namedtuple局限 1实例属性无法设置默认值 2虽然namedtuple但仍可以通过下标访问实例属性

改前

改后

虽然代码多了,但看的应该更清晰

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nestjs 全栈进阶--中间件

视频教程 22_nest中中间件_哔哩哔哩_bilibili 1. 介绍 在Nest.js框架中,中间件(Middleware)是一个非常重要的概念,它是HTTP请求和响应生命周期中的一个重要组成部分,允许开发者在请求到达最终的目的控制器方法之前或…

04.进程间通信

进程间通信基本概念 IPC(Inter Process Communication) 进程间通信 进程通信就是不同进程之间进行信息的交换或传播 为什么进程之间实现通信和困难 因为进程之间具有独立性,数据独立,程序可能独立也可能不独立(父子进…

从面试官视角出发,聊聊产品经理的面试攻略

一、请进行自我介绍 这题基本是面试的开胃菜了,估计面试多的,自己答案都能倒背如流啦。 其实自我介绍还是蛮重要的,对我来说主要有 3 个作用:面试准备、能力预估、思维评估。 面试准备:面试官每天都要面 3 ~6 人&am…

Windows系统下通过nginx配置多项目

文章目录 前言大概思路实际操作记录:查看nginx 错误日志问下AI注意点: 当访问域名根路径时,重定向到/pc总结 前言 在windows电脑启动一个nginx 测试配置多前端项目,一个pc端(vue3tsvite ,history路由&…

【C++进阶】C++中的map和set

一、关联式容器 在初阶阶段,我们已经接触过STL 中的部分容器,比如: vector 、 list 、 deque, forward_list 等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本…

Linux Make命令详解

1 概述 make命令常用参数-C,-n, -j.其实make还有很多参数也很有用,本文描述将简单介绍。 使用make版本: $ make --version GNU Make 4.2.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3: GNU GPL versio…

八股kafka(一)

目录 1、面试官:Kafka是如何保证消息不丢失 2、面试官:Kafka中消息的重复消费问题如何解决的 3、面试官:Kafka是如何保证消费的顺序性 4、面试官:Kafka的高可用机制有了解过嘛 5、面试官:解释一下复制机制中的ISR 6、面…

ChatGLM3-6B部署与微调及微调后使用

记录ChatGLM3-6B部署及官方Lora微调示例详细步骤及如何使用微调后的模型进行推理 一、下载代码 使用git clone 命令下载源码 git clone https://github.com/THUDM/ChatGLM3.git 如图所示 二、下载模型 模型权重文件从魔塔进行下载,不需要翻墙。权重文件比较大&…

人工智能对企业安全的影响与风险控制-内刊

题目:人工智能对企业安全的影响与风险控制 大纲: I. 引言 A. 人工智能的发展背景 B. 企业安全的重要性 C. 研究目的与意义 II. 人工智能对企业安全的影响 A. 人工智能对企业安全管理的优势 提高安全管理效率预测与防范潜在风险定制化安全策略 B. 人工…

好用的电商数据API接口分享(京东|淘宝天猫|1688商品详情数据API)

电商API接口主要用于帮助开发者将电商功能集成到自己的应用程序中,实现诸如商品检索、商品 价格数据获取、订单处理、支付、物流跟踪等功能。以下是一些常用的电商API接口提供商: 主流电商平台API: 淘宝开放平台:提供淘宝、天猫、1688等阿里…

低代码技术赋能未来乡村建设:创新与实践

引言 随着我国新型城镇化进程的推进,乡村建设正面临着前所未有的挑战。如何在有限的人力、物力、财力资源下,高效推动乡村建设,实现城乡一体化发展,成为当下亟待解决的问题。低代码技术作为一种创新性的解决方案,为未来…

【docker 】push 镜像到私服

查看镜像 docker images把这个hello-world 推送到私服 docker push hello-world:latest 报错了。不能推送。需要标记镜像 标记Docker镜像 docker tag hello-world:latest 192.168.2.1:5000/hello-world:latest 将Docker镜像推送到私服 docker push 192.168.2.1:5000/hello…

设计合理的IT运维服务目录:打造高效运维的蓝图

在数字化转型的浪潮中,一个设计合理、内容详尽的IT运维服务目录是连接服务提供者与消费者之间的桥梁,它不仅体现了服务设计的专业性,还直接影响着运维效率和服务质量。如何设计出既合理又高效的IT运维服务目录?让我们结合ITIL 4框…

了解 macOS 中的系统完整性保护 (SIP):开启与关闭

在 macOS 系统中,有一个名为系统完整性保护 (System Integrity Protection,SIP) 的重要功能。SIP 旨在保护系统文件和进程免受未经授权的访问和修改,从而提高系统的安全性和稳定性。然而,在某些情况下,用户可能需要临时…

【全开源】JAVA台球助教台球教练多端系统源码支持微信小程序+微信公众号+H5+APP

功能介绍 球厅端:球厅认证、教练人数、教练的位置记录、助教申请、我的项目、签到记录、我的钱包、数据统计 教练端:我的页面,数据统计、订单详情、保证金、实名认证、服务管理、紧急求助、签到功能 用户端:精准分类、我的助教…

Spring线程池配置

配置Spring线程池,特别是ThreadPoolTaskExecutor,通常涉及设置一些关键参数以控制线程池的行为和性能。以下是一些基本的配置步骤: 定义配置类 首先,需要创建一个配置类,使用@Configuration注解标记,并启用异步执行功能,使用@EnableAsync注解。 @Configuration @Enab…

Maven的使用

1.第一个Maven工程 1.1 创建约定目录结构 ​ Hello ​ src ​ ——main(存放主程序) ​ ————java(存放源代码文件) ​ ————resources(存放配置文件和资源文件) ​ ——test(存放测试程序) ​ ————java ​ ————resources ​ pom.xml 1.2 创建核心文件 pom.xml …

mysql等保测评2.0命令-三级

版本 Win默认安装位置 C:\Program Files\MySQL\MySQL Server 8.0\bin 版本:select version() from dual; 身份鉴别 a应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换; 1、SELEC…

新能源汽车中HEV与PHEV分别代表什么车型,它们与传统燃油车都有什么区别?

前言 新能源汽车正逐渐成为全球汽车工业的主流方向,而HEV(Hybrid Electric Vehicle)和PHEV(Plug-in Hybrid Electric Vehicle)这两种混合动力车型在这一转型过程中扮演着重要角色。下面我们详细探讨HEV与PHEV的定义&a…

VSCODE + SSH for PHP 配置

清理Vscode的缓存 C:\Users\Administrator\AppData\Roaming\Code 删除 Cache 和 CachedData 应用的扩展 Remote SSHphpcs - php psr12规范PHP DocBlocker - phpDoc注释PHP Debug - php xdebug 调试PHP Intelephense - php语法检查PHP Namespace Resolver - php命名空间引用…