你应该知道的15个Python技术面试问题

Python是需求量排名第三的编程语言。这就是为什么我们提出常见的Python面试问题以帮助求职面试成功的原因。招聘人员还可以参考此职位,以获取正确的一组常见python编码面试问题以评估候选人。

1.命名Python的一些特征?

回答:
以下是一些关键点:

  1. Python是一种解释性语言。这意味着,与C及其变种之类的语言不同,Python无需在运行前进行编译。其他解释语言包括PHP和Ruby。

  2. Python是动态类型的,这意味着您在声明变量或类似的东西时无需声明变量的类型。您可以做类似的事情x=111,然后x="I’m a string"没有错误

  3. Python非常适合面向对象的编程,因为它允许定义类以及组成和继承。Python没有访问说明符(如C
    ++的public,private),这一点的理由为“我们都在这里成年”

  4. 在Python中,函数是一流的对象。这意味着可以将它们分配给变量,从其他函数返回并传递给函数。类也是一流的对象

  5. 编写Python代码很快,但是运行它通常比编译语言要慢。幸运的是,Python允许包含基于C的扩展,因此可以消除瓶颈,并且经常可以解决瓶颈。该numpy软件包就是一个很好的例子,它确实非常快,因为它处理的很多数字实际上不是由Python完成的

2.如何修改字符串?

回答:
不能,因为字符串是不可变的。在大多数情况下,您应该简单地从要组装字符串的各个部分中构造一个新字符串。

3. Python中有哪些可用的内置类型?

回答:
Python的不可变内置数据类型

  1. Numbers
  2. Strings
  3. Tuples

Python的可变内置数据类型

  1. List
  2. Dictionaries
  3. Sets

4.列举Python的一些好处

回答:

  1. Python是一种动态类型的语言。这意味着在声明变量时无需提及变量的数据类型。
  2. Python支持面向对象的编程,因为您可以定义类以及组成和继承。
  3. Python中的函数就像一流的对象。建议您可以将它们分配给变量,从其他方法返回并作为参数传递。
  4. 使用Python进行开发很快速,但是运行它通常比编译语言要慢。
  5. Python具有多种用法,例如基于Web的应用程序,测试自动化,数据建模,大数据分析等等。

5.为什么要使用“ pass”语句?

回答:
Python的语法要求是代码块不能为空。但是,空代码块在多种不同的上下文中很有用,例如,如果您要使用一些不想实现的方法设计新类:

class MyClass(object):
    def meth_a(self):
        pass

    def meth_b(self):
        print "I'm meth_b"

如果您遗漏了通行证,则代码将无法运行,并且会出现错误:

IndentationError: expected an indented block

我们可以使用的其他示例pass:

忽略(全部或)某种类型的 Exception
派生不添加新行为的异常类
测试该代码可以针对几个测试值正确运行,而无需关心结果

6. Python中什么是局部变量和全局变量?

回答:
全局变量:在函数外部或全局空间中声明的变量称为全局变量。程序中的任何函数都可以访问这些变量。

局部变量:在函数内部声明的任何变量都称为局部变量。此变量存在于局部空间而不是全局空间中。

7.什么是描述符?

回答:
描述符是从2.2版本开始引入Python的。它们使开发人员能够向对象添加托管属性。创建一个描述符所需的方法是get,set和delete。如果定义这些方法中的任何一个,则说明已创建了一个描述符。

描述符为Python内部带来了许多魔力。它们是使属性,方法甚至超函数起作用的原因。它们还用于实现Python 2.2中也引入的新样式类。

8.使用Flask有什么好处?

回答:
Flask是微框架的一部分。这意味着它将几乎不依赖外部库。它使框架变得轻巧,而几乎没有更新依赖性,并且减少了安全性漏洞。

9. Python是否具有switch-case语句?

回答:
在Python中,我们没有switch-case语句。在这里,您可以编写要使用的开关功能。否则,您可以使用一组if-elif-else语句。为了实现这个功能,我们可以使用字典。

def switch_demo(argument):
    switcher = {
    
    
        1: "January",
        2: "February",
        3: "March",
        4: "April",
        5: "May",
        6: "June",
        7: "July",
        8: "August",
        9: "September",
        10: "October",
        11: "November",
        12: "December"
    }
    print switcher.get(argument, "Invalid month")

10. 什么是pickling 和 unpickling?

回答:
pickle模块实现了一个基本但功能强大的算法,用于对Python对象结构进行序列化和反序列化。

Pickling-是将Python对象层次结构转换为字节流的过程

Unpickling-是相反的操作,由此字节流被转换回对象层次结构。

11.什么时候在Python中使用元组vs列表vs字典?

回答:
使用atuple存储一系列不会改变的项目。
使用alist存储可能更改的项目序列。
dictionary要关联两个项目对时,请使用a 。

12.什么是Python中的负索引?

回答:
Python序列可以正负索引。对于正索引,0是第一个索引,1是第二个索引,依此类推。对于负索引,(-1)是最后一个索引,(-2)是倒数第二个索引,依此类推。

13.假设lst是2、33、222、14、25,什么是lst-1?

回答:

是25。负数表示您是从右数而不是从左数。因此,lst[-1]指的是最后一个元素,lst[-2]是倒数第二个,依此类推。

14.如何列出模块中的功能?

回答:
使用该dir()方法列出模块中的功能:

import some_module
print dir(some_module)

15.什么是PEP 8?

回答:
PEP 8是最新的Python编码标准,是一组编码建议。它指导交付更具可读性的Python代码。

在这里还是要推荐下我自己建的Python学习群:721195303,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

**以下内容无用,为本篇博客被搜索引擎抓取使用
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
python 基础教程 网络爬虫 python python 爬虫经典例子
python 爬虫
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)( ̄︶ ̄)( ̄︶ ̄)
以上内容无用,为本篇博客被搜索引擎抓取使用

猜你喜欢

转载自blog.csdn.net/aaahtml/article/details/113030262