IPV4 address manipulation made easy with this module.
It's worth noting that you shouldn't try to create objects of these classes directly. Instead, you should use the IPV4 function to do so. IPV4 also provides useful conversion functions that can come in handy.
Here's an example of how to use IPV4:
```
from IPV4 import IPV4
# Create a new IPV4 object
a = IPV4('192.168.1.3')
# Print the IPV4 object
print(a) # Output: '192.168.1.3'
# Set the subnet mask using CIDR notation
a.set_mask(23)
# Get the mask for the IPV4 object
print(a.mask) # Output: '255.255.254.0'
# Get the start and end addresses of the subnet
print(a.subnet.start) # Output: '192.168.0.0'
print(a.subnet.end) # Output: '192.168.1.255'
# Check if an IP address is in the same subnet as the IPV4 object
print(a.same_subnet('192.168.2.1')) # Output: False
# Get the binary representation of the IPV4 object
print(a.bitstr) # Output: '11000000101010000000000100000011'
# Get the binary representation of the subnet bitmask
print(a.subnet.bitmask) # Output: '11000000101010000000000'
# Get the hex representation of the IPV4 object
print(a.hexaval) # Output: 'c0a80103'
# Get the integer representation of the IPV4 object
print(a.intval) # Output: 3232235779L
# Get the IP class of the IPV4 object
print(a.IPclass) # Output: 'C'
```
Overall, IPV4 can be a useful tool for anyone who needs to work with IPV4 addresses in Python.
Version 0.2: N/A