python面试常见问题-Python面试中最常见的25个问题

python面试常见问题-Python面试中最常见的25个问题Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。Python是一个面向对象的解释型的交互式高级脚本语言。Python被设计成一种高可读性的语言,因为它大量地使用了英语中的单词作为关键字,而且不像其他语言使用标点符号构成复杂的语法结构,Python的语法结构非常少。Python是一种解释型语言:即Python程序是在运行时由解释器解释执行的,因而不用事先编…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发。

Python是一个面向对象的解释型的交互式高级脚本语言。Python被设计成一种高可读性的语言,因为它大量地使用了英语中的单词作为关键字,而且不像其他语言使用标点符号构成复杂的语法结构,Python的语法结构非常少。

Python是一种解释型语言:即Python程序是在运行时由解释器解释执行的,因而不用事先编译源程序。这一点和Perl和PHP类似。

Python是一种交互式语言:即你能够在Python提示符下直接交互式地编写你的程序。

Python是一种面向对象的语言:即Python是支持面向对象(OO)的,支持在对象中进行代码封装。

Python是初学者的语言:Python是一种非常适合初学者的语言,它支持多种类型的应用程序的开发,如简单的文本处理、www浏览器应用程序开发、游戏开发等等。

1)什么是Python?使用Python的优点有哪些?

Python是一种带有对象、模块、线程、异常和内存自动管理的编程语言。使用Python的优点有:简单、易学、轻便可移植、可扩展、具有多种内建数据类型、开源等等。

2)什么事PEP 8?

PEP 8是一种编码规范,是一系列关于如何让Python代码更加具有可读性的编码建议。

3)什么是序列化(pickling)和反序列化(unpickling)?

Pickle模块允许我们将Python对象转换成一个string表示的信息,并且可以使用dump函数将其保存到一个文件中去,这样的过程称为序列化。而使用文件中保存的对象信息重构Python对象的过程称为反序列化。

4)Python是如何被解释执行的?

Python是一种解释型语言,它可以直接从源代码运行程序。程序员编写的源代码首先转变成一种中间语言代码,然后再被转换成能够直接执行的机器语言代码。

5)Python是如何进行内存管理的?

Python内存空间是以Python私有堆的形式进行管理的。所有的Python对象和数据结构都存放在一个私有堆中。解释器可以访问私有堆,而程序员不可以。

将Python堆空间中的内存分配给Python对象的工作是由Python内存管理器完成的。而内核API则会提供给程序员一些相关的工具来完成涉及到内存的编码工作。

Python还内置垃圾回收器,从而进行回收释放内存到堆空间。

6)能够找到程序中的bug进行静态分析的工具有哪些?

PyChecker是一种能够发现Python源代码中的bug并对其中的代码风格和复杂度进行警告的静态分析工具。另外一种工具是Pylint,它能够验证模块是否满足编码标准。

7)什么是Python装饰器?

一个Python装饰器是我们在符合Python语法的同时又方便地对函数做的一些特定的修改。

8)列表和元组的区别是什么?

列表和元组的区别是列表是可变的,而元组不可以。而且元组可以被散列,例如作为字典的键。

9)参数是如何通过值或者引用传递的?

在Python中,一切都是对象,所有变量都是对象的引用。通过引用传递还是值传递要根据函数来确定(原文有语法错误,根据个人理解翻译);事实上,你不能改变引用的值,但是如果对象是可变的,则可以改变对象。

10)怎样理解字典和列表?

它们是一种用来创建可变对象的语法结构。

11)Python提供哪些内置类型?(原文有语法错误,根据个人理解翻译)

分为可变类型和不可变类型。

可变类型:

列表

集合

字典

不可变类型:

字符串

元组

数字

12)Python中的命名空间是什么?

在Python中,每一个引入的名字都有一个存放的地方,而且它能够被连接。这就是所谓的命名空间。它就像一个在变量名和对象之间进行映射的盒子。当变量被用到时,就会查找这个盒子,从而得到相关联的对象。

13)Python中的lambda表达式是什么?

lambda表达式是一个匿名函数,通常用作代码行内的嵌入函数。

14)为什么Python中的lambda表达式没有声明?

Python中的lambda表达式没有声明是因为它只是用来创建一个新的函数对象,并且在运行时才返回结果。

15)Python中的pass是什么意思?

pass是Python中的空操作语句,或者说,它是一个复杂语句中的一个空间占位符,只是用来表示空白,什么都不用写。

16)Python的迭代器是什么?

Python中的迭代器是用来迭代包含一组元素的容器的,如列表。

17)Python中的unittest是什么?

