Python 知识小tips

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 time
def 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,不可变集合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值