1.python下多线程的限制以及多进程中传递参数的方式?

python多线程有个全局解释器锁(global interpreter lock),这个锁的意思是任一时间只能有一个线程使用解释器,跟单cpu跑多个程序一个意思,大家都是轮着用的,这叫“并发”,不是“并行”。

多进程间共享数据,可以使用 multiprocessing.Value

和multiprocessing.Array。

2.什么是lambda函数?它有什么好处?

lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数。

lambda 函数不能包含命令,它们所包含的表达式不能超过一个。

不要试图向lambda 函数中塞入太多的东西;如果你需要更复杂的东西,应该定义一个普通函数,然后想让它多长就多长。

3.如何用Python输出一个Fibonacci数列?

1 a,b = 0, 1

2 while b<100:

3 print (b),

4 a, b = b, a+b

4.解释一下python的and-or语法

与C表达式 bool ? a : b类似,但是bool and a or b,当 a 为假时,不会象C表达式 bool ? a : b 一样工作

应该将 and-or 技巧封装成一个函数:

defchoose(bool, a, b):return(booland[a]or[b])[0]

因为 [a] 是一个非空列表,它永远不会为假。甚至 a 是 0 或 '' 或其它假值,列表[a]为真,因为它有一个元素。

5.Python里面如何拷贝一个对象?

标准库中的copy模块提供了两个方法来实现拷贝.一个方法是copy,它返回和参数包含内容一样的对象。

使用deepcopy方法,对象中的属性也被复制。

6.如何用Python来进行查询和替换一个文本字符串?

可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement, string[, count=0])

replacement是被替换成的文本

string是需要被替换的文本

count是一个可选参数,指最大被替换的数量

7.Python里面search()和match()的区别?

match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none 。

8.有两个序列a,b,大小都为n,序列元素的值任意整形数,无序?

要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。

1. 将两序列合并为一个序列,并排序,为序列Source

2. 拿出最大元素Big,次大的元素Small

3. 在余下的序列S[:-2]进行平分,得到序列max,min

4. 将Small加到max序列,将Big加大min序列,重新计算新序列和,和大的为max,小的为min。

9.python如何捕获异常?

(1)使用try和except语句来捕获异常

捕获到的IOError错误的详细原因会被放置在对象e中,然后运行该python 异常处理的except代码块捕获所有的异常

(2)用raise语句手工引发一个异常:

(3)采用sys模块回溯最后的异常

10.如何用Python来发送邮件?

可以使用smtplib标准库。

以下代码可以在支持SMTP监听器的服务器上执行。

11.介绍一下except的用法和作用?

Python的except用来捕获所有异常,因为Python里面的每次错误都会抛出一个异常,所以每个程序的错误都被当作一个运行时错误。

12. 解释Range函数

Range函数可以用来创建一个整数列表,一般用在for循环中。它有3种使用方法。Range函数可以接受1到3个参数,参数必须是整数。

请注意:我已经将range的每种用法包装在一个递推式构造列表(list comprehension)中,以便我们可以看到生成的值。

用法1 - range(stop):生成从0到参数“stop”之间的整数。

[i for i in range(10)]

#=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

用法2 - range(start, stop) : 生成从参数“start”到“stop”之间的整数

[i for i in range(2,10)]

#=> [2, 3, 4, 5, 6, 7, 8, 9]

用法3 - range(start, stop, step):以参数“step”为步长,生成从“start”到“stop”之间的整数。

[i for i in range(2,10,2)]#=> [2, 4, 6, 8]

13. 定义一个名为car的类,它有两个属性:“color”和“speed”。然后创建一个实例并返回“speed”。

class Car :

def __init__(self, color, speed):

self.color = color

self.speed = speedcar = Car('red','100mph')

car.speed

#=> '100mph'

14.“func”和“ func()”有什么区别?

这个问题的目的是想看看你是否理解所有函数也是Python中的对象。

def func(): print('Im a function')func#=> function __main__.func>func() #=> Im a function

15.python代码得到列表list的交集与差集?

交集

差集

16. 如何使用reverse函数反转一个列表?

下面的代码对一个列表调用reverse()函数,对其进行修改。该方法没有返回值,但是会对列表的元素进行反向排序。

li = ['a','b','c']

print(li)

li.reverse()

print(li)

#=> ['a', 'b', 'c']

#=> ['c', 'b', 'a']

17. 字符串乘法是如何工作的?

让我们看看将字符串" cat"乘以3的结果。

'cat' * 3

#=> 'catcatcat'

该字符串将自身连接3次。

18. 列表乘法是如何工作的?

我们来看看将列表[1,2,3]乘以2的结果。

[1,2,3] * 2

#=> [1, 2, 3, 1, 2, 3]

输出的列表包含了重复两次的列表[1,2,3]的内容。

