Python - [04] 面试题汇总
题记部分
001 || Python的特点和优点
Python可以作为编程的入门语言,因为他具有以下特质:
(1)解释型
(2)动态特性
(3)面向对象
(4)语法简洁
(5)开源
(6)丰富的社区资源
002 || 深拷贝和浅拷贝的区别
深拷贝是将对象本身复制给另一个对象,意味着如果对对象的副本进行更改时不会影响原对象。在Python中,使用deepcopy()函数进行深拷贝。浅拷贝是将对象的引用复制给另一个对象。因此,如果我们在副本中进行更改,则会影响原对象。使用copy()函数进行浅拷贝。
003 || 列表和元组的区别
主要区别在于列表是可变的,元组是不可变的。改变元组则程序报错【TypeError: 'tuple' object does not support item assignment】
004 || 解释Python中的三元表达式
在Python中不需要使用?符号,而是使用 [on true] if [expression] else [on false]
如果[expression]为真,则[on true]部分被执行。如果表示假则[on false]部分被执行。
005 || Python中如何实现多线程
线程是轻量级的线程,多线程允许一次执行多个线程。Python是一种多线程语言,它有一个多线程包。
GIL(全局解释器锁)确保一次执行单个线程。一个线程保存GIL并在起传递给下一个线程之前执行一些操作,这就产生了并行执行的错觉。但实际上,只是线程轮流在CPU上。当然,所有传递都会增加执行的开销。
006 || 解释继承
一个类继承自另一个类,也可以说是一个孩子类/派生类/子类,继承自父类/基类/超类,同时获取所有的类成员(属性和方法)
继承使我们可以重用代码,并且还可以更方便地创建和维护代码。Python支持以下类型的继承:
(1)单继承 —— 一个子类继承自单个基类
(2)多重继承 —— 一个子类继承自多个基类
(3)多级继承 —— 一个子类继承自一个基类,而基类继承自另一个基类
(4)分层继承 —— 多个子类继承自同一个基类
(5)混合继承 —— 两种或两种以上继承类型的组合
007 || 什么是Flask
Flask是一个使用Python编写的轻量级Web应用框架,使用BSD授权。其WSGI工具箱采用Werkzeug,模板引擎则使用Jinja2。除了Werkzeug和Jinja2以外几乎不依赖任何外部库。因为Flask被称为轻量级框架。Flask的会话使用签名cookie来允许用户查看和修改会话内容。它会记录从一个请求到另一个请求的信息。但如果要修改会话,则必须有密钥Flask.secret_key。
008 || 如何在Python中管理内存
Python用一个私有堆内存空间来放置所有对象和数据结构,我们无法访问它。由解释器来管理它。不过使用一些核心API。我们可以访问一些Python内存管理工具控制内存分配。
009 || 解释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()函数返回对象中的所有成员(任何类型)
010 || 当退出Python时是否释放所有内存分配
不会释放。那些具有对象循环引用或者全局命名空间引用的变量,在Python退出时往往不会被释放,另外不会释放C库保留的部分内容。
注: Python的C库是指用C语言编写的扩展模块,这些模块可以提供高性能的底层功能。 通过使用C语言编写的扩展模块,Python程序能够集成这些底层功能,从而提高程序的性能和效率
011 || 什么是猴子补丁
Python中的猴子补丁是一种在运行时动态修改代码的技术。允许在不修改源代码的情况下,改变代码的执行方式或增加功能。猴子补丁通过替换对象的属性或方法,达到修改代码行为的目的。具体来说,Python的类是可变的,方法只是类的属性,因此我们可以在运行时修改这些属性,从而改变方法的行为。
012 || 什么是Python字典
字典是一种数据类型,类似于Java中的Map。是一个无序的键值对集合,其中的键必须是唯一的,通常用于存储大量的关键数据。字典中的键值对用冒号分割,而各个键值对之间用逗号分割,整个字典包括在花括号中。字典的值是可变的。
013 || 能否解释一下 *args 和 **kwargs
*args和**kwargs是Python中的可变位置参数和关键字参数。它们允许函数接收任意数量的参数。
*args允许你传递一个非键值对的可变数量的参数列表。
**kwargs允许你传递一个键值对的可变数量的参数列表。
如果不知道将多少个参数传递给函数,比如想传递一个列表或一个元组值时,可以使用*args
不知道将会传入多少关键字参数时,使用*kwargs会收集关键字参数。
014 || 什么是负索引
在Python中,负索引用于从序列的末尾开始计数,而不是从开头开始。
序列的默认索引是从0开始的,但是最大的索引是序列长度减去1。当使用负索引时,可以从-1开始计数,最后一个元素的索引是-1,倒数第二个元素的索引是-2,依此类推。
— 业精于勤荒于嬉,行成于思毁于随 —
Python - [04] 面试题汇总的更多相关文章
- python面试笔试题汇总
Python面试攻略(嗨谈篇) 110道python面试笔试题汇总,你能答对几道? Python 面试问答 Top 25 2018 年最常见的 Python 面试题 & 答案
- Python 经典面试题汇总之数据库篇
数据库和缓存 1.列举常见的关系型数据库和非关系型都有那些? 关系型数据库(需要有表结构) mysql.oracle.splserver.postgresql.db2.sybase 非关系型数据库(是 ...
- 110道python面试笔试题汇总,你能答对几道?
数据分析系列教程插播一篇面试题教程,最近公众号新来了不少朋友,这几天不少粉丝留言说问我有没有python面试题,其实之前分享过一些面试题,今天统一再给大家分享一遍,也希望能帮助此时仍在找工作的同学,尽 ...
- Python 经典面试题汇总之框架篇
前端和框架 1.谈谈你对http协议的认识 浏览器本质,socket客户端遵循Http协议 HTTP协议本质:通过\r\n分割的规范,请求响应之后断开链接 ==> 短连接.无状态 具体: Htt ...
- Python 经典面试题汇总之网络篇
网络篇 1.简述 OSI 七层协议 物理层:定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质. 数据链路层:定义如何传输格式化数据,以及如何访问物理介质. 网络层:定义逻辑网络地址. ...
- Python 经典面试题汇总之基础篇
基础篇 1:为什么学习Python 公司建议使用Python,然后自己通过百度和向有学过Python的同学了解了Python.Python这门语言,入门比较简单,它简单易学,生态圈比较强大,涉及的地方 ...
- Python面试题汇总
原文:http://blog.csdn.net/jerry_1126/article/details/44023949 拿网络上关于Python的面试题汇总了,给出了自认为合理的答案,有些题目不错,可 ...
- iOS常见面试题汇总
iOS常见面试题汇总 1. 什么是 ARC? (ARC 是为了解决什么问题而诞生的?) ARC 是 Automatic Reference Counting 的缩写, 即自动引用计数. 这是苹果在 i ...
- Redis 面试题汇总
Redis 面试题汇总 1.Redis 使用场景有哪些? 答:Redis 使用场景如下: 记录帖子点赞数.点击数.评论数 缓存近期热帖 缓存文章详情信息 记录用户会话信息 2.Redis 有哪些功能? ...
- AJAX笔试面试题汇总
AJAX笔试面试题汇总 Javascript 1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么是ajax: AJAX是“Asynchronous JavaScript a ...
随机推荐
- GraphQL Part VIII: 使用一对多查询
今天,我们引入两个新的实体来处理客户与订单.客户与订单之间是一对多的关系,一个客户可以拥有一个或者多个订单,反过来,一个订单只能被某个客户所拥有. 可以按照 Engity Framework 的约定配 ...
- Qt/C++编写的Onvif调试助手调试神器工具/支持云台控制/预置位设置等/有手机版本
一.功能特点 广播搜索设备,支持IPC和NVR,依次返回. 可选择不同的网卡IP进行对应网段设备的搜索. 依次获取Onvif地址.Media地址.Profile文件.Rtsp地址. 可对指定的Prof ...
- Qt血的教训/细数Qt开发的各种坑/又爱又恨/欢迎围观留言评论
一.吐槽总结 搞Qt开发十几年了,最初从Qt4.6开始,一直追新到现在的6.7版本,中间经历过无数的血的教训,简直是又爱又恨.其实Qt挺好的,但是还是要忍不住吐槽一下,本人还是希望Qt发展的越来越好, ...
- Qt编写地图综合应用49-地图类型(街道图、卫星图)
一.前言 地图类型主要是两种,街道图和卫星图,平时我们看到的默认的都是街道图,无论是街道图还是卫星图,都是一张张图片文件组成的,级别越高,图片越是清晰,一般都会支持到19级的地图,相当于精确到20米内 ...
- [转]OpenLayer4地图全屏的实现
第一种方式:自实现 1.首先将地图容器的长宽设置成100%. 2.对form 和body标签长宽设置成100%. 3.对浏览器进行全屏设置. 具体代码如下所示(fullextent 为全屏安全ID.) ...
- Hugo 静态博客部署
I. 前提条件 1.1 安装 Hugo 1.1.1 Windows 1.下载 Hugo(建议下载扩展版):Hugo(github.com) 2.解压 Hugo 压缩包到指定目录. 3.[Win + R ...
- 为什么 .NET8线程池 容易引发线程饥饿
一:背景 1. 讲故事 最近时间相对比较宽裕,多写点文章来充实社区吧,这篇文章主要还是来自于最近遇到的几例线程饥饿(Task.Result)引发的一系列的反思和总结,我觉得.NET8容易引发饥饿的原因 ...
- c# 创建快捷方式并添加到开始菜单程序目录
Using the Windows Script Host (make sure to add a reference to the Windows Script Host Object Model, ...
- biancheng-Spring
目录http://c.biancheng.net/spring/spring-abc.html 1Spring是什么2Spring体系结构3Spring开发环境搭建4第一个Spring程序5Sprin ...
- ctfshow--web7 sql注入空格过滤
?id=10//union//select//1,database(),3//%23查看库名 查看表名 -1/**/union/**/select/**/1,(select/**/group_conc ...