Python--笔试题
一、如何提高Python的运行效率:
1、使用生成器,因为可以节约大量内存
2、循环代码优化,避免过多重复代码的执行
3、核心模块用Cython PyPy等,提高效率
4、多进程、多线程、协程
5、多个if elif条件判断,可以把最有可能先发生的条件放到前面写,这样可以减少程序判断的次数,提高效率。
二、举例说明zip函数的用法:
list1 = [1,3,5]
list2 = [2,4,6]
zipped = zip(list1, list2)
print(list(zepped)) # [(1,2),(3,4),(5,6)]
print(list(zip(*zipped)) # [(1,3,5),(2,4,6)]
三、举例说明异常模块中try except else finally的相关意
try..except..else没有捕获到异常,执行else语句
try..except..finally不管是否捕获到异常,都执行finally语句
四、logging模块的使用?
import logging
logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")
五、a=(1,)b=(1),c=("1") 分别是什么类型的数据?
print(type((1, ))) # tuple
print(type((1))) # int
print(type(("1"))) # str
六、统计字符串每个单词出现的次数
from collections import Counter
s3 = "kjalfj;ldsjafl;hdsllfdhg;lahfbl;hl;ahlf;h"
print(Counter(s3))
七、Python三目运算:
# 若果 a>b 成立 就输出 a-b 否则 a+b
h = a-b if a>b else a+b
八、例举五条PEP8 规范例举五条PEP8 规范:
不要在行尾加分号, 也不要用分号将两条命令放在同一行
不要使用反斜杠连接行
不要在返回语句或条件语句中使用括号
顶级定义之间空2行, 方法定义之间空1行,顶级定义之间空两行
如果一个类不继承自其它类, 就显式的从object继承
九、简述面向对象中__new__和__init__区别?
1、__new__至少要有一个参数cls,代表当前类,此参数在实例化时由Python解释器自动识别。
2、__new__必须要有返回值,返回实例化出来的实例,这点在自己实现__new__时要特别注意,可以return父类(通过super(当前类名, cls))__new__出来的实例,或者直接是object的__new__出来的实例。
3、__init__有一个参数self,就是这个__new__返回的实例,__init__在__new__的基础上可以完成一些其它初始化的动作,__init__不需要返回值。
4、如果__new__创建的是当前类的实例,会自动调用__init__函数,通过return语句里面调用的__new__函数的第一个参数是cls来保证是当前类实例,如果是其他类的类名,;那么实际创建返回的就是其他类的实例,其实就不会调用当前类的__init__函数,也不会调用其他类的__init__函数。
十、谈下Python的GIL?
GIL是Python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行Python程序的时候会霸占Python解释器(加了一把锁即GIL),使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。
多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个Python解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大。 十一、Python2和Python3的range(100)的区别?Python2返回列表,Python3返回迭代器,节约内存。
Python--笔试题的更多相关文章
- 【Python】【面试必看】Python笔试题
前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出 2 个笔试题,这些题目一般不难,主要考察基本功.要是给你一台电脑,在编辑器里面边写边调试,没 ...
- 关于面试总结-python笔试题(递归)
前言 本篇继续收集一些常见的python笔试题,以基础知识为主,递归是面试最喜欢考的一个问题,不管是做开发还是测试,都无法避免考递归.本篇结合实际案例,讲下几种关于递归的场景. 计算n的阶乘 计算n! ...
- python笔试题(1)
为了充实自己,小编决定上传自己见到的笔试题和面试题.可能要写好长时间,一时半会写不了多少,只能说遇到多少写多少吧,但是只要小编有时间,会持续上传(但是答案却不能保证,所以有看到错误的及 ...
- Python笔试题&面试题总结
黑色加粗的是笔试题,蓝色是面试题 1.什么是GIL 2.Python中的@staticmethod和@classmethod的区别 (**) 3.Python里面如何拷贝一个对象,并解析深浅拷贝 4. ...
- 关于面试总结-python笔试题
关于面试总结4-python笔试题 前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出2个笔试题,这些题目一般不难,主要考察基本功. 要是给你一 ...
- 最新Python笔试题2017 涵盖知识面广泛
引言 想找一份Python开发工作吗?那你很可能得证明自己知道如何使用Python.下面这些问题涉及了与Python相关的许多技能,问题的关注点主要是语言本身,不是某个特定的包或模块.每一个问题都可以 ...
- 传说中的华为Python笔试题——两等长整数序列互换元素,序列和的差值最小(修正)
有两个序列a,b,大小都为n,序列元素的值任意整形数,无序:要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小. 1. 将两序列合并为一个序列,并排序,得到source ...
- 这十道经典Python笔试题,全做对算我输
经常有小伙伴学了Python不知道是否能去找工作,可以来看下这十道题检验你的成果: 1.常用的字符串格式化方法有哪些?并说明他们的区别 a. 使用%,语法糖 print("我叫%s,今年%d ...
- python笔试题
冒泡排序的原理:每次对相邻的两个元素进行比较,若前者大于后者,这将两者的位置交换.第一轮就可以将最大的元素置于列表的最后.几轮循环 冒泡排序的前提条件:有序的列表 import unittest# 冒 ...
- 简单的python笔试题
1.输出九九乘法口诀 for i in range(1,10): for j in range(1,i+1): print('{}*{}={}'.format(j,i,i*j),end=' ') pr ...
随机推荐
- python接口自动化五(参数关联)
前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 (博客园的登录机制已经变了,不能用账号和密码登录了 ...
- “_MSC_VER”的不匹配项
近些年来vs更新步伐加快,深刻的感受到了技术成长学习的重要性. 另一方面,版本的更换,也带来了许多的问题.今天用2019打开以前2010的工程时就碰到了一个: 检测到“_MSC_VER”的不匹配项: ...
- AOP aspect XML 配置
/** * 00配置接入点:定义一个切入点 * execution(* com.foen.foensys.controller..*.*(..))") "*" 第一个* ...
- Missing radix parameter.报错解决方法
当报“Missing radix parameter.”这个错的时候,是因为使用parseInt没有传第二个参数,以前简写的时候大家几乎都不传,甚至不知道还有第二个参数. 当时候Eslint预发检查时 ...
- linux-网络管理-6
Hub 集线器 物理层设备 多端口中继器,不记忆MAC地址 以太网桥 OSI第二层数据链路层 扩展了网络带宽 分割了网络冲突域,使网络冲突被限制在最小的范围内 交换机作为更加智能的交换设备,能够提供更 ...
- cast() 函数进行类型转换
service_fee 字段定义:`service_fee` decimal(14,4) NULL DEFAULT NULL COMMENT '手续费金额,含税' , 需求:service_fee ...
- EventArgs
序言 DataEventArgs<DataSet> arg = new DataEventArgs<DataSet>(ds); 事件总线 什么是事件总线 我们知道事件是由一个P ...
- Devexpress 10
序言 Grid表格 资料 https://www.devexpresscn.com/
- const与#define的区别
1.const (1)为什么需要const成员函数? C中常用:“ #define 变量名 变量值”定义一个值替代,然而却有个致命缺点:缺乏类型检测机制,这样预处理在C++中成为可能引发错误的隐患,于 ...
- 【gym102394A】Artful Paintings(差分约束系统,二分)
题意:给定一个长为n的序列,每个位置可以选择取或不取,要求构造方案使得: 1.对于前M1个约束,区间[L,R]内取的数量必须严格不少于K 2.对于后M2个约束,区间[L,R]外取的数量必须严格不少于K ...