最常见的 35 个 Python 面试题及答案
链客,专为开发者而生,有问必答!
此文章来自区块链技术社区,未经允许拒绝转载。
作为一个 Python 新手,你必须熟悉基础知识。在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试。包括 Python 开发问题、编程问题、数据结构问题、和 Python 脚本问题。让我们来深入研究这些问题。
Python 面试问题
Q.1. Python 的特点和优点是什么?
Python 可以作为编程的入门语言,因为他具备以下特质:
解释性
动态特性
面向对象
语法简洁
开源
丰富的社区资源
实际上 Python 的优点远不止这些,更详细的介绍可以阅读 Introduction to Python( https://data-flair.training/blogs/python-tutorial/)
Q.2. 深拷贝和浅拷贝的区别是什么?
深拷贝是将对象本身复制给另一个对象。这意味着如果对对象的副本进行更改时不会影响原对象。在 Python 中,我们使用 deepcopy()函数进行深拷贝,使用方法如下:
深拷贝-Python 面试问题及答案
浅拷贝是将对象的引用复制给另一个对象。因此,如果我们在副本中进行更改,则会影响原对象。使用 copy()函数进行浅拷贝,使用方法如下:
浅拷贝-Python 面试问题及答案
Q.3. 列表和元祖有什么不同?
主要区别在于列表是可变的,元祖是不可变的。看下面的例子:
会出现以下错误提示:
TypeError: ‘tuple’ object does not support item assignment
关于列表和元祖的更多内容参考 Tuples vs Lists( https://data-flair.training/blogs/python-tuples-vs-lists/)
- Python 面试基础题
Q.4 到 Q.20 是新手经常会被问到的一些 Python 基础题,有经验的人也可以参考这些问题来复习这些概念。
Q.4. 解释 Python 中的三元表达式
与 C++不同, 在 Python 中我们不需要使用 ? 符号,而是使用如下语法:
[on true] if [expression]else [on false]
如果 [expression] 为真, 则 [on true] 部分被执行。如果表示为假则 [on false] 部分被执行
下面是例子:
2
Hi
Q.5. Python 中如何实现多线程?
线程是轻量级的进程,多线程允许一次执行多个线程。众所周知,Python 是一种多线程语言,它有一个多线程包。
GIL(全局解释器锁)确保一次执行单个线程。一个线程保存 GIL 并在将其传递给下一个线程之前执行一些操作,这就产生了并行执行的错觉。但实际上,只是线程轮流在 CPU 上。当然,所有传递都会增加执行的开销。
Q.6. 解释继承
一个类继承自另一个类,也可以说是一个孩子类/派生类/子类,继承自父类/基类/超类,同时获取所有的类成员(属性和方法)。
继承使我们可以重用代码,并且还可以更方便地创建和维护代码。Python 支持以下类型的继承:
单继承- 一个子类类继承自单个基类
多重继承- 一个子类继承自多个基类
多级继承- 一个子类继承自一个基类,而基类继承自另一个基类
分层继承- 多个子类继承自同一个基类
混合继承- 两种或两种以上继承类型的组合
关于继承的更多内容参考 Python Inheritance( https://data-flair.training/blogs/python-inheritance/)
Q.7. 什么是 Flask?
Flask 是一个使用 Python 编写的轻量级 Web 应用框架,使用 BSD 授权。其 WSGI 工具箱采用 Werkzeug,模板引擎则使用 Jinja2。除了 Werkzeug 和 Jinja2 以外几乎不依赖任何外部库。因为 Flask 被称为轻量级框架。
Flask 的会话会话使用签名 cookie 来允许用户查看和修改会话内容。它会记录从一个请求到另一个请求的信息。但如果要修改会话,则必须有密钥 Flask.secret_key。
我们将在后续的课程中进一步讨论 Flask。
Q.8. 如何在 Python 中管理内存?
Python 用一个私有堆内存空间来放置所有对象和数据结构,我们无法访问它。由解释器来管理它。不过使用一些核心 API,我们可以访问一些 Python 内存管理工具控制内存分配。
Q.9. 解释 Python 中的 help() 函数和 dir() 函数。
help() 函数返回帮助文档和参数说明:
运行结果如下:
Help on function copy in module copy
copy(x)
Shallow copy operation on arbitrary Python objects.
See the module』s doc string for more info.
dir() 函数返回对象中的所有成员 (任何类型)
Q.10. 当退出 Python 时是否释放所有内存分配?
答案是否定的。那些具有对象循环引用或者全局命名空间引用的变量,在 Python 退出是往往不会被释放
另外不会释放 C 库保留的部分内容。
Q.11. 什么是猴子补丁?
在运行时动态修改类和模块
Hi, monkey
Q.12. 什么是 Python 字典?
字典是我在 C++和 Java 中没有见过的数据结构,它拥有键-值对
3
字典是可变的,我们也可以用推导式的方式创建它.
{25: 5, 16: 4, 9: 3, 4: 2, 1: 1}
要了解更多字典的内容请点击 Python Dictionaries( https://data-flair.training/blogs/python-dictionaries/)
Q.13. 能否解释一下 *args 和 **kwargs?
如果我们不知道将多少个参数传递给函数,比如当我们想传递一个列表或一个元组值时,就可以使用*args。
3
2
1
4
7
当我们不知道将会传入多少关键字参数时,使用**kwargs 会收集关键字参数。
使用 args 和 kwargs 作为参数名只是举例,可以任意替换。
对于 Python 的基础题任何疑问,请在评论区提问。
Q.14. 编程实现计算文件中的大写字母数
26
Q.15. 什么是负索引?
我们先创建如下列表:
与正索引不同…
…
相关文章:

PHP 中日期时间函数 date() 用法总结
[导读] date()是我们常用的一个日期时间函数,下面我来总结一下关于date()函数的各种形式的用法,有需要学习的朋友可参考。格式化日期date() 函数的第一个参数规定了如何格式化日期 时间。它使用字母来表示日期和时间 格式化日期date() 函数的第一个参数规…

mac mysql的安装
mac是重装的系统,很干净,没有xmpp等组合的服务器。 1. 安装mysql server https://dev.mysql.com/downloads/mysql/ 这里是官网地址,选择需要的版本下载,我下载的是第一个dmg的,进入后,会让登陆或注册&#…

windows系统和linux系统可以使用相同的js代码吗_「React 手册 」在 Windows 下使用 React , 你需要注意这些问题...
大家好,本篇内容,我要和大家聊聊使用 Windows 开发 React ,你需要注意的一些问题。首先说明下,我不是使用 windows 进行开发,因为其配置开发环境来说不是特别方便,我更喜欢 苹果mac 或者乌班图这样的系统&a…

以太坊:比特币 + 无限可能
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 还记你得刚学编程时,第一次使用“对象”的感觉吗?还记你第一次尝试函数式编程的样子吗?这些编程范式࿰…

thinkphp5内置标签
thinkphp5内置标签 知道内置标签怎么用,查手册的时候好查 却功能的时候在里面找着来用 内置标签一览 1 内置标签2 3 变量输出使用普通标签就足够了,但是要完成其他的控制、循环和判断功能,就需要借助模板引擎的标签库4 功能了,系统…

python可视化窗口制作一个摇骰子游戏_使用python制作一个抽奖小游戏——骰子游戏...
1.模拟真实环境掷骰子 从Python标准库中调用模块:random——random中包含以各种方式生成随机数的函数 从random中引用randint这一函数——骰子都是有固定面数 from random import randint **2. **创建Die类**** 骰子属性sides(面数)默认为6面…

C#拾遗(一、基本类型)
1. C#是一种块结构语言,用花括号{}分块,但是用#region和#endregion来定义可以展开和折叠的代码区域 #region 这是引用区 using System; ...... #endregion 2. C#简单类型都是小写,bool,string类型要区别于Java的写法;float、decim…

我不喜欢Go语言的十个理由
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 Go 语言有多火爆?国外如 Google、AWS、Cloudflare、CoreOS 等,国内如七牛、阿里、知乎等都已经开始大规模使用 Go 语言开发…

写扩展性好的代码:函数
http://blog.jobbole.com/107442/转载于:https://www.cnblogs.com/answercard/p/8862006.html

PHP学习笔记:万能随机字符串生成函数(已经封装好)
做验证码用到的,然后就把这个函数封装起来,使用时候要设置2个参数: $str设置里要被采集的字符串,比如: $strefasfgzsrhftjxjxjhsrth; 则在函数里面生成的字符串就回从efasfgzsrhftjxjxjhsrth里面随机抓取; …

python中getopt函数_python getopt模块详解
getopt这个函数 就是用来抽取 sys.argv 获得的用户输入来确定执行步骤。 getopt是个模块,而这个模块里面又有getopt 函数,所以getopt需要这样这样用。 getopt.getopt( [命令行参数列表], "短选项", [长选项列表] ) 该函数返回两个值. opts 和a…

Go语言的前景分析
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 抓住时代的趋势 在上篇文章中,也就是那个跨维度的打击,是可以直接秒杀的中,提到这个时代的问题,这次…

SQL获取当月天数的几种方法
SQL获取当月天数的几种方法 原文:SQL获取当月天数的几种方法 日期直接减去int类型的数字 等于 DATEADD(DAY,- 数字,日期) 下面三种方法: 1,日期加一个月减去当前天数,相当于这个月最后一天的日期。然后获取天数。(注意,…

移动端zepot媒体查询media queries
使用zepot做轮播图<head> <meta charset"utf-8"> <meta name"viewport" content"widthdevice-width, user-scalableno, initial-scale1.0, maximum-scale1.0, minimum-scale1.0"> <title>jd首页</title> <link…

前端try catch是如何捕获异常的_一文告诉你如何优雅处理前端异常?
前端一直是距离用户最近的一层,随着产品的日益完善,我们会更加注重用户体验,而前端异常却如鲠在喉,甚是烦人。一、为什么要处理异常?异常是不可控的,会影响最终的呈现结果,但是我们有充分的理由…

区块链热度不断,那么究竟是泡沫还是未来?
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 区块链究竟是泡沫还是未来,需要落脚到实际运用中去判断。区块链区别于传统服务器,其宗旨不是为现实世界带来某个特定的产品&…

集成 Kendo UI for Angular 2 控件
伴随着 Angular 2 的正式 release,Kendo UI for Angular 2 的第一批控件已经发布了,当前是 Beta 版本,免费使用。 官方站点:Kendo UI for Angular 2 Kendo UI for Angular 被打包成独立的多个 NPM package,在 Progres…

按钮垂直居中_带下拉按钮的动态图表
小伙伴们好啊,今天和大家一起分享一个图表制作的技巧,先来看看效果:这个图表里,其实有三个数据系列,分别是一深一浅两个颜色的条形图,再就是大大的圆圈儿,其实是用散点图模拟出来的。先来看数据…

第一周Access课总结
第一周Access课总结 1:这节课学到了什么? 这节课重点学了数据库是用来干什么 做什么的 老师怕我们理解不了 用了很长时间向我们举了很多的例子 让我们终于知道了数据库是用来干嘛的了 顾名思义 数据库就是存放数据的仓库 是长期存放在计算机内 有组织…

以太坊,EOS和其他DApps的总数达到2,432,但没有大规模采用
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 根据分散应用监测网站StateOfTheDApps,每月创建的新DApps数量的最高水平是2018年12月。去年最后一个月共有179个新的DApps上线。 以太…

docker logstash_用于监视Kubernetes和Docker的六大开源工具
Kubernetes和Docker是在DevOps圈中最常听到的两个词。Docker是一个工具,它使你能够以容器化的方式运行应用程序,Kubernetes是一个用于编排、管理容器的平台——如果你想使用Docker CLI去手动地管理数千个容器,这是不切实际的。然而࿰…

大道至简第一章读后感
当今社会,信息化飞速发展,软件的需求也越来越高,而《大道至简》给我们点透了编程的精义。 大道至简第一是讲的便是编程的精义,文章借愚公移山这个故事来阐释编程的基本思路:出现一个问题(惩山北之塞&#x…

nginx resolver 指令的使用
官方解释下就是:反向代理的场景,upstream后端用域名时,配置resolver以便于nginx能够解析该域名 Configures name servers used to resolve names of upstream servers into addresses 官网地址:http://nginx.org/en/docs/http/ngx…

以太坊和EOS DApp数量上升
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 目前,在最受欢迎的智能合约平台以太坊和EOS上,每月大约有180个新的去中心化应用程序(DApps),该数量处于历史最高…

转载iOS开发中常见的警告及错误
iOS警告收录及科学快速的消除方法 前言:现在你维护的项目有多少警告?看着几百条警告觉得心里烦么?你真的觉得警告又不是错误可以完全不管么? 如果你也被这些问题困惑,可以和我一起进行下面的操作。其实大部分的警告都是…

数学思想 —— 低维与高维的统一
在平面几何有勾股定理:“假设三角形ABC的两边AB、AC互相垂直,则有关系: AB2AC2BC2当我们拓展到空间,类比平面几何的勾股定理并研究三棱锥的侧面面积与底面面积的关系时,我们可得到相应结论:假设三棱锥A-BCD…

python键_在Python中创建键命令
我正在根据我在网上找到的一个脚本编写我自己的简单键记录器。但是,我正在尝试编写一个键命令,以便在键入此命令时记录器程序将关闭。我该怎么做?(我也知道它一点也不安全,但这与这个程序无关) 例如&#x…

对标以太坊的EOS再火,也拼不过InterValue的区块链4.0
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 2017年6月26日上线的数字货币EOS,仅用5天时间,就融了1.85亿美元,一举打破ICO的融资记录。 至2018年4月12日&a…

python中ttk和tkinter_Python tkinter与ttk日历
我正在使用 this代码在我的Tkinter上创建一个简单的日历.当我在主根窗口上放置日历时,日历显示正常.因此,我决定放置另一个按钮,它将创建一个Tkinter顶层窗口并在顶层窗口上放置另外一个日历.但这次它无法显示日历,而是它给了我这个错误,“TclError:无法打包. 18913…

Ubuntu dns
在Ubuntu系统网络设备启动的流程中,会依赖/etc/network/interface的配置文件初始化网络接口,所以直接在/etc/network/interface之中配置好对应的dns服务器会最先写入/etc/resolv.conf。所以我们可以在其中添加如下内容: dns-nameserve…