'Return an iterator for (node, degree) or degree for single node.
degree(self, nbunch=None, weight=None)
The node degree is the number of edges adjacent to the node.
This function returns the degree for a single node or an iterator
for a bunch of nodes or if nothing is passed as argument.
Parameters
nbunch : iterable container, optional (default=all nodes)
A container of nodes.  The container will be iterated
through once.
weight : string or None, optional (default=None)
The edge attribute that holds the numerical value used
as a weight.  If None, then each edge has weight 1.
The degree is the sum of the edge weights.
Returns
If a single nodes is requested
deg : int
Degree of the node
OR if multiple nodes are requested
nd_iter : iterator
The iterator returns two-tuples of (node, degree).
See Also
out_degree, in_degree
Examples
>>> G = nx.MultiDiGraph()
>>> nx.add_path(G, [0, 1, 2, 3])
>>> G.degree(0) # node 0 with degree 1
1
>>> list(G.degree([0, 1]))
[(0, 1), (1, 2)]'

@property
def degree(self):

    self.__dict__['degree'] = degree = DiMultiDegreeView(self)
    return degree