19. 类中的“self”指的是什么?

“self”引用类本身的实例。这就是我们赋予方法访问权限并且能够更新方法所属对象的能力。

下面,将self传递给__init__(),使我们能够在初始化时设置实例的颜色。

class Shirt:

def __init__(self, color):

self.color = color

s = Shirt('yellow')

s.color

#=> 'yellow'

20.列出5个python标准库

os:提供了不少与操作系统相关联的函数

sys: 通常用于命令行参数

re: 正则匹配

math: 数学运算

datetime:处理日期时间

21.阅读下面的代码,写出A0,A1至An的最终值

A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5)))

A0 = {'a':1,'b':2,'c':3,'d':4,'e':5}

A1 = range(10)

A1 = [0,1,2,3,4,5,6,7,8,9]

A2 = [i for i in A1 if i in A0]

A2 = [] # 当对字典进行in判断是,判断的是key

A3 = [A0[s] for s in A0]

A3 = [1,2,3,4,5]

A4 = [i for i in A1 if i in A3]

A4 = [1,2,3,4,5]

21.你对多线程和多进程的理解。

①进程是系统进行资源分配和调度的一个独立单位,线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源;

②一个程序至少有一个进程,一个进程至少有一个线程;

③线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高;

④进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率 ;

⑤线线程不能够独立执行,必须依存在进程中;

⑥优缺点:线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程正相反。

22.线程中start方法和run方法的区别?

①若调用start,则先执行主进程,后执行子进程;

②若调用run,相当于正常的函数调用,将按照程序的顺序执行

23.linux命令 grep awk sed是怎么用的?

grep:Global Regular Expression Print

24.介绍一下except的用法和作用?

try:

pass

except Exception as e:

print(e)

finally:

pass

25.*args和**kwargs是什么意思?

*args表示可变参数(variadic arguments),它允许你传入0个或任意个无名参数,这些参数在函数调用时自动组装为一个tuple; **kwargs表示关键字参数(keyword arguments),它允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。同时使用*args和**kwargs的时候,必须保证*args在**kwargs之前。

26.python里面如何拷贝一个对象?

(1) 赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个;

(2)浅拷贝(copy.copy()),创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另一个也会被改变);

(3)深拷贝(copy.deepcopy()),创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另一个不会改变)

注意:并不是所有的对象都可以拷贝

27.简要描述python的垃圾回收机制

python中的垃圾回收是以引用计数为主,标记-清除和分代收集为辅。

引用计数:python在内存中存储每个对象的引用计数,如果计数变成0,该对象就会消失,分配给该对象的内存就会释放出来。

标记-清除:一些容器对象,比如说list、dict、tuple、instance等可能会出现引用循环,对于这些循环,垃圾回收器会定时回收这些循环(对象之间通过引用(指针)连在一起,构成一个有向图,对象构成这个有向图的节点,而引用关系构成这个有向图的边)。

分代收集:python把内存根据对象存活时间划分为三代,对象创建之后,垃圾回收器会分配它们所属的代。每个对象都会被分配一个代,而被分配更年轻的代是被优先处理的,因此越晚创建的对象越容易被回收。

28.什么是lambda函数?它有什么好处?

lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。

Python允许你定义一种单行的小函数。定义lambda函数的形式如下(lambda参数:表达式)lambda函数默认返回表达式的值。你也可以将其赋值给一个变量。lambda函数可以接受任意个参数,包括可选参数,但是表达式只有一个。

29.什么是鸭子类型?

在鸭子类型中,关注的不是对象的类型本身,而是他如何使用的。例如,在不适用鸭子类型的语言中,我们可以编写一个函数,它接受一个类型为鸭的对象,并调用它的走和叫方法。在使用鸭子类型的语言中,这样的一个函数可以接受一个任意类型的对象,并调用它的走和叫方法。

class duck():

def walk(self):

print('I am duck,I can walk...')

def swim(self):

print('I am duck,I can swim...')

def call(self):

print('I am duck,I can call...')

duck1=duck()

duck1.walk()

# I am duck,I can walk...

duck1.call() # I am duck,I can call...

30.Python如何实现单例模式?

class Singleton(type):

def __init__(cls, name, bases, dict):

super(Singleton, cls).__init__(name, bases, di

ct)

cls.instance = None

def __call__(cls, *args,**kw):

if cls.instance is None:

cls.instance = super(Singleton, cls).__call__(*args, **kw)

return cls.instance

class MyClass(object):

__metaclass__ = Singleton

