Python 经典面试题(一)
一、浮点数运算
题目
判断浮点数的运行结果是否相等:
a = 0.1
b = 0.2
c = 0.3
assert a + b == c
题目解析:
本题考查的是计算机的浮点运算知识点。不仅是 python 语言,其他的编程语言也面临同样的问题:在进行浮点运算的时候,10 进制表示方式会丢掉它的精度,造成运算结果与实际结果不符合。
这是由于底层 CPU 和运算标准通过自己的浮点单位去执行算术时的特征决定的。看似有穷的小数, 在计算机的二进制表示里却是无穷的。
所以在进行高进度浮点运算的时候一定要注意,尤其是自动化测试过程中需要进行断言非常容易出错。
题目答案:
断言失败,抛出 AssertionError 错误。
解决方案:
使用 Decimal 模块:
from decimal import Decimal
a = 0.1
b = 0.2
c = 0.3
assert Decimal(str(a)) + Decimal(str(b)) == Decimal(str(c))
Decimal() 可以维持浮点数的精度,在金融领域和测试领域等精度要求高的行业有非常大的作用。 但是一定要注意: Decimal() 传的参数一定要是字符串类型,如果是数据类型会再次丢掉精度。
Decimal(0.1) + Decimal(0.2) == Decimal(0.3) # False
Decimal('0.1') + Decimal('0.2') == Decimal('0.3') # True
二、列表的扁平化和降维
题目
有一个二维列表,降成普通的一维的。比如说柠檬班都会有学员分组,我们想通过分组信息去获取所有的学员名称。
groups = [['huahua', 'xiaojian'], ['musen', 'yuze'], ['keyou']]
# 得到结果 ['huahua', 'xiaojian', 'musen', 'yuze', 'keyou']
方法一
最简单的方式可以通过 for 循环的方式一一提取:
names = []
for group in groups:
for name in group:
names.append(name)
print(names)
方法二
但是在面试的时候可能会加一些限制,比如让你用一行代码实现,这个时候就需要对 python 基础有进一步的理解了,比如说使用 sum 函数:
names = sum(groups, [])
非常简单就实现了同样的功能。 sum 函数为什么可以做到呢?先看一个简单的例子:
a = sum([1,2,3])
得到的结果是 6, 也就是说, sum 函数会把一个列表里面的每个元素相加。但是 sum 函数还可以有第二个参数:开始值,默认为 0 , 所以上述过程其实可以写成:
a = sum([1,2,3], 0)
# 0 + 1 + 2 + 3
依据同样的道理,可以对列表进行降维操作:
a = sum([['yuze'], ['is'], ['a']], [])
# [] + ['yuze'] + ['is'] + ['a']
# 列表拼接
方法三
通过列表推导式也可以方便的解决:
a = [e for group in groups for e in group]
三、多重继承
class A:
def run(self):
print("a is running") class B:
def run(self):
print("b is running") class C(A, B):
pass # 会打印什么???
C().run()
多重继承经常用来出面试题。在这个考题中,C 类的父类 A 和 B 都实现了 run 方法,那在 C 的对象里到底是优先调用哪一个呢?
答案是: a running
菱形问题
class A:
def run(self):
print("a running") class B(A):
pass class C(A):
def run(self):
print("C running") class D(B, C):
pass # 会打印什么???
D().run()
他们的继承关系图可以简化如下,这个问题又称为菱形问题或者钻石问题:
aaarticlea/png;base64,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8uTJeHp64unpyejRo5k/fz5ffPEFK1eu5JtvvmHr1q2cO3eO27dvc/v2bZKSksjOziY3Nxe1Wo3RaJQZAiGEEOWOBAQhRLlhMpnIycnhwIEDODs7889//pO33noLKysrFi1aRGxsrEWetD9tc3q62PjfXyaT6dnr/37taYtQabRJ/acapayVvIwAACAASURBVCVJCCFESZCAIISwOEVRKCgo4Pjx47i7u1OjRg2aN2/OvHnzuHz5MmlpaRQXF1e4Q87KUmpqKufPn+f27duWLkUIIUQFJwFBCGFRarWa0NBQPv/8c9q0aUOzZs3w9vbmxx9/JD09HZ1OJ0/Fn0NERASzZ8/mk08+4cGDB/I9E0II8dIkIAghLEJRFFQqFUeOHKF///40btyYHj16EBgYSGxsLBqNRga5LyA3N5etW7fi7u6On58f+fn5li5JCCFEBSUBQQhR5sxmM7GxsXz77bc4OzvTokULxo8fz8WLF59t7ylejMlkIioqivnz59OjRw9OnDghAUsIIcRLkYAghCgziqKg1Wo5f/48M2bMwNHRkV69erFixQru3LmDXq+3dIkVmlar5fjx4wwcOBBvb29SUlIsXZIQQogKSAKCEKJMKIpCdnY2hw8fZvjw4bi4uDBp0iQOHjxISkpKqZ1x8CpRFIXExET8/f358MMP2bx5s3xfhRBCvDAJCEKIUqcoChEREQQEBNCvXz/69OnDsmXLuHXrFiqVSlphSpBer+fy5ct4enrSr18/oqOjLV2SEEKICkYCghCi1CiKQlFREZcuXcLHxwcnJyeGDBnCzp07SU5Olm1LS0l2djabN2/G3t6eVatWyYJvIYQQL0QCghCiVJjNZnJzczly5Ah9+/alRYsWjB49mosXL1JUVCQD1lJkMpl4/PgxI0aMoEOHDty5cweDwWDpsoQQQlQQEhCEECXOaDSSlpbG7t27n+1SNGfOHO7du4dGo7F0ea+EvLw8tmzZQq1atfj888/JysqS3aGEEEI8FwkIQogSoygKarWayMhI1q5dS7t27WjdujXr16+XAWoZM5vNREdH0717d6ysrDhz5gxardbSZQkhhKgAJCAIIUqEoijk5+dz7tw5xo8fT926denevTsXL15Er9dLS5EF5Ofns3btWt58800mTpxIenq6/DsIIYT4TRIQhBC/m9lsJi8vj7179+Ls7MwH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" alt="" />
答案是: c running
如果我们不让 C 类继承 A 呢?
class A:
def run(self):
print("a running") class B(A):
pass class C:
def run(self):
print("C running") class D(B, C):
pass # 会打印什么???
D().run()
他们的继承关系图可以简化如下,可以简称为 v 型问题:
aaarticlea/png;base64,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" alt="" />
答案会变成 a running
题目解析
具体原因是 python 的继承会遵循特定的顺序,优先级排在前面的,子类会优先使用。怎么快速查看这种继承顺序呢?通过D.__mro__
去查看
比如在 菱形问题上,d 的顺序是这样的:
(<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>)
D 排在最前面,如果 D 定义了 run 方法,就会被优先使用,然后是 B, 然后是C, 然后是 A, 最后是 object 基类。
而在 V 行问题上,d 的顺序又变成了这样:
(<class '__main__.D'>, <class '__main__.B'>, <class '__main__.A'>, <class '__main__.C'>, <class 'object'>)
A 和 C 互换了顺序。造成 2 个题目的答案不一致。
Python 经典面试题(一)的更多相关文章
- Python 经典面试题汇总之数据库篇
数据库和缓存 1.列举常见的关系型数据库和非关系型都有那些? 关系型数据库(需要有表结构) mysql.oracle.splserver.postgresql.db2.sybase 非关系型数据库(是 ...
- Python 经典面试题汇总之基础篇
基础篇 1:为什么学习Python 公司建议使用Python,然后自己通过百度和向有学过Python的同学了解了Python.Python这门语言,入门比较简单,它简单易学,生态圈比较强大,涉及的地方 ...
- Python 经典面试题汇总之框架篇
前端和框架 1.谈谈你对http协议的认识 浏览器本质,socket客户端遵循Http协议 HTTP协议本质:通过\r\n分割的规范,请求响应之后断开链接 ==> 短连接.无状态 具体: Htt ...
- Python 经典面试题汇总之网络篇
网络篇 1.简述 OSI 七层协议 物理层:定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质. 数据链路层:定义如何传输格式化数据,以及如何访问物理介质. 网络层:定义逻辑网络地址. ...
- Python __new__ 实现单例模式 python经典面试题
话不多说,上代码 class Singleton(object): def __new__(cls, *args, **kwargs): if not hasattr(cls, '_instance' ...
- [ZZ]知名互联网公司Python的16道经典面试题及答案
知名互联网公司Python的16道经典面试题及答案 https://mp.weixin.qq.com/s/To0kYQk6ivYL1Lr8aGlEUw 知名互联网公司Python的16道经典面试题及答 ...
- 【ASP.NET Core】EF Core - “影子属性” 深入浅出经典面试题:从浏览器中输入URL到页面加载发生了什么 - Part 1
[ASP.NET Core]EF Core - “影子属性” 有朋友说老周近来博客更新较慢,确实有些慢,因为有些 bug 要研究,另外就是老周把部分内容转到直播上面,所以写博客的内容减少了一点. ...
- python基础面试题整理---从零开始 每天十题(02)
书接上回,我们继续来说说python的面试题,我在各个网站搜集了一些,我给予你们一个推荐的答案,你们可以组织成自己的语言来说出来,让我们更好的做到面向工资编程 一.Q:说说你对zen of pytho ...
- JavaScript经典面试题(二)
前言: 近年来T行业就业者越来越多,有关于编程行业的高薪工作也变得越来越难找,竞争力越来越大,想要在众多的应聘者当中脱颖而出,面试题和笔试题一定要多加研究和琢磨,以下记录的是自己的面试过程之中遇到的一 ...
随机推荐
- sqlmap自动注入1(Target完整的超级详细 如有错误望指出)
SQLmap的自动注入学习之路(1) 是通过五种sql注入漏洞的检测技术 ' and(select*from(select(sleep(20)))a)# 这是基于时间的盲注检测 看他返回的时间 可以在 ...
- [BZOJ1001][BeiJing2006]狼抓兔子(最小割转最短路|平面图转对偶图)
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 31805 Solved: 8494[Submit][ ...
- TensorFlow自动求梯度
例1 import tensorflow as tf a=tf.Variable(tf.constant(1.0),name='a') b=tf.Variable(tf.constant(1.0),n ...
- 5、kubernetes资源清单之Pod应用190709
一.Pod镜像及端口 获取帮助文档 # kubectl explain pod.spec.containers spec.containers <[]object> pod.spec.co ...
- Dell做RAID配置图文全教程
首先准备工作:Dell服务器 首先重启Dell,我们会看到Dell服务器的启动页面: 当我们看到出现下面这个界面的时候,根据提示按下Ctrl+R进到SAS磁盘阵列里面 备注:大多数Dell服务器进磁盘 ...
- Dark 数据类型
dark基础数据类型 1数值型 num int a =1; double b=1.0; 2 字符型 string a ='hello'; 插值表达式${expression} int a = 1; ...
- Ruby小白入门笔记之<Rails项目目录结构>
一 .流程分析 二.目录分析 DemoRails app (核心) assets (web前端所需文件) images (图片) javascripts (JS代码) styleshe ...
- [Flask]jinja2渲染分页导航部件
注意: 1.在视图函数中通过request.args.get('page')获取page数,并将page传给macros.html模板文件 效果: 点击8,就跳转到第8页数据了 视图函数 @app.r ...
- 2018.04.02 matplotlib 图名,图例,轴标签,轴边界,轴刻度,轴刻度标签
import numpy as np import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame(np.random.r ...
- RTX和谐说明
1.下载安装原版RTX20152.打开“服务”,停止RTX开头的服务.3.替换C:\Program Files\Tencent\RTXServer\License目录下的License.ini文件:替 ...