It's not a high overhead. Your string method would have to do basically the same thing as the ipaddress initialization and method call. As a benefit, with ipaddress you don't have to re-parse the string every time you want to manipulate it as an address; and you get a bit of typechecking and documentation from using a specialized class.