python 点分十进制IP地址转16进制字符串

ip = '172.16.32.1'
ip_hex = ''.join('%02X' % int(i) for i in ip.split('.'))
print(ip_hex)

涉及到的技术点:

1.ip.split('.')  将字符串ip以‘.’为分隔符分割,并将分割结果存储在list中返回;

2.‘%02X’ % int(i)  将10进制数字转化为16进制字符串,数字大写(X),前面自动补零(02);

3.str.join(str) 连接字符串为一个新字符串;

4.‘’.join(i for i in ip.split('.'))  这种语法取list的值,不知道学名叫啥,简单易用;(知道这种语法的来历的欢迎留言哈)

 

拓展的知识点:

10进制数字转16进制字符串还可以使用函数hex(),例如hex(int(i))。进一步,如果想去掉前面的0x,可以使用hex(int)[2:],更进一步,如果想转为大写,可以使用hex(int(i)).upper()[2:],更更进一步,如果想在前面自动补零,可以使用hex(int(i)).upper()[2:].zfill(2),更更更进一步,如果想... ...你还是别想了回家洗洗睡吧

展开阅读全文
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值