经常会问到的Python面试题

举报
Python爱好者 发表于 2020/12/29 23:33:00 2020/12/29
【摘要】 Hi,在多多少少的Python开发或是测试面试中经常会问到一些关于Python的基础问题,那我们今天就来看看这些问题吧! 首先来个最简单的: 什么是Python?使用Python有什么好处? 大家都知道Python是一门编程语言(我想应该很少有人说它是蟒蛇),使用Python的好处是什么呢?当然是因为它很简单啦!它能用最简洁的代码高效的完成一件事。它有自己...

Hi,在多多少少的Python开发或是测试面试中经常会问到一些关于Python的基础问题,那我们今天就来看看这些问题吧!

640?wx_fmt=jpeg

首先来个最简单的:

什么是Python?使用Python有什么好处?

大家都知道Python是一门编程语言(我想应该很少有人说它是蟒蛇2_02.png),使用Python的好处是什么呢?当然是因为它很简单啦!它能用最简洁的代码高效的完成一件事。它有自己的对象,模块机制,异常处理机制,内存管理机制。这使得我们用起来的时候就很方便。

用Python写的代码异常的简洁,特别方便读,而且代码的扩展性也强,有一些自己的开源的数据结构,使用者能够简单上手。

Python是如何运行的?

Python是一种解释性语言,它的源代码可以直接运行。Python解释器会将源代码转换成中间语言,之后再翻译成机器码再执行。

什么是pickling和unpickling?

Pickle模块读入任何Python对象,将它们转换成字符串,然后使用dump函数将其转储到一个文件中——这个过程叫做pickling。反之从存储的字符串文件中提取原始Python对象的过程,叫做unpickling。

Python是怎样管理内存的?

Python的内存管理是由私有heap空间管理的。所有的Python对象和数据结构都在一个私有heap中。程序员没有访问该heap的权限,只有解释器才能对它进行操作。为Python的heap空间分配内存是由Python的内存管理模块进行的,其核心API会提供一些访问该模块的方法供程序员使用。Python有自带的垃圾回收系统,它回收并释放没有被使用的内存,让它们能够被其他程序使用。

列表和元组之间的区别是什么?

列表和元组之间的区别:列表内容是可以被修改的,而元组内容是只读的。另外,元组可以被哈希,比如作为字典的关键字。

那为什么Python中有了列表还需要元组呢?

(引用解答:https://bbs.csdn.net/topics/380255980)

元组

参数按值传递和引用传递是怎样实现的?

Python中的一切都是类,所有的变量都是一个对象的引用。引用的值是由函数确定的,因此无法被改变。但是如果一个对象是可以被修改的,你可以改动对象。

值传递:

1
2
3
4
5
6
=  1
def  f(a):
     =  +  1
     return  a
print  f(a)
print  a

输出:2  1

引用传递:

1
2
3
4
5
6
7
=  [ 1 2 3 ]
def f2 (b):
     b[ 0 ] =  b[ 0 ] + 1
     return  b
 
print  f2(b)
print  b

输出:[2, 2, 3]       [2, 2, 3]

Python都有哪些自带的数据结构?

Python自带的数据结构分为可变的和不可变的。可变的有:数组、集合、字典;不可变的有:字符串、元组、数字。

Python中的lambda是什么?为什么lambda没有语句?

lambda常被用于代码中的单个表达式的匿名函数。没有语句的原因,是它被用于在代码被执行的时候构建新的函数对象并且返回。

lambda的一般形式是关键字lambda,之后是一个或多个参数(与一个def头部内用括号括起来的参数列表及其相似),紧跟的是一个冒号,之后是一个表达式:

lambda argument1,argument2,... argumentN:expression using argument

lambda和普通函数的区别

普通函数:

def Demo_Func(x):

    return 233 * x + 1


Demo_Func(2)

lambda:

lambda x : 233 * x + 1

今天就讲这么多吧!

下期见!

文章来源: blog.csdn.net,作者:敲代码的灰太狼,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/tongtongjing1765/article/details/100581679

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。