面试题

# Python和Java、PHP、C、C#、C++等其他语言的对比?
# c c++ c# java 开发周期长,更适合开发复杂的大型项目/游戏
# python php    开发周期短
# php只适合做web开发
# python能够解决并发问题,出了做web开发之外还可以做更多其他的领域
# 简述解释型和编译型编程语言?
# 编译型 : 一次编译,到处执行 如果修改代码需要重新编译 执行速度快
# 解释型 : 每一次都是直接执行我们写的代码 便于修改  执行速度上慢
# Python解释器种类以及特点?
# Cpython python --> C语言 c解释器 字节码 --> 机器码       全局解释器锁
# Jpython python --> java java虚拟机来解释字节码 --> 机器码 无全局解释器锁
# Pypy  非常的快   无全局解释器锁,编译过程快
# 位和字节的关系?
# 位   bit
# 字节 byte
# 1字节 = 8位  1byte = 8bits
# b、B、KB、MB、GB 的关系?
# b = bit
# B bytes
 请至少列举5个 PEP8 规范(越多越好)。
# 1.缩进是4个空格
# 2.一个函数中应该只有一个return
# 3.函数名小写 驼峰命名/下划线命名
# 4.括号的左边没有空格
# 5.类名首字母大写
# 6.常量全大写
# 7.模块的导入顺序个规则,一行导入一个模块
# 8.一行小于79个字符
# 9.类都尽量继承object
# 10.注释块 #后面加空格
# 11.类中每定义一个方法有一个空行
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.3.9.12 转换规则为:
#         10            00001010
# 
         3            00000011

#          9            00001001
# 
        12            00001100

# 再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?

def ip_int(ip):
    s = ''
    n = ip.split('.')
    for i in n:
        i = bin(int(i))[2:]
        if len(i) != 8:
            print('before : ',i)
            i = i.zfill(8)
            print(i)
        s += i
    return int(s,2)
print(ip_int('10.3.9.12'))

 

posted @ 2018-12-17 21:46  Python张梦书  阅读(126)  评论(0编辑  收藏  举报