Python学习记录 设计模式

学习计划:第三阶段(第七周) 精心打造了以 “交通工具” 为核心的多层次类体系。首先定义了 “交通工具” 父类,赋予其通用属性如name(交通工具名称)和speed(行驶速度),以及抽象的travel方法,为子类提供统一的行驶行为规范框架。pass接着创建了 “汽车” 子类,继承自 “交通工具” 父类,除继承通用属性与方法外,新增了fuel_type(燃油类型)属性以及refuel方法,用于体现汽车的燃油特性与加油操作,同时重写了travel方法以展示汽车基于燃油行驶的具体信息。 阅读详情

2022.08.19 DAY35

设计模式_工厂模式实现
  • 实现创建者和使用者的分离。

测试代码:

class Benz:
    pass

class BMW:
    pass

class BYD:
    pass

class CarFactory:
    def create_car(self, brand):
        if brand == "奔驰":
            return Benz()
        elif brand == "宝马":
            return BMW()
        elif brand == "比亚迪":
            return BYD()
        else:
            return "未知品牌,无法创建"

def test():
    factory = CarFactory()
    c1 = factory.create_car("奔驰")
    c2 = factory.create_car("宝马")
    c3 = factory.create_car("比亚迪")
    print(c1)
    print(c2)
    print(c3)


if __name__ == "__main__":
    test()

运行结果:

<__main__.Benz object at 0x0000024F64232340>
<__main__.BMW object at 0x0000024F642325E0>
<__main__.BYD object at 0x0000024F64357610>
单例模式
  • 核心作用就是确保一个类只有一个实例,并且提供一个访问该实例的全局访问点。
  • 减少对系统资源的开销。

测试代码:

class MySimgleton:

    __obj = None  # 类属性
    __init_flag = True

    def __new__(cls, *args, **kwargs):
        if cls.__obj == None:
            cls.__obj = object.__new__(cls)

        return cls.__obj

    def __init__(self, name):
        if MySimgleton.__init_flag:
            print("init......")
            self.name = name
            MySimgleton.__init_flag = False

def test():
    a = MySimgleton("aa")
    b = MySimgleton("bb")
    print(a)
    print(b)
    c = MySimgleton("cc")
    print(c)


if __name__ == "__main__":
    test()

运行结果;

init......
<__main__.MySimgleton object at 0x000001E8376A7DC0>
<__main__.MySimgleton object at 0x000001E8376A7DC0>
<__main__.MySimgleton object at 0x000001E8376A7DC0>
iOS技能 - 最新BAT 面试题目记录 关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下准备过程,和面试的一些总结,希望能帮助到正在面试或者将要面试的同学吧。 美团 一面 1、简历上写的项目问了一遍,然后开始问知识点。 2、volley的源代码,在图片缓存部分讨论了挺长时间,http中缓存机制, 3、视觉控制器的生命周期 4、数据库 5、多线程(NSTread、NSOPeration、GCDA+block) 6、http协议get post的区别 7、手机适配一些方案 8、真机调. 阅读详情

相关推荐

SAP CO模块实战:成本中心会计分割结构配置全流程(OKES事务码详解)

本文详细解析了SAP CO模块中成本中心会计分割结构的配置全流程,重点讲解了OKES事务码的实战操作。内容涵盖分割结构的概念理解、配置前的次级成本要素与作业类型主数据准备,并通过步骤拆解演示了如何定义分割结构、规则与版本,以及如何将配置关联到成本中心并执行分割。最后提供了常见问题排查与优化建议,旨在帮助顾问及财务人员掌握成本精确分摊的关键配置,确保期末成本核算的准确性。

embedding5hiker的博客 805

python 设计模式学习代码记录

