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