python之ipv4的ip转换为int数值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之ipv4的ip转换为int数值相关的知识,希望对你有一定的参考价值。

参考技术A 最近在工作中需要对用户输入的ip进行重复性校验,之前处理的都是单ip,直接通过ip字符串比较即可。现在用户输入的是ip+掩码的方式,也就是支持ip范围输入,这样之前的校验方式就行不通了。

那么如何解决呢?我们都知道ip4是通过"点分十进制"来表示的,本质上就是一个二进制的整数,只需要将十进制的表示的IP转换为二进制整数,通过数值进行比较即可。
对于单ip而言,直接转换为整数,对于ip+掩码的形式(也就是ip范围)获取范围的开始值和结束值就可以确定其范围了。
这里介绍如下:

其中网路地址就是ip段的开始值,广播地址就是ip段的结束值.

喜欢点个赞!!!

python--基本类型之数值

Number(数字):

数字类型创建:

a = 10
b = a
b = 20

pint(‘a : ‘a)
pint(‘b : ‘b)

数据类型转换:

int(x,[,base]) 将 x 转换为一个整数
float(x) 将 x 转换为一个浮点数
str(x) 将对象 x 转换为字符串
repr (x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中有效python表达式,并返回一个对象
tuple(s) 将序列s转换为一个元组
list (s) 将序列S转换成一个列表
chr(s) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

数字函数:

import math #导入math模块
ads(x) 返回数字的绝对值
例:ads(-10) >>10
ceil(x) 返回数字的上入整数 例:math.ceil(4.3) >>5
cmp(x,y) 如果 x<y >>-1; x==y >>0 x<y >>1
exp(x) 返回e的X次幂(ex) ,
例:math.exp(1) >>2.71828182
fabs(x) 返回数字的绝对值 例:math.fabs(-10) >>10.0
floor(x) 返回数字的下舍整数
例:math.floor(4.9) >>4
log10(x) 返回以10为基数的x的对数
例:math.log10(100) >>2.0
max(x1,x2,....) 返回给定参数的最大值,参数可以为序列
min(x1,x2,....) 返回给定参数的最小值,参数可以为序列
pow(x,y) x**y 运算后的值
round(x,[,n]) 返回浮点数x的四舍五入,如给出n的值,则代表舍入到小数位后的位数
sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数 例: math.sqrt(4) >>2+0j































以上是关于python之ipv4的ip转换为int数值的主要内容,如果未能解决你的问题,请参考以下文章

Qt 中 IPv4 字符串和 int 整形的相互转换

ipv4与ipv6如何转换

hive ipv4与十进制整数的转换

hive ipv4与十进制整数的转换

Python 将IP转换为int

mysql 常用sql