'A DegreeView for the Graph as G.degree or G.degree().
The node degree is the number of edges adjacent to the node.
This object provides an iterator for (node, degree) or
the degree for a single node.
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 adjacent to the node.
Returns
If a single node is requested
deg : int
Degree of the node
OR if multiple nodes are requested
nd_view : A DegreeView object capable of iterating (node, degree) pairs
Examples
>>> G = nx.path_graph(4)  # or DiGraph, MultiGraph, MultiDiGraph, etc
>>> 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 = DegreeView(self)
    return degree
