哦?原来Python 面试题是这样的,Python面试题No19
本面试题题库,由公号:非本科程序员 整理发布
第1题:是否遇到过python的模块间循环引用的问题,如何避免它?
这是代码结构设计的问题,模块依赖和类依赖
如果老是觉得碰到循环引用可能的原因有几点:
- 可能是模块的分界线划错地方了
- 可能是把应该在一起的东西硬拆开了
- 可能是某些职责放错地方了
- 可能是应该抽象的东西没抽象
总之微观代码规范可能并不能帮到太多,重要的是更宏观的划分模块的经验技巧,推荐uml,脑图,白板等等图形化的工具先梳理清楚整个系统的总体结构和职责分工
采取办法,从设计模式上来规避这个问题,比如:
- 使用
“__all__”白名单开放接口 - 尽量避免 import
第2题:简单介绍一下python函数式编程?
在函数式编程中,函数是基本单位,变量只是一个名称,而不是一个存储单元。
除了匿名函数外,Python还使用fliter(),map(),reduce(),apply()函数来支持函数式编程。
所以你的重点围绕fliter(),map(),reduce().apply()来介绍就可以顺利和面试官达成一致
第3题:python中函数装饰器有什么作用?
装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。
它经常用于有切面需求的场景,比如:
插入日志、性能测试、事务处理、缓存、权限校验等场景。
有了装饰器,就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。
第4题: 按照要求完成编码?
写一个函数,将两个dict(key是数字,value是string)进行合并,函数返回合并后的dict。
规则如下:如果一个key仅仅存在于其中一个dict中,则直接加入合并后的dict;
如果一个key在两个dict中都存在,那么给定一个choice值,choice可以是任何string,如果choice是任一个dict中的value,则写入,否则不写入。
代码如下
def function(lefdict,rightdict,choice):
samelist=lefdict.keys() & rightdict.keys() # dict.keys()返回的是一个可迭代对象,取两个dict的keys的交集
diflist = lefdict.keys() ^ rightdict.keys() # 取两个dict的keys的不同集
newdict={}
for key,value in lefdict.items():
if key in diflist:
newdict[key]=value
elif key in samelist:
if value==choice:
newdict[key]=value
for key,value in rightdict.items():
if key in diflist:
newdict[key]=value
elif key in samelist:
if value==choice:
newdict[key]=value
print(samelist,diflist)
print(newdict)
return newdict
function({1:'a',2:'b',3:'c'},{4:'f',2:'b',3:'d'},'b')
第5题:按照要求完成编码?
把一个字符串的尾字母移到首位,比如‘abcde’->‘eabcd’,称为一次字符串的旋转。如果字符串1的任何一次旋转可以包含字符串2,则返回true,否则返回false,请写一个函数实现。
代码如下
def function(str1, str2):
str1 = str1[-1] + str1[:-1]
print(str1)
if str1.find(str2) != -1:
return True
else:
return False
print(function("abcde", "cde"))
第6题:关注题,最近在公号更新一个神奇的系列入门文章
更多内容,欢迎关注 https://dwz.cn/r4lCXEuL
哦?原来Python 面试题是这样的,Python面试题No19的更多相关文章
- 周三面试Python开发,这几道Python面试题差点答错,Python面试题No7
第1题:阅读下面的代码,默读出A0,A1至An的最终值. A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5))) A1 = range(10) A2 = [ ...
- 面试题之第一部分(Python基础篇) 80题
第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...
- python 全栈开发,Day43(python全栈11期月考题)
python全栈11期月考题 1.常用字符串格式化有哪些?并说明他们的区别 2.请手写一个单例模式(面试题) 3.利用 python 打印前一天的本地时间,格式为‘2018-01-30’(面试题) 4 ...
- python 学习第五天,python模块
一,Python的模块导入 1,在写python的模块导入之前,先来讲一些Python中的概念性的问题 (1)模块:用来从逻辑上组织Python代码(变量,函数,类,逻辑:实现一个功能),本质是.py ...
- Python黑帽编程1.3 Python运行时与包管理工具
Python黑帽编程1.3 Python运行时与包管理工具 0.1 本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...
- Python黑帽编程2.1 Python编程哲学
Python黑帽编程2.1 Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下P ...
- 进击的Python【第一章】:Python背景初探与Python基础(一)
Python背景初探 一.Python起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做 ...
- Python学习【第一篇】Python简介
Python简介 Python前世今生 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 现在,全世界差不多有600多种编 ...
- Python学习(1)安装Python
***** 安装Python 在官网上 https://www.python.org/downloads/ 可以看到有3.5.1与2.7.11两个版本,我这里用的是3.5.1版本 我用的是win7/ ...
- The Python web services developer: XML-RPC for Python
原文地址:http://www.ibm.com/developerworks/webservices/library/ws-pyth10/index.html 摘要:概括地说,您可以将 XML-RPC ...
随机推荐
- Properties IO持久化
Properties IO持久化 Properties类表示一组持久的属性. Properties可以保存到流中或从流中加载. 属性列表中的每个键及其对应的值都是一个字符串. 方法: String g ...
- 华为云kafka POC 踩坑记录
2019/03/08 18:29 最近在进行华为云相关POC验证,个人主要负责华为云DMS kafka相关.大致数据流程是,从DIS取出数据,进行解析处理,然后放入kafka,再从kafka中取出数据 ...
- 二维数组的转置(java)
public class ShuZhuDaoZhi { public static void main(String[] args) { int data[][] = new int[][]{{1, ...
- Android数据库(1)、SQLite数据库介绍
一.关系性数据库 关系型数据库主要有以下三个特征,尤为明显,如果没有这个三个特征约束,当多个客户端使用数据的时候就会出现各种各样的错误,所以关系型数据库定义这些约束,让客户端程序只要遵守这个规则便 ...
- 为什么要使用Vuex?
为什么要使用Vuex? 1. 假如不使用 1.1 父子组件依赖同一个state 1.2 兄弟组件依赖同一个state 2. 用了Vuex之后 3. 方便记忆和理解
- weexpack 创建项目, 打包Android 和 ios
1: 首先确保 node.js版本大于6.0, 不然使用 weexpack 时会报错(部分使用es6语言,node版本太低不支持es6) 下面所有都是命令行执行的命令 2: 全局安装 weexpack ...
- iOS核心动画高级技巧之CALayer(一)
iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结( ...
- Markdown引用图片,且不使用网上链接的解决方法
首先介绍下markdown使用图片的3种方法 使用本地图片,缺点是要用到本地的绝对路径,不适合对文档做迁移,否则会有图片链接失效的情况 ![thisisimage](C:\\Users\\Goose\ ...
- JSP注释格式
一.JSP注释格式来源 JSP是Sun Microsystems公司制定的一种服务器端动态网页技术的组件规范,其主体由HTML.CSS.JavaScript和Java拼凑组成. 正是因为JSP是一种组 ...
- 根据accept-language自动设置UICulture和Culture
在web.config中添加如下配置: <system.web> <globalization uiCulture="auto" culture="au ...