我想知道是否有一种简单的方法可以创建' custom' Python中的类型。
我创建了一个带有当前MAC地址参数的函数。我想更改它,以便它可以是IP地址或MAC地址,然后检查'类型'在函数内部进行进一步处理。
为了做到这一点,我可以检查正则表达式,但我想知道我是否可以定义两种类型,ip_add和mac_add,并在处理它之前检查我的参数类型。
我读到了一些关于定义新类型here的内容,但它根本不是直截了当的。也许存在一个特定的包?
答案 0 :(得分:0)
The doc you link to in your question用于在CPython运行时(“解释器”)中为C语言扩展创建新类型。 Python有一种更简单的方法可以在Python模块中创建新类型:classes。
定义一个新类很简单:
class Person(object):
def __init__(self, firstname, lastname, dob):
self.firstname = firstname
self.lastname = lastname
self.dob = dob
def say_hello(self):
return "Hello, my name is {self.firstname} {self.lastname} and I was born on {self.dob}".format(self=self)
p = Person("bruno", "desthuilliers", "May 1st, 1967")
p.say_hello()
据说,正如AK47正确提到的,the netaddr package似乎已经提供了你正在寻找的功能。