python经典题库和答案_吐血总结,Python经典面试题及答案相关推荐

  1. 计算机一级考试office题库2016,2016年计算机一级MS Office考试试题及答案

    2016年计算机一级MS Office考试试题及答案 [参考答案及解析] 一.选择题 1.D)[解析]微型计算机的主要技术性能指标包括字长.时钟主频.运算速度.存储容量.存取周期等. 2.C)[解析] ...

  2. python手机题库app_Python基础_学习通app_期末答案

    Python基础_学习通app_期末答案 更多相关问题 [单选] 单纯性肥胖患儿一般不会发生下列哪种情况() [单选] 3岁男孩,近半年食欲差,喜吃墙皮,易患上感.查体:身高90cm,除地图舌外未发现 ...

  3. python题库选择填空_大学计算机python选择填空题库与答案

    1 . 执行循环语句 for i in range(1,5):pass 后,变量 i 的值是[ 4 ] 2 . 循环语句 for i in range(-3,21-4) 的循环次数为[ 6 ] 3 . ...

  4. python大一题库西农_西农植物学试题

    1 <植物学>期末考试 试卷 (A 卷 ) 及答案 一.名词解释:(每小题 3 分,共 15 分) 1 .原生质与原生质体: 2 .等面叶与异面叶: 3 . 同源器官与同功器官: 4 .单 ...

  5. python大一题库西农_回家这样聊!西农娃专属话题库

    历新年降至,黄昏下已在归程路上的你会在想什么呢?大概会回首去年吧,高考的无形压力令你灰暗且压抑,或许会是时光飞逝,你已在西北的土地上经历了小半年的光阴- 去年的新年期间,你或许没少被父母和亲戚长辈唠叨 ...

  6. python选择题题库百度文库_大学Python程序题题库

    程序设计 题目:补充 fun 函数,其功能是判断一个整数是否是素数,在主 函数 main 中输入一个整数,调用该 fun 函数进行判断并输 出结果. 要求:使用 math 相关函数 import ma ...

  7. 青少年python编程比赛试题答案_中国大学moocPython编程基础试题及答案

    参考答案如下 新时期的思想解放,中国是从( )开始的 定时\\\\/计数器若工作在循环定时或循环计数场合,大学为了能够自动完成计数初值的加载,应选用( ). 公安机关依法对违反行政法律规范的人,编程 ...

  8. python程序设计基础试题及答案_智慧职教2020Python程序设计基础试题及答案

    [单选] 匈牙利狂想曲>的第二首中出现了民间舞曲() [单选] 16世纪意大利牧歌最初几个声部() [填空题] 干燥区各分区的()是用来平衡整个输送带上的循环风速的. [单选] 相比较原著,歌剧 ...

  9. python安装函数库pip网址_批量安装python库函数---pip

    android Sqlite小记 1.android.database.sqlite.SQLiteException: near "": syntax error (code 1) ...

  10. 【数据库原理及应用】经典题库附答案(14章全)——第十四章:分布式数据库系统

    [数据库原理及应用]经典题库附答案(14章全)--第一章:数据库基础知识 [数据库原理及应用]经典题库附答案(14章全)--第二章:关系数据库知识 [数据库原理及应用]经典题库附答案(14章全)--第 ...

最新文章

  1. 使用 LocalDateTime 而不是 Date
  2. onenote怎么同步到电脑_详解onenote保存与同步④:本地笔记奇葩的丢失经历
  3. common.logging和log4j比较
  4. PyTorch-训练
  5. java string document_java - String 和 document 的相互转换总结
  6. 函数perror、strerror
  7. 揭开HTTPS的神秘面纱
  8. RNN到LSTM详解
  9. 如何把Linux的虚拟内存调成0,手把手教您扩展虚拟内存
  10. Laravel 大将之 路由 模块
  11. ++递归 字符串全排列_一文看懂全排列算法
  12. Prototype使用$$()函数
  13. Java-集合第一篇认识Java集合
  14. java quic kcptun_Server-网络加速Kcptun
  15. 学习日记| javaScript在网页绘制国际象棋盘
  16. 只有努力了,你才能成为想要的样子
  17. 笔记本电脑需要计算机管理员提供的,笔记本电脑设置了管理员权限钉钉软件安装不了咋办呢...
  18. 备战面试日记(3.2) - (设计模式.23种设计模式之创建型模式)
  19. 李笑来——彻底戒掉抱怨(阅读总结)
  20. c语言实现顺序存储程序,线性表的顺序存储结构动态态分配C语言实现

热门文章

  1. MOSS SDK学习笔记系列文章
  2. VMware Fusion指定虚拟机IP
  3. 制作生成静态页面的新闻系统
  4. http2-stream-optima-prioritation
  5. Testing tools
  6. 《IT咨询指南》读书笔记一开卷 前言
  7. 根据.Net代码自动生成UML Sequence 图。
  8. 【Spring源码】Spring中的AOP底层原理分析
  9. 面试必备杀技:SQL查询专项训练!
  10. java中executeQuery()方法