unittest是Python中的单元测试框架。它支持共享的测试建立、自动测试、关闭测试、聚集测试等等。

18)什么是切片?

从一个序列如列表、元组、字符串等类型中选择一个范围中的元素的机制叫做切片。

19)Python中的生成器是什么?

它是一种实现迭代器的方式。除了yield表达式外,它和正常的函数没什么区别。

20)Python中的docstring是什么?

docstring是Python中产生文档的方式,它可以为Python中的函数、模块和类产生文档。

21)Python中如何拷贝一个对象?

一般情况下,可以使用copy.copy()或者copy.deepcopy()函数进行对象拷贝。但是并不能拷贝所有的对象,只能拷贝大部分。

22)Python中负的索引是什么意思?

Python中可以使用整数和负数进行索引。对于正索引,0是第一个,1是第二个,以此类推。对于负索引,-1是最后一个,-2是倒数第二个,以此类推。

23)怎样将一个数字转换成字符串?

使用内置函数str()即可。如果想要八进制或者十六进制的形式,可以使用oct()或者hex()函数。

24)xrange和range的区别是什么?

xrange返回一个xrange对象,而range返回一个list对象,而且会使用和其范围大小相同的内存,不管这个范围有多大。

25)Python中的模块和包是什么?

在Python中,模块就是一种构建程序的方式。每一个Python程序文件都是一个模块,这个文件还可以引入其他模块如对象和属性等。

Python程序的文件夹就是模块的包。一个包可以包含模块和子文件夹。

英文原文:https://medium.com/@hidimba360/top-25-python-interview-questions-and-answer-9e8504753fdc#.jbkb4p979

译者:jcdhlzq

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/180106.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 新浪股票接口获取历史数据

    新浪股票接口获取历史数据这两天做了一个调用新浪股票接口获取实时以及历史股票数据的应用,因为新浪没有公开关于其接口的官方文档,所以通过各种百度差了很多关于新浪股票接口的使用,不过大家基本都是转载或者直接复制,对于实时数据的获取讲的很详细,但是缺少获取历史数据的方法。关于实时数据的获取大家可以看这篇博客:实时股票数据接口 经过不懈的努力终于再这篇博文中找到了关于新浪股票历史数据的获取方式腾讯股票接口、和讯网股票接口、新浪股票…

  • java中stringBuilder常用方法[通俗易懂]

    java中stringBuilder常用方法[通俗易懂]String对象是不可改变的。每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。通过用一个重载的构造函数方法初始化变量,可以创建StringBuild

  • 2011年年终珠三角为主的各种工种收入大全「建议收藏」

    2011年年终珠三角为主的各种工种收入大全「建议收藏」返回顶部 20楼2011-12-0508:35:13东莞。4300/月,所谓财务主管,老婆3200/月,所谓采购主管,小孩9个月,存款现在6000块,穿35块的皮鞋,280块的山寨手机。这日子是怎么过的啊!!无房贷无车贷,也就是无房无车!!我会计2200元包食.我老公6000多元不包食住.没房没车.一个小孩子在深圳读幼儿园.到现在存款只有几千元.

  • setContentView的时候,到底发生了什么

    setContentView的时候,到底发生了什么关于setContentView方法,想必大家对这个方法既熟悉又陌生,熟悉的原因是因为基本上我们每创建一个activity,都会调用这个方法,比如:“`@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}“`而且这种写法已经是创建activity的模版了

  • sm2和sm4加密算法浅析

    sm2和sm4加密算法浅析sm2和sm4加密算法浅析一:SM2简介:SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法,SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC256位(SM2采用的就是ECC256位的一种)安全强度比RSA2048位高,但运算速度快于RSA。SM2和RSA算法比较SM2性能更优更安全:密码复杂度高、处理速度快、机器性能消耗更小①:加密算法以及流程:输入:需要发送的消息为比特串M,klen为M的比特

  • Spring Boot+Spring Security+JWT实现单点登录

    Spring Boot+Spring Security+JWT实现单点登录目录第一章常用术语1.1、SSO1.2、JWT1.3、RSA第二章认证思路2.1、分析集中式认证流程2.2、分析集中式认证流程第三章工程介绍3.1、介绍父工程3.2、导入数据库第四章通用模块4.1、导入依赖4.2、统一格式4.2.1、统一载荷对象4.2.2、统一返回结果4.3、常用工具4.3.1、Json工具类4.3.2、Jwt工具类4.3.3、Rsa工具类4.4、生成密钥第五章认证服务5.1、导入依赖5.2、编写配置文件5.3、编写属性类5.4、编写工具类5.5、编写实体类5.6、编写映射接口5

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号