python面试题整理--基础篇

题目和答案来源于互联网

1.python的特点和优点是什么?

python是一种变成的入门语言,具备一下优点:

解释性、动态特性、面向对象、语法简洁、开源、丰富的社区资源

延伸问题:

解释性如何理解:解释器不产生目标机器代码,而是产生中间代码,硬件看不懂中间代码。解释型代码是将源代码逐一解释成可执行的机器指令,因为效率低下;

Python 是怎么实现动态类型的呢?

    答案就藏在具体存储的对象上。变量 a 仅仅只是一个符号(实际上是一个字符串对象),类型信息是存储在对象上的。在 Python 中,对象机制的核心是类型信息和引用计数(引用计数属于垃圾回收的部分)

2.pyc的作用?

    一个 pyc 文件包含了三部分信息:Python 的 magic number、pyc 文件创建的时间信息,以及 PyCodeObject 对象。

magic number 是 Python 定义的一个整数值。一般来说,不同版本的 Python 实现都会定义不同的 magic number,这个值是用来保证 Python 兼容性的。比如要限制由低版本编译的 pyc 文件不能让高版本的 Python 程序来执行,只需要检查 magic number 不同就可以了。由于不同版本的 Python 定义的字节码指令可能会不同,如果不做检查,执行的时候就可能出错

3.深拷贝和浅拷贝对的区别是什么?

深拷贝是将对象本身复制给另外一个对象。这就意味这如果对对象的副本进行更改是不会影响愿对象,在Python中。我们使用deepcopy()函数进行神拷贝。

浅拷贝是将对象引用复制给另外一个对象,因此,如果我们在副本中进行修改,则会影响原对象。使用copy函数进行浅拷贝。

4.列表和元祖有什么不同?

区别:列表是可变的,元祖是不可变的

5.解释python中的三元表达式

[on true] if [expression]else [on false]

如果 [expression] 为真, 则 [on true] 部分被执行。如果表示为假则 [on false] 部分被执行

6.python中如何实现多线程?

线程某种意义上来说是轻量级的进程,多线程允许一次只想多个进程,python是一个多线程语言。

GIL(全局解释器锁)确保一次执行单个线程,一个线程保存GIL并在将其传递给下一个线程之前执行一些操作,这就产生了并行执行的错觉,但实际上,只是线程轮流在cpu上执行,当然,所有传递都会增加执行的开销。

7.解释继承

一个类继承自另一个类,也可以说是一个子类/派生类,继承自父类/基类/超类。同时获取所有的类成员、属性和方法。

继承使我们可以重用代码,并且还可以更方便的创建和维护代码,python支持以下类型的继承:

1.单继承-一个子类继承自单个基类

2.多重继承-一个子类继承自多个基类

3.多级继承:一个子类继承自一个基类,而基类继承自另一个基类

4.分层继承:多个子类继承自同一个基类

5.混合继承-两种或两种以上继承类型的组合

8.什么使Flask

falsk是一种使用python编写的轻量级web应用框架,使用bsd授权,其wsgi工具箱采用Werkzeug,模版引擎则使用jinja2,除了Werkzeug和jinja2以外几乎不依赖任何外部库。因此Flask被称为轻量级框架。

Flask的会话使用签名cookie来允许用户查看和修改会话内容,他会记录从一个请求到另一个请求的信息。但如果要修改会话的话。则必须有密钥Flask.secret_key。

9.如何在python中管理内存

python用一个私有堆内存空间来放置所有对象和数据结构,我们无法访问它,由解释器来管理她。不过使用一些核心api,我们可以访问一些python内存管理工具来控制内存分配。

10.解释python中的help()函数和dir()函数

help()函数返回帮助文档和参数说明

dir()函数返回对象中的所有成员(任何类型)

11.当退出python时是否释放所有的内存分配?

答案时否定的,那些具有对象循环引用或者全局命名空间引用的变量,在python退出时往往不会被释放,另外也不会释放C库保留的那部分内容

12.什么事python字典

拥有键值对,并且键是唯一的,字典是可变的。

13.解释 *args 和 **kwargs?

如果我们不知道将多少个参数传递给函数,比如当我们想传递一个列表或一个元组值时,就可以使用*args。

当我们不知道将会传入多少关键字参数时,使用**kwargs 会收集关键字参数。

14.什么是负索引?

与正索引不同,负索引是从右边开始检索的,同样也可以用于列表的切片。

15如何随机打乱列表中的元素,要求不引用额外的内存空间?

使用random包中的shuffler()函数来实现。

16.解释python中的join()和split()函数

join()函数可以将指定的字符添加到字符串中。

split()函数可以使用指定的字符分割字符串

17.python是否区分大小写?

区分

18.python中标识符的命名规则?

Python 中的标识符可以是任意长度,但必须遵循以下命名规则:

1. 只能以下划线或者 A-Z/a-z 中的字母开头。

2. 其余部分只能使用 A-Z/a-z/0-9。

3. Python 标识符区分大小写。

4. 关键字不能作为标识符。

19.如何删除字符串中的前置空格

lstrip()

20.字符串大小写转换

lower()函数:转换成小写

upper()函数:转换成大写

要检查字符串是否为全大写或全小写,使用 isupper() 和 islower() 函数

istitle() 可以检查字符串是否是标题格式。

21.python中的pass语句有什么作用?

空余句

22.python中的闭包

如果在一个内部函数里。对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就是一个闭包。

23.解释 Python 中的//,%和**运算符

//运算符执行地板除法,返回结果的整数部分 (向下取整)。

24.如何获取字典中的所有键?

使用 keys() 来获取字典中的所有键

25.问什么标识符不建议使用下划线开头?

因为在 Python 中以下划线开头的变量为私有变量,如果你不想让变量私有,就不要使用下划线开头。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,084评论 1 32
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,719评论 0 10
  • 写在前面的话 代码中的# > 表示的是输出结果 输入 使用input()函数 用法 注意input函数输出的均是字...
    FlyingLittlePG阅读 2,730评论 0 8
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,362评论 0 4
  • 我支持的一种观点是,我们应该欢迎有益的变更,因为这会让我们的产品打磨的更好。但是对于那种今天说做成A,过两天又说B...
    美丽的红姨阅读 854评论 0 0