常见25个Python常见问答面试题

1.什么Python,使用它有什么好处?

Python是一种编程语言,有自带的包,模块,线程异常处理和自动内存管理。

它简单方便,开源。有许多自带的数据结构。

2.什么是PEP8,?

PEP8是一种编程规范,让你的编程更具有可读性的建议。

3.Python是如何被解释的?

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

4.Python是如何进行内存管理的?

Python所有的内存管理是由私有的heap空间来管理的。所有的Python对象和数据结构都会在这个私有的heap空间中,程序员没有权限对它进行访问。为heap分配内存的空间分配内存的是由内存管理模块进行的。其核心API会分配一些给程序员调用,Python有自带的内存管理模块,回收并释放没有被使用的内存,让它们能够被其他程序使用。

从三个方面来说,1,引用计数制,2.垃圾回收机制,3.内存池机制

1.Python内部使用引用计数机制,所有的对象有引用计数,引用计数跟踪对象的变化,计数增加的情况有:

1.一个对象分配一个新的名称,

2.将其放入一个容器中,(集合,数组或者元祖等)

引用计数减少的情况

1.超出作用域或被重新赋值

2.使用del语句

垃圾回收

当一个对象的引用计数为0是,垃圾回收机制将他们进行回收

内存池机制

Python提供了对内存的垃圾回收机制,它将不用的内存放到一个内存池而不是返回给系统。

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

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

6.如何将一个数字转换成一个字符串?

可以使用Python自带的str(),将一个数字转换成字符串。

7.xrange和range的不同区别是什么?

xrange返回的是一个xrange对象,range返回的是一个数组。

8.如何实现tuple和list的相互转换?

直接可以使用tuple()和list()的函数就可以,type()可以判断对象的类型。

9.请写出一段代码实现list集合中的重复元素

1.set(list)

2.a=[1,2,3,4,5,6,7,8,9,0]

   b={}

   b=b.fromkeys(a)

   c=list(b.keys())

10.Python里面如何生成随机数?

random模块

随机整数:返回的随机整数 random.randint(a,b),a<=x<=b

random.randrange(start,stop,[step]),返回的随机整数不包括步长,范围在start-stop之间

随机实数:random.random(),返回的是0-1之间的浮点数。

random.uniform(a,b),返回a-b之间的浮点数。

11.用Python匹配HTML的tag的时候<.*>和<.*?>有什么区别?

<.*>是最贪婪匹配,<.*?>是非贪婪匹配

12.Python里match(),和search()的区别?

match()检查在string的开头是否匹配pattern的值,search(),在string中搜索第一个匹配pattern的值。

12.如何用Python来进行文本的替换和查询一个字符串?

sub(replace,string,[count=0]),replace 是将要替换的文本,string是被替换的文本,count是最大计数量。
























猜你喜欢

转载自blog.csdn.net/qq_31479309/article/details/80029450