面试题
予过天晴
这个作者很懒,什么都没留下…
展开
-
面试题关于迭代器和生成器
提到python的迭代器,首先要说的是可迭代对象,简单来说,可迭代对象就是一个能够被循环遍历的对象,同时也是一个包含__iter__()魔术方法的对象。而迭代器简单来说就是一个可以记住遍历位置的对象,同时也是一个包含__next__()魔术方法的对象。迭代器只能按照顺序访问数据,一旦提取数据,迭代器就会释放该数据的内存,也就是说该数据已经不存在了。那么如何创建迭代器以及如何获取迭代器的数据?1.创建 iter(可迭代对象)/可迭代对象.iter()2.获取数据 next(迭代器)/迭代器.next(原创 2020-09-15 08:59:23 · 441 阅读 · 0 评论 -
re的简单练习
1.a= “abbbccc”,用正则匹配为 abccc,不管有多少b,就出现一次?import rea= "abbbccc"print(re.sub("b+","b",a))2.写出开头匹配字母和下划线,末尾是数字的正则表达式?import reres="a_0ds23h1234"print(re.findall("^[a-zA-Z_]+.{1,}\d$",res))3.匹配一个手机号import rephone="15567865678"print(re.findall("^1[原创 2020-09-03 20:52:02 · 441 阅读 · 0 评论 -
列表练习:斐波那契数列
方法一(普通方法)f1=1f2=1lst=[1,1]print(f"第1项数据是{f1}")print(f"第2项数据是{f2}")for i in range(3,11): f3=f1+f2 print(f"第{i}项数据为{f3}") lst.append(f3) f1=f2 f2=f3print(lst)方法二(递归方法)lst=[]def func(num): if num==1: return 1 if原创 2020-08-31 20:16:56 · 1057 阅读 · 0 评论 -
多任务中一些名词区别
多任务就是指同一时间或同一时间段同时执行多个任务,但其中涉及到了不少名词,比如:并发和并行;同步和异步;线程和进程。下面简单介绍一下区别:1.并发和并行。并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。并行:当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行。简单来说就是:并行是多个任务同原创 2020-08-31 19:40:21 · 223 阅读 · 0 评论 -
面向对象的封装问题(一道面试题)
面试题: 请解释一下为什么python中面向对象开发时,两个下划线开头的属性不能直接访问,编写代码就是为了来运算的,不能访问还有什么意义?答:a.属性私有化是python层面的操作,底层解释器在解释时将两个下划线开头的属性性进行了自动转换,变成了“_类名__属性名”的形式,原来的“__属性名称”已经不存在了,所以不能直接访问,但是可以通过转换后的语法来访问,但是不推荐b.数据就是参与运算的,私有化属性数据有两个用途,第一可以用在当前类型中的业务流程中,如对象的一个临时属性方法等等,第二可以使用类提供的原创 2020-08-24 21:12:04 · 286 阅读 · 0 评论 -
python中对象的创建
python对象的创建是一个过程,其前提是类的创建(类:将具有共同特征以及行为的一组对象进行抽象,抽象出来的东西,描述一类事物的概念)而对象是实际存在的物体,包含了具体属性和方法的实体,这个事物是通过类创建创建出来的。其过程是:类的创建(class 类名)----------->变量的赋值(变量=类名(参数))-----------> 执行类的__new__方法创建对象---------->执行类的__init__方法初始化对象--------->将对象赋值给变量代码示例如下:原创 2020-08-22 16:30:10 · 430 阅读 · 0 评论 -
实现对列表排序,规则为奇数在前,偶数在后方法总结
lst=[9,8,7,6,5,4,3,2,1]对lst进行排序,规则为奇数在前偶数在后,总体升序方法一:(不使用内置函数)1.使用列表表达式lst=[9,8,7,6,5,4,3,2,1]#先升序排列 sort的参数默认为reverse = False 升序;True :降序lst.sort() #分别将列表中奇数和偶数提取出来lst1=[i for i in lst if i%2 == 0]lst2=[i for i inlst if i%2 != 0]#将偶数的列表添加在奇数列表后原创 2020-08-22 14:54:42 · 3464 阅读 · 0 评论 -
python 函数的一道面试题
一道很有意思的面试题’def func(): acts=[] for i in range(5): acts.append(lambda x:i**x) return actsacts=func()print(acts[0](2))print(acts[1](2))print(acts[2](2))print(acts[3](2))猜猜看结果是什么?相信很多人的答案都是:0,1,4,9但实际结...原创 2020-08-19 20:43:52 · 140 阅读 · 0 评论