@工厂模式class Beijing: def printreslut(self): print("ok") class Shanghai: def printreslut(self): print("shanghaiss") def get(name="beijing"): result=dict(beijing=Beij...

weixin_30252155的博客 69

Vue3+uniapp开发必备:5分钟搞定unplugin-auto-import自动导入配置(附常见报错解决)

本文详细介绍了在Vue3+uniapp项目中配置unplugin-auto-import插件实现自动导入的方法。通过该配置,开发者无需手动导入ref、onLoad等常用API,可显著提升编码效率和团队协作规范性。文章提供了从安装、TypeScript集成到高级用法的完整指南,并附带了常见报错的解决方案。

weixin_29008805的博客 961

Python基础知识学习记录 2021——1202(对象的浅拷贝和深拷贝,组合,设计模式(工厂模式实现),设计模式(单例模式实现))

文章目录对象的浅拷贝和深拷贝组合设计模式工厂模式实现单例模式实现 对象的浅拷贝和深拷贝 ·变量的赋值操作 只是形成两个变量,实际还是指向同一个对象。 ·浅拷贝 Python 拷贝一般都是浅拷贝。拷贝时,对象包含的子对象内容不拷贝。因此,源对象和拷贝对象会引用同一个子对象。 ·深拷贝 使用 copy 模块的 deepcopy 函数,递归拷贝对象中包含的子对象。源对象和拷贝对象所有的子对象也不同。 #测试对象的引用赋值、浅拷贝、深拷贝 import copy class MobilePhone: def

Lime_Tr的博客 207

【Bug已解决】Failed to fetch version ECONNREFUSED 解决方案

方案适用场景推荐指数难度方案一:NODE_EXTRA_CA_CERTS代理/企业网关证书⭐⭐⭐⭐⭐低方案二:浏览器导出证书不知证书在哪⭐⭐⭐⭐中方案三:使用系统证书macOS 用户⭐⭐⭐⭐中方案四:关闭代理直连快速验证⭐⭐⭐低方案五:更新 Node.js证书列表过时⭐⭐⭐低方案六:同步系统时间时间偏差导致⭐⭐⭐低根本原因。

博客 9974

RK3588部署YOLOv11与RKNN全流程教程

本文详细介绍了在RK3588开发板上部署YOLOv11目标检测模型的全流程。主要内容包括:PC端CUDA/cuDNN环境配置、Anaconda虚拟环境搭建、RKNN Toolkit2安装;YOLOv11模型从PyTorch到ONNX再到RKNN的格式转换;以及RK3588开发板的系统配置、RKNPU驱动安装和最终推理实现。教程提供了完整的代码示例,帮助开发者快速在边缘设备上实现高效的AI推理应用,涵盖从环境准备到实时检测的全套解决方案。

FJN110的博客 375

记录学习《流畅的python》的一些知识-----使用一等函数实现设计模式

记录我学习《流畅的python》的过程2021.2.2 2021.2.2 1.经典的策略模式 上下文:把一些计算委托给实现不同算法的可互换组件,它提供服务。 策略:实现不同算法组件共同的接口。 具体策略:策略的具体子类。 下面举例: 假如有有一个网店指定了下述折扣规则: 有1000或以上积分的顾客,每个订单享5%折扣 同一订单中,单个商品的数量达到20个或以上,享10%折扣。 订单中的不同商品达到10个或以上,享7%折扣。 from abc import ABC, abstractmethod fro

liuhaichao666的博客 252

Proxmox VE 9 更换源

创建一键更换Proxmox VE 9.0源的Bash脚本,实现快速替换软件源。脚本需包含订阅提醒关闭功能,兼容Proxmox VE 9.0系统,执行命令为bash /proxmox_9.0_Repo.sh。该工具可简化源配置过程,自动处理系统更新源替换及订阅提示屏蔽,适合需要快速配置Proxmox环境的用户使用。

极致,细节 4986

Python八股文学习记录

python八股文学习记录

LuckyPythonCubs的博客 842

Anomalib实战之一:自定义数据集

Anomalib支持多种图像扩展名,如".jpg"、“.jpeg”、“.png”、“.ppm”、“.bmp”、“.pgm”、“.tif”、“.tiff"和”.webp"。可以从具有任何这些扩展名的图像中收集数据集。

mingo_敏 6233

关于YOLOv8的面试题(持续更新中...)

本章将计划更新关于YOLOv8中可能会成为面试题的关键技术点,计划持续更新,可能想到合适的问题我就会整理下更新到本博客中。

ice 4167

python三层设计_推荐3个Python实现算法和设计模式的工具

Python 是世界上功能最多且最强大的编程语言之一。使用 Python,你可以编写自己的应用程序,创建游戏、设计算法、甚至编程一个机器人。今天,小U为大家分享三个与Python算法和设计模式相关的工具,希望对大家学习Python有所帮助!sortedcontainers在需要排序集合类型之前,Python的标准库是非常好的。即使没有sortedcontainers你也能完成某种需求,但是当你离开...

weixin_39561431的博客 165

RH850从0搭建Autosar开发环境【17】- Davinci Configurator之DCM模块配置详解(下)

RH850从0搭建Autosar开发环境【17】- Davinci Configurator之DCM模块配置详解(下)

weixin_42412049的博客 2379

Python学习的自我理解和想法(20)

私有属性,私有方法,多态,单例设计模式

Pocker_Spades_A的博客 1655

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python学习记录Day 10---2.1闭包、装饰器、设计模式、多线程、网络编程、正则表达式、递归

python学习记录

weixin_44750135的博客 95

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【Python 装饰器成长路径】零基础也能轻松掌握的学习路线与参考资料

Python装饰器是Python语言的一个重要特性,可以让代码更加简洁、优雅,并且让代码重用性更加高效。本文针对Python装饰器的学习路线,参考资料和优秀实践进行详细介绍。

weixin_50409347的博客 488

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

python与flask_Python和Flask真强大:不能错过的15篇技术热文(转载)

本文精选了 Python开发者 11月份的15篇 Python 热文。其中有基础知识,机器学习,爬虫项目实战等。注:以下文章,点击标题即可阅读Python和Flask有多强大?来看看本文的作者是如何借助Python和Flask在一夜之间完成我自己的数字商品支付解决方案的。Sublime Text 3 (ST3) 是一个轻量级的跨平台文字编辑器,尤以其轻快的速度,易用性和强大的社区支持而著称。本文介...

weixin_39524574的博客 161

20210331# 计算机学习

这里写目录标题综述分类编程语言计算机理论设计模式版本管理操作系统数据库项目构建中间件 综述 等到我能够建立一个计算机体系后,就不学这玩意了。 分类 编程语言 计算机理论 设计模式 版本管理 操作系统 数据库 项目构建 中间件 ...

qq_17079255的博客 804

5 年 Python 的我,总结了这 90 条写 Python 程序的建议

建议38:使用copy模块深拷贝对象,区分浅拷贝(shallow copy)和深拷贝(deep copy)建议39:使用Counter进行计数统计,Counter是字典类的子类,在collections模块中。建议67:基于生成器的协程和greenlet,理解协程、多线程、多进程之间的区别。④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)优势:接口简单、各平台通用、支持的数据类型广泛、扩展性强。

