Looping through multiple regex efficiently
Start writing in python3.x ;)

End of Life for python2.x will happen pretty soon 1
One regex to rule them all

Instead of looping over a the list to create a regex, 

you could use the | char which will work as an or so it can handle multiple outputs

REGEX_FILTER = re.conmpile('lo|wlp2s0')
If you only need the parameters, a simple namedtuple will suffice

You could create a namedtuple that will get rid of the empty looking class
IMHO setting the variables outside of the init is bad style

I would get the different variables needed before, and only then create the NetworkInterface object.


Note I will not review getting the interface type, since I am nowhere near a linux atm

Code

from collections import namedtuple
import re

import netifaces

FILTER_REGEX = re.compile(r'lo|wlp2s0')
NetworkInterface = namedtuple('NetworkInterface', ['iface', 'mac', 'type'])

def get_mac(iface):
    addresses = netifaces.ifaddresses(iface)
    return addresses[netifaces.AF_LINK][0].get("addr")

def get_type(iface):
    """Just return TP for testing"""
    return "TP"

def find_network_interfaces():
    for iface in netifaces.interfaces():
        if FILTER_REGEX.search(iface):
            continue
        yield NetworkInterface(iface, get_mac(iface), get_type(iface))

if __name__ == '__main__':
    for nwi in find_network_interfaces():
        print(nwi.iface)
        print(nwi.mac)
        print(nwi.type)