1.列出5个python标准库
OS:提供了不少与操作系统相关联的函数
sys:通常用于命令行参数
re:正则匹配
datetime:处理日期时间
math:数学运算
2.位和字节的关系
位(bit),数据存储是以"字节"(byte)为单位,数据传输是大多是以位为单位来传输的,一个位就代表一个0或1(即二进制),没8个位(bit)组成一个字节,是最小一级的信息单位,是计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符
3.b、B、KB、MB、GB 的关系?
b是位,B是字节,KB是千比特,MB是兆比特,GB是吉比特
1B=8b,1KB=1024B ,1MB=1024KB, 1GB=1014MB
4.进制转换
bin()十进制转换为二进制
oct()十进制转换为8进制
hex()十进制转换为十六进制
其他进制向十进制转换时,需要用int(变量, 进制)
5、Python和Java、PHP、C、C#、C++等其他语言相比
python:轻量级,易学,开源,可移植性,支持面向对象
Java:优点:开源性,功能强大,哭多
缺点:编译速度比较慢,不完全
PHP:优点:性能很强,配合简单,稳定,容易部署
缺点:函数命名不规范,驼峰法和下划线,传参位置不一
C: 优点:能操作底层,能细粒度优化性能
缺点:面向过程, 3,运行时类型检查不可用,不提供命名空间功能
6、简述解释型和编译型编程语言?
解释性语言编写的程序不需要编译,在执行的时候,专门有一个解释器能够将VB语言翻译成机器语言,每个语句都是在执行的时候才能编译 ,这样的解释性语言每执行一次就要编译一次,效率比较低
编译型语言:执行代码之前,有一个专门的编译过程.把源高级程序编译成一个机器语言,只做一个翻译,运行时不需要解释,所以编译型语言执行效率比较高
7、python递归的最大层数?
def fun(n):
print(n)
n += 1
fun(n)
ptint(fun(n))
8、请编写一个函数实现将IP地址转换成一个整数。
如 10.3.9.12 转换规则为:
10 00001010
3 00000011
9 00001001
12 00001100
再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
def fun(num):
a=str(bin(num))[2:]
if len(a) % 8:
b=['0' for _ in range(8-len(a) % 8)]
b.append(a)
return ''.jion(b)
a=fun(10)
b=fun(10)
c=fun(10)
d=fun(10)
q=int(a+b+c+d,2)
print(q)
9.求结果
v1 = 1 or 3 1 #or 一真为真,返回第一个
v2 = 1 and 3 3 #or 全为真才是真,否则是假
v3 = 0 and 2 and 1 0
v4 = 0 and 2 or 1 1
v5 = 0 and 2 or 1 or 4 1
v6 = 0 or Flase and 1 Flase
10、ascii、unicode、utf-8、gbk区别?
ASCII:早期编码,只支持英文字母和一些符号
Unicode:万国码,能表示多种符号,在python2中可以指定四字节挥着2字节,跑一趟红中4个字节
utf-8 用最短的方式表示unicode,一个英文字符占一字节
gbk 中文编码
11、字节码和机器码的区别?
机器码:是电脑直接读取运行的机器指令,运行速度比较快.但是非常难懂,比较难编写
字节码:是一种中间状态码,是二进制,需要直译器转译后才能成为机器码
12、三元运算规则以应用场景?
一行书写,代码简洁,执行效率高,可以替代if else这样的语句
13、pass的作用?
空格局 函数式编程 闭包
14、is和==的区别?
is判断的是IP地址 ==是数值
15、Python垃圾回收机制?
1.回收计数引用为0的对象,释放其占用空间
2.循环垃圾回收器,释放循环引用的对象
16、求结果
v = dict.fromkeys(['k1','k2'],[])
v[‘k1’].append(666)
print(v)
v[‘k1’] = 777
print(v)
17、求结果
def num():
return[lambda x:i*x for i in range(4)]
print([m(2) for m in num()])
18求结果:a.[i % 2 for i in range(10)] b.(i % 2 for i in range(10))
a=[0,1,0,1,0,1,0,1,0,1]
b是生成器表达式
21如何实现”1,2,3“变成[‘1’, ‘2’, ‘3’]?
a = "1, 2, 3"
a.split(",")
22、如何实现[‘1’, ‘2’ , ‘3’]变成[1, 2, 3]?
a = ["1", "2", "3"]
b = [int(x) for x in a]
#或者
print(list(map(lambda x: int(x), a)))