python百例 --- ip地址与10进制的转换

1 - ip地址与10进制数的转换

当我们ping数字2130706433时,从127.0.0.1返回结果。

IP地址是个32位的二进制数,表示成点分10进制,只是为了方便,如果把这32为二进制数转换成10进制数,计算机也是认识的。

2130706433(10进制)== 1111111000000000000000000000001(二进制)

为了更好的学习使用Python,那就编写一个将10进制数转成2进制的代码吧。

需要Python学习资料可以加群1084028245,群里资料免费赠予大家!(书籍太多,我就随便发一点咯!)​在这里插入图片描述

思路:

1:仔细分析,IP地址的四个10进制数,实际上就是256进制
2:10进制数除以256,余数就是IP地址右侧的数字,商继续除256即可

>>> divmod(2130706433,256)
(8323072, 1)                # 1
>>> divmod(8323072,256)
(32512, 0)                    # 0
>>> divmod(32512,256)
(127, 0)                    # 0
>>> divmod(127,256)
(0, 127)                    # 127
127.0.0.1

具体代码如下:

#!/usr/local/bin/python3
def int2ip(digit):
    result = []
    for i in range(4):
        digit, mod = divmod(digit, 256)
        result.insert(0,mod)
    return '.'.join(map(str,result))
if __name__ == '__main__':
    print(int2ip(2130706433))

匿名函数和map的使用方法和介绍

#!/usr/local/bin/python3
from random import randint
​
def func(x):
    return x * 2 + 1if __name__ == '__main__':
    alist = [randint(1,100) for i in range(10)]
    print(alist)
    # map将第二个参数中的每一项交给func函数进行加工,保留加工后的结果
    result = map(func, alist)   # 使用一个常规函数最为参数
    result2 = map(lambda x: x * 2 + 1, alist)   # 使用匿名函数作为参数
    print(list(result))
    print(list(result2)) 
    

最后

如果你还是不会编写这个脚本,可以关注小编+转发此文,就可以拿到完成代码,或者找我指导实现定位,原创不易!

已经在学习Python,或者想学Python的小伙伴们,如需要文中书籍、Python学习资料可以加群1084028245,小编将免费送给大家!在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值