python百例 --- ip地址与10进制的转换
2021-02-20 18:18
标签:__name__ lambda name 地址 数字 head return 加工 ali 1 - ip地址与10进制数的转换 当我们ping数字2130706433时,从127.0.0.1返回结果。 IP地址是个32位的二进制数,表示成点分10进制,只是为了方便,如果把这32为二进制数转换成10进制数,计算机也是认识的。 2130706433(10进制)== 1111111000000000000000000000001(二进制) 为了更好的学习使用Python,那就编写一个将10进制数转成2进制的代码吧。 思路: 仔细分析,IP地址的四个10进制数,实际上就是256进制 10进制数除以256,余数就是IP地址右侧的数字,商继续除256即可 具体代码如下: 匿名函数和map的使用方法和介绍 python百例 --- ip地址与10进制的转换 标签:__name__ lambda name 地址 数字 head return 加工 ali 原文地址:https://www.cnblogs.com/liangbc/p/12681154.html
>>> 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))
#!/usr/local/bin/python3
from random import randint
?
def func(x):
return x * 2 + 1
?
if __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百例 --- ip地址与10进制的转换
文章链接:http://soscw.com/index.php/essay/58091.html