Python高级特性

目录

一、Python多进程

1.多进程

2.进程间通信

3.进程锁

4.进程池

5.多线程

二、Python高级特性

1.装饰器

2.迭代器

3.生成器

4.匿名函数

5.高阶函数

6.切片

7.列表解析式

8.元组拆包

三、Python常用模块

1.OS 操作系统相关

2.Requests 网络请求标准库

3.time 时间

4.base64 用字符表示二进制数据

5.configparser 配置文件

6. collections 特殊容器类

总结


一、Python多进程

1.多进程

利用计算机的多核资源达到同时执行多个任务的目的,以此提升程序的执行效率。

只写一个hello函数并不是多进程,多进程是多个程序同时运行

2.进程间通信

进程有自己独立的运行空间,他们之间所有的变量、数据是隔绝的,A进程中的变量test与B进程中的变量没有任何关系,这就意味着要使用一些特殊的手段才能实现他们之间的数据交换。

进程间通信还是文件通信

        1.pipe  双向通信

        2.queue(队列)  单线程,队列相当于水箱,发送将信息传给队列,接收时从队列读取信息

3.进程锁

        在多线程和多进程中,对线程和进程加锁,保证一个线程或进程在对共享对象进行修改时,其他的线程或进程无法访问这个对象,直至获取锁的线程的操作执行完毕后释放锁,达到一个同步的作用。

4.进程池

定义了一个池子,在池子里面放入固定数量的进程,有需求就用池中的进程处理任务,等到处理完毕进程并不关闭,而是将进程再放回进程池中继续等待任务。如果有很多任务需要执行,池中的进程数量不够,任务就要等待之前的进程执行任务完毕归来拿到空闲的进程才能继续执行。

        池中进程数量固定,同一时间最多有固定数量的进程在运行。

5.多线程

线程是CPU分配资源的基本单位。

        程序开始运行,这个程序就变成了一个进程,而一个进程相当于一个或者多个线程。当没有多线程编程时,一个进程就相当于一个主线程;当有多线程编程时,一个进程包含多个线程(主线程)

        多个线程可以在同一个程序中运行,并且每个线程完成不同任务。

二、Python高级特性

1.装饰器

     给现有模块增添新的小功能,可以对原函数进行功能扩展,而且还不需要修改原函数的内容,也不需要修改原函数的调用。

     手机的手机壳,不同的手机壳起了不同的装饰作用,但是手机一直是那个手机。

在函数之前和之后,加一些需要的装饰

2.迭代器

        可以一个个读取操作的对象称为迭代对象,可迭代对象就是能用for循环迭代元素。而迭代器是指可以用next()获取下一个值。

        能被for循环访问的是可迭代对象;

        能被next( )函数获取下一个值的是迭代器。

        所有的迭代器都实现了__iter__()和__next()__方法

函数实现:

      

3.生成器

和迭代器相辅相成,一边迭代(循环)一边计算的机制称为生成器。生成器能够迭代的关键是因为他有一个__next__方法。每迭代一次生成一个元素,动态生成,节约内存。

使用yield编写生成器

        yield和return相似,return返回有效的Python对象,yield返回生成器。

        yield保存函数内部的算法,每次调用就通过算法计算出下一个元素的值,直到计算到最后一个元素。

        下面是yield构造斐波那契数列,yield返回的是下一次计算得到的结果

4.匿名函数

5.高阶函数

        接收一个函数做参数的函数

                def f(func)

        sorted():排序

        filter(a,b):过滤,a是函数,b是被过滤的列表数据

        map(a,b) a是函数,b是可迭代对象

6.切片

slice对序列型对象(list、string、tuple)取出序列中一个范围对应的元素。

7.列表解析式

对list进行解析:通过对list中的每一个元素应用一个函数,从而将一个list映射成为另一个list。类似于lambda匿名函数

8.元组拆包

三、Python常用模块

1.OS 操作系统相关

        

2.Requests 网络请求标准库

3.time 时间

4.base64 用字符表示二进制数据

5.configparser 配置文件

程序初始化、配置服务

6. collections 特殊容器类

总结

本次课程是Python武器库中的Python的高级特性,主要是从细节处入手提升Python编程能力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python高级特性是指一些内置函数的高级用法,可以帮助我们更方便地完成一些功能。以下是一些常见的Python高级特性的介绍和示例: 1. 列表推导式(List Comprehension):通过简洁的语法创建新的列表。可以在一个列表中根据条件筛选元素、对元素进行操作等。例如: ```python # 创建一个包含1到10的平方的列表 squares = [x**2 for x in range(1, 11)] print(squares) # 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] ``` 2. 字典推导式(Dictionary Comprehension):类似于列表推导式,可以用简洁的语法创建新的字典。例如: ```python # 创建一个包含1到10的平方的字典 squares_dict = {x: x**2 for x in range(1, 11)} print(squares_dict) # 输出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100} ``` 3. 生成器表达式(Generator Expression):类似于列表推导式,但是返回一个生成器对象,可以逐个生成值,而不是一次性生成所有值。例如: ```python # 创建一个生成器,逐个生成1到10的平方 squares_gen = (x**2 for x in range(1, 11)) print(next(squares_gen)) # 输出:1 print(next(squares_gen)) # 输出:4 # ... ``` 4. 匿名函数(Lambda Function):一种简洁的函数定义方式,通常用于需要一个简单函数的地方。例如: ```python # 定义一个匿名函数,计算两个数的和 add = lambda x, y: x + y print(add(3, 5)) # 输出:8 ``` 5. 高阶函数(Higher-order Function):可以接受函数作为参数或返回函数的函数。例如,`map()`函数可以将一个函数应用到一个可迭代对象的每个元素上。例如: ```python # 将函数应用到列表的每个元素上 numbers = [1, 2, 3, 4, 5] squared_numbers = list(map(lambda x: x**2, numbers)) print(squared_numbers) # 输出:[1, 4, 9, 16, 25] ``` 这些是Python的一些常见高级特性,它们可以帮助我们更加简洁和高效地编写代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值