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

本文介绍了Python编程语言的基础知识,包括Python语言的特点、PEP8编程规范、内存管理方式、内置数据结构的操作方法,以及如何生成随机数等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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是最大计数量。
























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值