python第三⽅库有哪些常⽤的、请列举15个-python基础⾯试
常见题
Python是⽬前市⾯上,我个⼈认为是最简洁、最优雅、最有前途、最全能的编程语⾔,没有之⼀。
2、通过什么途径学习的Python?
通过⾃学,包括⽹上查看⼀些视频,购买⼀些相关专业的书籍。
3、Python和Java、PHP、C、C#、C++等其他语⾔相⽐?
Python:轻量级、易学、⾃由/开放源码软件、可移植性、⽀持⾯向对象、丰富的库、规范的代码。
Java:优点:开源性,功能强⼤,库多
缺点:编译速度 ⽐较慢,不完全
PHP:优点:性能很强,配合简单,稳定,容易部署。
缺点:函数命名不规范,驼峰法和下划线,传参位置不⼀。
C: 优点:能操纵底层,能细粒度优化性能。
缺点:1、是⾯向过程的,2、运⾏时类型检查不可⽤,3、不提供命名空间功能,4、构
造函数和析构函数不可⽤。
C#: 优点: 强⼤的.NET Framework托管代码集合类,较简单的语⾔特性。WEB应⽤程序
开发速度快。
缺点:底层和⾼性能不合适,Windows平台以外⽀持有限。
C++: 优点:性能⽐较⾼,可进化型。
缺点: 难学,门槛⾼
4、简述解释型和编译型编程语⾔?
解释性语⾔编写的程序不需要编译,在执⾏的时候,专门有⼀个解释器能够将VB语⾔翻译成机器语⾔,每个语句都是在执⾏的时候才能编译,这样解释型语⾔每执⾏⼀次就要编译⼀次,效率⽐较低。
编译型语⾔:执⾏代码之前,有⼀个专门的编译过程。把源⾼级程序编译成⼀个机器语⾔,只做⼀个翻译,运⾏时不需要编译,所以编译型语⾔执⾏效率⽐较⾼。
5、Python解释器种类以及特点?
1、Cpython:最常⽤的官⽅版本,使⽤C语⾔实现。使⽤最为⼴泛。
2、Jpython:Python的Java实现,Jpython会将Python代码动态编译成Java字节码,然后在JVM上运⾏。
3、IronPython:Python的C#实现,IronPython将Python代码编译成C#字节码,然后再CLR 运⾏(与Jpython类似)
4、PYPY(特殊): Python实现的Python,将Python的字节码再编译成机器码。
6、位和字节的关系?
1byte等于8bit
7、b、B、KB、MB、GB的关系?
1bytes(B) =8bits(b)字节
1KB= 1024Bytes =2的10次⽅Bytes
1MB= 1024KB =2的20次⽅Bytes
1GB= 1024MB = 2的30次⽅Bytes
8、请⾄少列举5个PEP8规范(越多越好)
1、缩进,4个空格的缩进(编译器都可以完成此功能),不适⽤Tab,更不能混合使⽤Tab和空格
2、每⾏最⼤长度为79,换⾏可以使⽤反斜杠。最好使⽤圆括号,换⾏点再操作符的后边敲回车。
3、不要再⼀句import中多个库。⽐如import os,sys(不推荐)
4、模块命名尽量短⼩,使⽤全部⼩写的⽅式,可以使⽤下划线。
5、包命名尽量短⼩,使⽤全部⼩写的⽅式。不可以使⽤下划线
6、类的命名使⽤CapWords的⽅式,模块内部使⽤的类采⽤--CapWords的⽅式。
7、函数命名使⽤全部⼩写的⽅式,可以使⽤下划线。
8、异常命名使⽤CapWords+Error后缀的⽅式。
9、常量命名使⽤全部⼤写的⽅式,可以使⽤下划线。10、类的属性(⽅法和变量)命名使⽤全部⼩写的⽅式,可以使⽤下划线。11、类⽅法第⼀个参数必须是self,⽽静态⽅法第⼀个参数必须是cls。
9、通过代码实现如下转换:
⼆进制转换成⼗进制:v = “0b1111011”:
先将V变成字符串,然后print(int("0b1111011",2)),结果是123
⼗进制转换为⼆进制:v = 18
Print(bin(v)):0b10010
⼋进制转换为⼗进制:v = "011"
Print(int(v,8)) 结果是:9
⼗进制转换成⼋进制:v = 30
Print(oct(v))结果是:0o36
⼗六进制转换成⼗进制:v = ”0x12“
v = "0x12"s=str(v)print(int(s,16))#18
⼗进制转换成⼗六禁⽌:v = 87
v = 87
print(hex(v))#0x57
10、请编写⼀个函数实现将IP地址转换成⼀个整数。
如 10.3.9.12 转换规则为:
python中文免费版10 00001010
3 00000011
9 00001001
12 00001100
再将以上⼆进制拼接起来计算⼗进制结果:00001010 00000011 00001001 00001100 = ?
defbian(number):
a= str(bin(number))[2:]if len(a) % 8:
b= ['0' for _ in range(8 - len(a) % 8)]
b.append(a)return ''.join(b)
a= bian(10)
b= bian(10)
c= bian(10)js this指向
d= bian(10)
d= int(a + b + c + d, 2)print(d)#168430090
11、python递归的最⼤层数?
deffun(n):print(n)
n+= 1fun(n)print(fun(1))
998层,之后就报错了,允许最⼤数字在3925- 3929之间浮动 ,和计算机的性能有关系。
12、求结果:
v1 = 1 or 3 1v2= 1 and 3 3v3= 0 and 2 and 10
v4= 0 and 2 or 1 1v5= 0 and 2 or 1 or 4 1v6= 0 or Flase and 1 Flase
13、ascii、unicode、utf-8、gbk区别?
Ascii:早期编码,只⽀持英⽂字母和⼀些符号
Unicode:万国码,能表⽰多种符号,在PY2中可以指定4字节或2字节表⽰⼀个字符,PY3中默认4字节
UTF-8: ⽤最短的⽅式表⽰unicode,⼀个英⽂字符占⼀字节
Gbk:中⽂编码。
14、字节码和机器码的区别?
transform的各种词性机器码:是电脑CPU直接读取运⾏的机器指令,运⾏速度最快,但是⾮常难懂,⽐较难编写, ⼀般⼈接触不到。
字节码:是⼀种中间状态(中间码)的⼆进制代码(⽂件)。需要直译器转译后才能成为机器码。
15、三元运算规则以应⽤场景?
⼀⾏书中写,代码⾮常精炼,执⾏效率更⾼,可以代替if...else这样的流⾏语句。
16、列举Python2和Python3的区别?
print:
在PY2中,被视为⼀个语句,⽽不是⼀个函数
在PY3中,被显⽰为⼀个函数。
整数的除法:
PY2中,整数是强类型的。⽐如5/2结果是2
PY3中,5/2 结果是2.5Unicode:
PY2中前缀加u代表Unicode。
PY3中默认使⽤Unicode,如果想让3兼容2,可以通过字符串的前⾯保留"u’来实现。
后续发展:
PY3和PY2之间最⼤的区别不是在语法上,⽽是事实上PY2在2020年后将失去⽀持,PY3将继续开发更多的功能,和修复更多的错误。
17、⽤⼀⾏代码实现数值交换:
a = 1b= 2a,b= b,a
18、Python3和Python2中int和long的区别?
long整数类型,被PY3废弃,统⼀使⽤int。
19、xrange和range的区别?
PY2中的range返回的是列表,xrange返回的是⽣成器
PY3中的range返回的是迭代器(测试是class)
20、⽂件操作时:xreadlines和readlines的区别?
返回类型不同。xreadlines返回的是⽣成器,readlines返回的是列表21、列举布尔值为False的长简值?
"" , 0, false, [], (), {}
22、字符串、列表、元祖、字典、每个常⽤的5个⽅法?
字符串:
.upper()#⾸字母⼤写
.lower() #所有字母⼤写
.strip() #去除⾸尾空格
.replace() #替换
.split() #分割
列表:
.append()#在列表尾部追加⼀个值
.inset() #指定位置插⼊数据
.reverse() #反转
.remove() #删除制定元素
.pop() #删除指定元素
元祖:
.index()#查看元素下标是多少
.len() #计算元祖元素个数
.min() #返回元祖中元素最⼩值
.
max() #返回元祖元素最⼤值
.tuple() #将列表转换为元祖
字典:
.clear()#删除字典所有项
.get() #获取字典中指定键的值
.keys() #以列表的形式返回字典中所有键
.values() #以列表的形式返回字典中所有值
float数组.items() #以列表的形式返回字典中的键值
23、lambda表达式格式以及应⽤场景?
lambda x:x + 2应⽤场景:函数式编程,闭包
24、pass的作⽤?
1、空格局。
2、保证格式完整性。
3、语义完整
25、*arg和**kwarg作⽤?
*arg:接受额外的位置参数**kwarg:接受额外的关键字参数
26、is和==的区别?
is判断的是ID的地址==判断的是数值
27、简述Python的深浅拷贝以及应⽤场景?
浅拷贝:拷贝最外层容器
深拷贝:拷贝的最外层容器,还拷贝容器中的元素
对于不可变元素,使⽤浅拷贝
28、Python垃圾回收机制?
1、回收计数引⽤为0的对象,释放其占⽤空间
2、循环垃圾回收器。释放循环引⽤对象
29、Python的可变类型和不可变类型?
可变类型:list、dict、set、可变集合
不可变类型:string、int、float、tuple、不可变集合
30、求结果v = dict.fromkeys(['k1','k2'],[])v["k1’].append(666)print(v)v["k1’] = 777print(v)
1 、{'k1': [666], 'k2': [666]}2、{'k1': 777, 'k2': [666]}3、因为value是可变对象,并且使⽤append来添加元素,所有value的对象引⽤不变。
python基础代码大全加翻译31、求结果
defnum():return[lambda x:i*x for i in range(4)]print([m(2) for m innum()])#[6,6,6,6]#将return返回⽣成器表达式就返回[0,2,4,6]
lookupprivilegevalue32、列举常见的内置函数?
len、bin、hex、oct、dir、max、min、type
33、filter、map、reduce的作⽤?
filter:清晰函数
map:对函数⾥的每个内容,执⾏⽅法
reduce:累加函数
配合lambda函数来进⾏使⽤
34、⼀⾏代码实现9*9乘法表
print(' '.join([' '.join([f'{y} * {x} = {x * y}' for y in range(1, x+1)]) for x in range(1,10)]))
35、如何安装第三⽅模块?以及⽤过哪些第三⽅模块?
使⽤官⽅推荐的setuptools的包管理⼯具,easy --install和pip。
requests模块
36、⾄少列举8个常⽤模块都有哪些?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。