Python 小题整理

1.常用的 Python 标准库都有哪些?

常用库:

os 操作系统  random 随机  queue 队列
time 时间  threading 线程  multiprocessing 进程

第三方库:

Django Flask这两个也算   requests selenium scrapy celery等

2__init__和__new__ 的区别?

__init__  在对象创建后,对对象进行初始化。
__new__  是在对象创建之前创建一个对象,并将该对象返回给 init

3. 什么是Python的自省?

在计算机编程中,自省是指:检查某些事物以确定它是什么,它知道什么以及它能做什么,自省向程序员提供了极大的灵活性和控制力。
简单点说就是:自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型,简单一句话就是:运行时能够获知对象的类型。

例如:Python,Ruby,C++都有自省的能力,这里面C++的自省能力最弱,只能够知道是什么类型,而Python可以知道是什么类型,还有什么属性。

4.给定两个列表,找出它们相同的元素和不相同的元素?

下面展示简易代码

list1 = [1, 2, 3]
list2 = [3, 4, 5]
set1 = set(list1)
set2 = set(list2)
print(set1 & set2)  # & 的作用是取交集
print(set1 ^ set2)  # ^ 的作用是获取只在一个集合中出现的元素
print(set1 | set2)  # | 的作用是并集

5.多进程,多线程,以及协程的理解,什么时候用?

进程:

一个运行的程序(代码)就是一个进程,没有运行的代码叫程序,进程是系统资源分配的最小单位,拥有自己独立的内存空间所以进程间数据不共享,开销大。

线程:

调度执行的最小单位,也叫执行路径,不能独立存在,依赖进程 存在一个进程至少有一个线程,叫主线程,而多个线程共享内存(数据共享,共享全局变量),从而极大提高了程序的运行效率。

协程:

是一种用户态的轻量级线程,协程的调度完全由用户控制。
协程拥有自己的寄存器上下文和栈。 协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。

用途:

一般下载文件时,或者业余时间用过多线程写爬虫,提高效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值