关键词不能为空

当前您在: 主页 > 英语 >

最常见的道Python面试题你能答对多少附带答案

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-18 05:48
tags:

-

2021年2月18日发(作者:自觉)












P


y


t


h


o


n





< br>能











TTA standardization office



TTA 5AB- TTAK 08- TTA 2C






2018


年最常见的


36



Python


面试题你能答对多少?附带答案



Q 1



Pyt hon


有哪些特点和优点


?



作为一门编程入门语言,


Python


主要有以 下特点和优点:



?



?



?



?



?



?



可解释



具有动态特性



面向对象



简明简单



开源



具有强大的社区支持



当然,实际上< /p>


Python


的优点远不止如此。



Q 2


:深拷贝和浅拷贝之间的区别是什么

?



答:深拷贝就是将一个对象拷贝到另一个对象中,这意 味着如果你对一个对象的拷贝做出改变


时,不会影响原对象。在


Python


中,我们使用函数


deepcopy()


执行深拷贝,导入模块


copy



如下所示:



1.



>>>importcopy


2.



>>>b=(a)


而浅拷贝则是将一个对象的引用拷贝到另一 个对象上,所以如果我们在拷贝中改动,会影响到原


对象。我们使用函数


function()


执行浅拷贝,使用如下所示:


> >> b=(a)


复制代码



Q 3.


列表和元组之间的区别是


?



答:二者的主要区别是列表是可变的,而元组是不可变的。举个例子,如下所示:





1.



>>>mylist=[1,3,3]


2.



>>>mylist[1]=2


3.



>>>mytuple=(1,3,3)


4.



>>>mytuple[1]=2


5.



Traceback(mostrecentcalllast):


6.



File


7.



mytuple[1]=2


8.




会出现以下报错:



1.



TypeError:



tuple




2.



objectdoesnotsupportitemassignment



Q4



Q20


都是针对新手的


Python


面试基础试题, 不过有经验的人也可以看看这些问题,复


习一下基础概念。



Q 4.


解释一下


Python


中的三元运算子



不像

C++


,我们在


Python


中没 有


:


,但我们有这个:



1.



[ontrue]if[expression]else[onfalse]


如果表达式为


True


,就执行


[on true]


中的语句。否则,就执行


[on false]


中的语句。



下面是使用它的方法:



1.



>>>a,b=2,3




2.



>>>min=aifa


3.



>>>min


运行结果:



1.



2


2.




3.



