美文网首页
python学习日记6-迭代器与单例模式

python学习日记6-迭代器与单例模式

作者: livein80 | 来源:发表于2024-01-01 19:17 被阅读0次

迭代器

++++++++++++++++++++++++++++

1.迭代

  • 迭代:就是在一些元素中获取元素的过程或者是一种方式
  • 迭代器:它可以使用next() 方法获取遍历对象的元素,并且能记住遍历对象的位置,从遍历对象的一个元素开始访问,直到所有的元素被访问结束,而且只能向前不能向后的
  • 可迭代:可迭代对象有: 1.生成器,2.列表 元组,字符串,字典,集合...
# 判断对象是否为可迭代
a = [1,2,3,4] #列表
b = (1,2,3,4) #元组
c = {'a':1,'b':2} #字典
s = 'abcd'  # 字符串
n = 123     # 数字

#第一种方法:
from collections.abc import Iterable
print(isinstance(a,Iterable))  #  输出:True
print(isinstance(b,Iterable)) #  输出:True
print(isinstance(c,Iterable)) #  输出:True
print(isinstance(s,Iterable)) #  输出:True
print(isinstance(n,Iterable)) #  输出:False

#第二种方法: 强制转化为迭代器,报错为不可迭代
print(iter(a)) #输出: <list_iterator object at 0x10b163fd0>
print(iter(n)) #输出:TypeError: 'int' object is not iterable

2.单例模式

class Person():
    _instance = None
    def __new__(cls, *args, **kwargs):
        if Person._instance is None:
            print('new')
            Person._instance = super().__new__(cls, *args, **kwargs)
        return Person._instance
    def __init__(self):
        print('init')


p1 = Person()
p2 = Person()
#  new ,init ,init

print(id(p1),id(p2))
# 4442047632 4442047632 4442047632

相关文章

  • 通过模块功能实现单例模式

    一般说到python实现单例模式,都会想到各种装饰器的途径来构造 装饰器途径构造单例模式参考文档:python装饰...

  • 设计模式目录

    观察者模式 策略模式 装饰者模式 工厂方法模式 单例模式 命令模式 适配器模式与外观模式 模板方法模式 迭代器与组...

  • python 单例

    仅用学习参考 目标 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计...

  • 常见六种设计模式.2018-08-01

    单例模式 工厂模式 策略模式 观察者模式 迭代器模式 模板方法模式 https://www.jianshu.com...

  • 一套完整Python经典面试题,实力派,做内容不做标题党!

    文末含Python学习资料 1:Python如何实现单例模式? Python有两种方式可以实现单例模式,下面两个例...

  • C++设计模式 Week3 (Boolan) by Im4lis

    1-单件模式 2-享元模式 3-状态模式 4-备忘录 5-组合模式 6-迭代器 使用面向对象实现性能较差。7-职责...

  • Python单例设计模式

    单例模式的使用场景 Python的logger就是一个单例模式,用以日志记录 Windows的资源管理器是一个单例...

  • 原型模式

    原型模式 原型模式的定义 原型模式(Prototype Pattern)的简单程度仅次于单例模式和迭代器模式。正是...

  • python之理解单例模式

    python之理解单例模式 1、单例模式 单例模式(Singleton Pattern)是一种常见的软件设计模式,...

  • python中OOP的单例

    目录 单例设计模式 __new__ 方法 Python 中的单例 01. 单例设计模式 设计模式设计模式 是 前人...

网友评论

      本文标题:python学习日记6-迭代器与单例模式

      本文链接:https://www.haomeiwen.com/subject/pfsundtx.html