2401_83974199的博客 868

python开发Android界面打包工具需要具备的知识

【代码】python开发Android界面打包工具需要具备的知识。

浅墨的博客 429

Python3学习笔记

python3暑期学习笔记变量类型 字符串 操作 字符串可以相加 列表 增加元素 修改元素 查找元素 删除元素 排序元素 元组 字典 查找键值 添加键对 删除键对 修改键对 常见操作 字典的遍历 函数 参数 缺省参数 不定长参数 引用 类型 可变类型 不可变类型 匿名函数 文件 操作 面向对象 简介 概念 方法 模式 工厂模式 单例模式 异常 捕获异常 抛出异常 模块 常用操作 模块的使用 模块的发

lv19980523的博客 439

Django精品项目-django基于强化学习和大模型的船舶停靠航行记录 船舶避碰系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)

Django精品项目-django基于强化学习和大模型的船舶停靠航行记录 船舶避碰系统(源码+LW+部署文档+全bao+远程调试+代码讲解等)

839

2018.10.22-2018.10.28

------------------------- 2018.10.22 把编译原理做完了,oreacle php还没看完 html css 要去w3school学完 还没问学长 六级背了 题还没刷 ------------------------ 2018.10.23 把设计模式作业写完 单词背完 准备刷题 看看python ------------------------ 201...

acm退役败犬 准nlp研究生 192

大数据教材维护目录

2017-6-29 U盘,工位机-python入门:+目录matplotlib,

nedusoft109的博客 499

一直拖拉欠没做完的事情

以前几天读一本书,现在是一年一本书都没读完,在最近1年以来 ,没读完的书,没学的东西,没做的事做个记号自勉。书1.编译原理2.ACE程序员指南:网络与系统编程实用设计模式学python事yetistock

hanbingture的专栏 263

程序员版本的八荣八耻~

大家平时工作中,是不是经常看到魔法数字。魔法数字(Magic Number)是指拥有特殊意义,却又不能明确表现出这种意义的数字。程序里面存在魔法数字,易读性很差,且非常难以维护。我们要以总结思考为荣。再比如你日常工作中,看到一段不错的代码,也可以思考一下亮点在哪里,如果是你自己来写的话,怎么写出更好的代码。反正就是要多总结,多思考,多复习,温故而知新嘛。我们要以混水摸鱼为耻。比如工作中,一些小伙伴喜欢混水摸鱼,当一天和尚敲一天钟,代码多是复制粘贴,做完需求就摸鱼。实际上这个不可取的。

2201_75362610的博客 98
上一篇: Python学习记录 对象的浅拷贝和深拷贝
下一篇: Python学习记录 模块
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值