>>>print(


运行结果:



1.



Hi


2.




Q 5.



Python


中如何实现多线 程


?



一个线程就是一个轻量级进程, 多线程能让我们一次执行多个线程。我们都知道,


Python


是多线


程语言,其内置有多线程工具包。


Python


中的


GIL(


全局解 释器锁


)


确保一次执行单个线程。一个线程保存


GIL


并在将其传递给下个


线程之前执行一些操作,这 会让我们产生并行运行的错觉。但实际上,只是线程在


CPU


上 轮流运


行。当然,所有的传递会增加程序执行的内存压力。



Q 6.


解释一下


Python


中的继承



当一个类继承自另一个类,它就 被称为一个子类


/


派生类,继承自父类


/


基类


/


超类。它会继承


/


获取


所有类成员


(


属性和方法


)



< /p>


继承能让我们重新使用代码,也能更容易的创建和维护应用。


Py thon


支持如下种类的继承:





?



?



?



?



?



?



单继承:一个类继承自单个基类



多继承:一个类继承自多个基类



多级继承:一个类继承自单个基类,后者则继承自另一个基类



分层继承:多个类继承自单个基类



混合继承:两种或多种类型继承的混合




Q 7.


什么是


Flask?



Flask



Python


编 写的一款轻量级


Web


应用框架。其


WSGI


工具箱采用


Werkzeug


,模板引擎


则使用


Jinja2



Flask


使用


BSD


授权。其中两个环境依赖是


Werkzeug



jinja2


,这意味着它不


需要依赖外部库。正因如此,我们将其称为轻量级框架。


Flask


会话使用签名


cookie

让用户查看和修改会话内容。它会记录从一个请求到另一个请求的信


息。不过,要想 修改会话,用户必须有密钥。



Q 8.


Python


中是如何管理内存的


?



Python


有一个私有堆空间 来保存所有的对象和数据结构。作为开发者,我们无法访问它,是解释


器在管理它。但是 有了核心


API


后,我们可以访问一些工具。

< br>Python


内存管理器控制内存分配。



另外,内置垃圾回收器会回收使用所有的未使用内存,所以使其适用于堆空间。



Q 9.


解释


Python


中的


help()



dir()


函数



Help()


函数是一个内置函数,用于查看函数或模块用途的详细说明:



1.



>>>importcopy


2.



>>>help


运行结果为:





1.



Helponfunctioncopyinmodulecopy:


2.



copy(x)


3.



Shallowcopyope rationonarbitraryPythonobjects.


4.



Seethemodule



s__doc__stringformoreinfo.


Dir()


函数也是


Python


内置函数,


dir()


函数不带参数时,返回 当前范围内的变量、方法和定义的


类型列表


;

< br>带参数时,返回参数的属性、方法列表。



以下实例展示了


dir


的使用方法:



1.



>>>dir


运行结果为:



1.



[


‘< /p>


__annotations__



,< /p>



__call__


< br>,



__class__



,



__closure__



,



__code__< /p>



,



__de faults__



,



__delattr__



,



__dict__



,

< p>


__dir__



,< /p>



__doc__


,



__eq__



,



__format__



,



__ge__

< br>’


,



__get__



,



__getat tribute__



,


< p>
__globals__



,


__gt__



,



__hash__



,< /p>



__init__


< br>,



__init_subclass__



,



__kwdefau lts__



,


__le__



,



__lt__



,



__module__



,

< br>‘


__name__



,



__ne__



,



__new__


< br>,



__qualname__



,



__reduce__



,



__reduc e_ex__



,


< br>__repr__



,



__setattr__



,



__sizeof__



,



__str__


< br>,



__subclasshook__



]


Q 10.


当退出< /p>


Python


时,是否释放全部内存


?< /p>



答案是


No


。 循环引用其它对象或引用自全局命名空间的对象的模块,在


Python


退出时并非完全


释放。



另外 ,也不会释放


C


库保留的内存部分。





Q 11.


什么是猴子补丁


?



在运行期间动态修改一个类或模块。



1.



>>>classA:


2.



deffunc(self):


3.



print(


4.



>>>defmonkey(self):


5.



print


6.



>>>=monkey


7.



>>>a=()


8.



>>>()


运行结果为:



1.



Hi,Monkey


Q 12. Python


中的字典是什么


?



字典是


C++



J ava


等编程语言中所没有的东西,它具有键值对。



1.



>>>roots={25:5,16:4,9:3,4:2,1:1}


2.



>>>type(roots)


3.




4.



>>>roots[9]


运行结果为:





1.



3


2.




字典是不可变的,我们也能用一个推导式来创建它。



1.



>>>roots={x**2:xforxinrange(5,0,-1)}


2.



>>>roots


运行结果:



1.



{25:5,16:4,9:3,4:2,1:1}


Q 13.


请解释使用


*args



**kwargs


的含义



当我们不知道向函数传递多少参数时,比如我们向传递一个列表或元组,我们就使用

*args




1.



>>>deffunc(*args):


2.



foriinargs:


3.



print(i)


4.



>>>func(3,2,1,4,7)


运行结果为:



1.



3


2.




3.



2


4.






5.



1


6.




7.



4


8.




9.



7


10.



在我们不知道该传递多少关键 字参数时,使用


**kwargs


来收集关键字参数。



1.



>>>deffunc(**kwargs):


2.



foriinkwargs:


3.



print(i,kwargs[i])


4.



>>>func(a=1,b=2,c=7)


运行结果为:



1.




2.




3.



?


Q 14.


请写一个


Python


逻辑, 计算一个文件中的大写字母数量



1.



>>>importos


2.



>>>('C:UserslifeiDesktop')


3.



>>>withopen('')astoday:




4.



count=0


5.



foriin():


6.



if():


7.



count+=1


8.



print(count)


9.




运行结果:



1.



26


2.




Q 15.


什么是负索引


?



我们先创建这样一个列表:



1.



>>>mylist=[0,1,2,3,4,5,6,7,8]


负索引和正索引不同,它是从右边开始检索。



1.



>>>mylist[-3]


运行结果:



1.



6


2.




它也能用于列表中的切片:





1.



>>>mylist[-6:-1]


结果:



1.



[3,4,5,6,7]


Q 16.


如何以就地操作方式打乱一个列表的元素


?



为了达到这个目的,我们从


random


模块中导入< /p>


shuffle()


函数。



1.



>>>fromrandomimportshuffle


2.



>>>shuffle(mylist)


3.



>>>mylist


运行结果:



1.



[3,4,8,0,5,7,6,2,1]


Q 17.


解释


Python


中的

join()



split()


函 数



Join()


能让我们将指定字符 添加至字符串中。



1.



>>>','.join('12345')


运行结果:



1.




1, 2,3,4,5




2.




Sp lit()


能让我们用指定字符分割字符串。





1.



>>>'1,2,3,4,5'.split(',')


运行结果:



1.



[


‘< /p>


1



,



2



,


< p>
3



,



4



,


5



]


Q 18. Python


区分大小写吗


?



如果能区分像


myname



Myname


这样的标识符,那么它就是区分大小写的。也就是说它很在


乎大写和小写。我们可以用


Python


试一 试:



1.



>>>myname='Ayushi'


2.



>>>Myname


3.



Traceback(mostrecentcalllast):


4.



File


运行结果:



1.



MynameNameErro r:name



Myname




2.



isnotdefined


可以看到,这里出现了

< p>
NameError


,所以


Python


是区分大小写的。



Q 19. Python


中的标识符长度能有多长


?




Python


中,标识符可以是任意长度。此 外,我们在命名标识符时还必须遵守以下规则:



1.



只能以下划线或者


A-Z/a-z


中的字母开头



2.



其余部分可以使用


A-Z/a-z/0-9




3.



区分大小写



4.



关键字不能作为标识符,


Python


中共有如下关键字:



5.




Q 20.


怎么移除一个字符串中的前导空格


?



字符串中的前导空格就是出现在字符串中第一个非空格字符前的空格。我们使用方法


Istrip()


可以


将它从字符串中移除 。



1.



>>>'Ayushi'.lstrip()


结果:



1.




Ayushi



2.




可以看到,该字符串既有前导字符,也有后缀字符,调用


Istrip()

< p>
去除了前导空格。如果我们想去


除后缀空格,就用


rstrip()


方法。



1.



>>>'Ayushi'.rstrip()


结果:



1.




Ayushi



2.





Q 21



Q 35


是为有


Python


经验者准备的进阶版


Python


面试题。



Q 21.


怎样将字符串转换为小写


?



-


-


-


-


-


-


-


-



本文更新与2021-02-18 05:48,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/664417.html

最常见的道Python面试题你能答对多少附带答案的相关文章