美文网首页
并发编程—概念以及生成缩略图小程序

并发编程—概念以及生成缩略图小程序

作者: 她即我命 | 来源:发表于2018-12-01 15:48 被阅读8次
"""
生成器
- 生成器表达式:(x ** 2 for x in range(1, 11))
- yield关键字
迭代器
- __iter__:返回迭代器对象
- __next__:取下一个迭代值
"""
from math import sqrt


def is_prime(num):
    """判断是不是素数"""
    for factor in range(2, int(sqrt(num)) + 1):
        if num % factor == 0:
            return False
    return True


def prime(num):
    """素数生成器"""
    for val in range(2, num + 1):
        if is_prime(val):
            yield val


class Prime(object):
    """素数迭代器"""
    pass


class Fib(object):
    """斐波拉切数迭代器"""

    def __init__(self, num):
        self.num = num
        self.a, self.b = 0, 1
        self.idx = 0

    def __iter__(self):
        return self

    def __next__(self):
        if self.idx < self.num:
            self.a, self.b = self.b, self.a + self.b
            self.idx += 1
            return self.a
        raise StopIteration()


def fib(num):
    """斐波拉切数生成器"""
    a, b = 0, 1
    for _ in range(num):
        a, b = b, a + b
        yield a


def main():
    """主函数"""
    print('fibonacci number'.center(80, '-'))
    for val in Fib(20):
        print(val, end=' ')
    print('\n', '-' * 80, sep='')
    print('prime number'.center(80, '-'))
    for val in prime(100):
        print(val, end=' ')
    print('\n', '-' * 80, sep='')


if __name__ == '__main__':
    main()

相关文章

  • 并发编程—概念以及生成缩略图小程序

  • go并发编程笔记

    并发编程 一、并发编程的相关概念1、并发编程概念:使多个任务【程序】可以在同一时间执行以便能够更快的得到结果2、多...

  • 第二章 Goroutine泄漏的调试

    在我们谈论协程(Goroutines)泄漏之前,我们先看看并发编程的概念。并发编程处理程序的并发执行。多个连续流任...

  • go语言之并发(未完待续.....)

    并发的概念 并发是指在同一时间内可以执行多个任务,并发编程含义比较广泛,包含多线程、多进程以及分布式程序 Go语言...

  • [Erlang开发之路]十三、并发程序中的错误处理

    一、并发程序错误处理理念 Erlang并发编程中错误处理的概念,核心在于远程检测加处理错误(而非顺序编程中的避免错...

  • 并发编程

    并发编程三种构造并发程序的方式:基于进程的并发编程、基于IO多路复用的并发编程、基于线程的并发编程1、 基于进程...

  • 并发编程记录(一)--单线程、多线程、多进程对比

    Python实现并发编程 多线程 多进程 协程(生成器) 并发编程的基本概念 串行:一个人在一段时间段内只能干一件...

  • Scala并发编程笔记

    Scala并发编程 第一章 简介 1.1 并发程序设计 并发的优势 并发编程(concurrent program...

  • 并发编程的挑战

    学以致用,方得始终 并发编程的挑战 在学习并发编程首先需要明确一个问题就是:并发编程是让程序处理问题更快,让程序更...

  • 并发编程初步理解

    并发编程的目的是为了让程序更快运行,而不是通过使用更多的线程 几种并发编程的挑战以及解决方法 1. 上下文切换 当...

网友评论

      本文标题:并发编程—概念以及生成缩略图小程序

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