python进制转换函数:
二进制转换成十进制:v = “0b1111011” # int(v,2)
十进制转换成二进制:v = 18 # bin(v) 八进制转换成十进制:v = “011” # int(v, 8) 十进制转换成八进制:v = 30 # oct(v) 十六进制转换成十进制:v = “0x12” # int(v, 16) 十进制转换成十六进制:v = 87 # hex(v)编写一个函数实现将IP地址转换成一个整数:
a = '10.3.9.12'a = [int(x) for x in a.split('.')]result = sum(a[i] << [24, 16, 8, 0][i] for i in range(4))整数转换为IP地址print('.'.join([str(a >> x & 0xff) for x in [24, 16, 8, 0]]))
python递归的最大层数?
import timedef fun(n): time.sleep(0.01) print(n) try: fun(n+1) except: print('error:',n)fun(1)写程序运行的是997应该加上本身是998层,尾递归优化。
ascii、unicode、utf-8、gbk 区别?
ASCII码大小是1个字节,范围是英文字母和数字和特殊符号,只有256个字符
Unicode大小是2个字节(生僻字4个字节),所有语言 UTF-8(1-6个字节,英文1个字节,中文3个字节,生僻字4-6个字节),所有语言(ascii可以看成是UTF-8的一部分) GBK是编码汉字的,使用双字节编码字节码和机器码的区别?
字节码是一种中间状态(中间码)的二进制代码(文件)。需要直译器转译后才能成为机器码(CPU可直接解读的数据)。
lambda表达式格式以及应用场景?
lambda是匿名函数,lambda x : x + 2 lambda *args : sum(args) lambda **kwargs : 1 使用场景:函数式编程(map, reduce filter sorted),闭包
Python的可变类型和不可变类型?
可变类型:list,dict,set,可变集合
不可变类型:string,int,float,tuple,不可变集合