Skip to content

Commit de28b4d

Browse files
committed
For property, use decorator or lambdas.
Replace ``` def _get_foo(self): ... foo = property(_get_foo) ``` by ``` @Property def foo(self): ... ``` or ``` foo = property(lambda self: ...) ``` (for the one-liner cases, when there are many of them, allowing to block them together without blank lines in between). Remove Affine2D.is_separable -- we can just inherit it from Affine2DBase.is_separable.
1 parent 4769f7b commit de28b4d

File tree

7 files changed

+57
-82
lines changed

7 files changed

+57
-82
lines changed

.flake8

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ per-file-ignores =
6969
mpl_toolkits/axes_grid1/axes_size.py: E261, E501
7070
mpl_toolkits/axes_grid1/colorbar.py: E225, E231, E261, E262, E302, E303, E501, E701
7171
mpl_toolkits/axes_grid1/inset_locator.py: E501
72-
mpl_toolkits/axes_grid1/mpl_axes.py: E303, E501
72+
mpl_toolkits/axes_grid1/mpl_axes.py: E501
7373
mpl_toolkits/axisartist/angle_helper.py: E201, E203, E221, E222, E225, E231, E251, E261, E262, E302, E303, E501
7474
mpl_toolkits/axisartist/axis_artist.py: E201, E202, E221, E225, E228, E231, E251, E261, E262, E302, E303, E402, E501, E701, E711
7575
mpl_toolkits/axisartist/axisline_style.py: E231, E261, E262, E302, E303

lib/matplotlib/backend_bases.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,27 +1181,27 @@ def _timer_start(self):
11811181
def _timer_stop(self):
11821182
pass
11831183

1184-
def _get_interval(self):
1184+
@property
1185+
def interval(self):
11851186
return self._interval
11861187

1187-
def _set_interval(self, interval):
1188+
@interval.setter
1189+
def interval(self, interval):
11881190
# Force to int since none of the backends actually support fractional
11891191
# milliseconds, and some error or give warnings.
11901192
interval = int(interval)
11911193
self._interval = interval
11921194
self._timer_set_interval()
11931195

1194-
interval = property(_get_interval, _set_interval)
1195-
1196-
def _get_single_shot(self):
1196+
@property
1197+
def single_shot(self):
11971198
return self._single
11981199

1199-
def _set_single_shot(self, ss=True):
1200+
@single_shot.setter
1201+
def single_shot(self, ss):
12001202
self._single = ss
12011203
self._timer_set_single_shot()
12021204

1203-
single_shot = property(_get_single_shot, _set_single_shot)
1204-
12051205
def add_callback(self, func, *args, **kwargs):
12061206
'''
12071207
Register `func` to be called by timer when the event fires. Any

lib/matplotlib/mathtext.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2542,13 +2542,15 @@ def copy(self):
25422542
self.fontsize,
25432543
self.dpi)
25442544

2545-
def _get_font(self):
2545+
@property
2546+
def font(self):
25462547
return self._font
2547-
def _set_font(self, name):
2548+
2549+
@font.setter
2550+
def font(self, name):
25482551
if name in ('rm', 'it', 'bf'):
25492552
self.font_class = name
25502553
self._font = name
2551-
font = property(_get_font, _set_font)
25522554

25532555
def get_state(self):
25542556
"""

lib/matplotlib/patches.py

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -835,38 +835,41 @@ def _update_transform(self):
835835
.rotate(self.orientation) \
836836
.translate(*self.xy)
837837

838-
def _get_xy(self):
838+
@property
839+
def xy(self):
839840
return self._xy
840841

841-
def _set_xy(self, xy):
842+
@xy.setter
843+
def xy(self, xy):
842844
self._xy = xy
843845
self._update_transform()
844-
xy = property(_get_xy, _set_xy)
845846

846-
def _get_orientation(self):
847+
@property
848+
def orientation(self):
847849
return self._orientation
848850

849-
def _set_orientation(self, orientation):
851+
@orientation.setter
852+
def orientation(self, orientation):
850853
self._orientation = orientation
851854
self._update_transform()
852-
orientation = property(_get_orientation, _set_orientation)
853855

854-
def _get_radius(self):
856+
@property
857+
def radius(self):
855858
return self._radius
856859

857-
def _set_radius(self, radius):
860+
@radius.setter
861+
def radius(self, radius):
858862
self._radius = radius
859863
self._update_transform()
860-
radius = property(_get_radius, _set_radius)
861864

862-
def _get_numvertices(self):
865+
@property
866+
def numvertices(self):
863867
return self._numVertices
864868

865-
def _set_numvertices(self, numVertices):
869+
@numvertices.setter
870+
def numvertices(self, numVertices):
866871
self._numVertices = numVertices
867872

868-
numvertices = property(_get_numvertices, _set_numvertices)
869-
870873
def get_path(self):
871874
return self._path
872875

lib/matplotlib/textpath.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -437,22 +437,21 @@ def get_size(self):
437437
"""
438438
return self._size
439439

440-
def _get_vertices(self):
440+
@property
441+
def vertices(self):
441442
"""
442443
Return the cached path after updating it if necessary.
443444
"""
444445
self._revalidate_path()
445446
return self._cached_vertices
446447

447-
def _get_codes(self):
448+
@property
449+
def codes(self):
448450
"""
449451
Return the codes
450452
"""
451453
return self._codes
452454

453-
vertices = property(_get_vertices)
454-
codes = property(_get_codes)
455-
456455
def _revalidate_path(self):
457456
"""
458457
update the path if necessary.

lib/matplotlib/transforms.py

Lines changed: 15 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1702,17 +1702,9 @@ def set(self, child):
17021702
self.invalidate()
17031703
self._invalid = 0
17041704

1705-
def _get_is_affine(self):
1706-
return self._child.is_affine
1707-
is_affine = property(_get_is_affine)
1708-
1709-
def _get_is_separable(self):
1710-
return self._child.is_separable
1711-
is_separable = property(_get_is_separable)
1712-
1713-
def _get_has_inverse(self):
1714-
return self._child.has_inverse
1715-
has_inverse = property(_get_has_inverse)
1705+
is_affine = property(lambda self: self._child.is_affine)
1706+
is_separable = property(lambda self: self._child.is_separable)
1707+
has_inverse = property(lambda self: self._child.has_inverse)
17161708

17171709

17181710
class AffineBase(Transform):
@@ -1799,10 +1791,10 @@ def frozen(self):
17991791
return Affine2D(self.get_matrix().copy())
18001792
frozen.__doc__ = AffineBase.frozen.__doc__
18011793

1802-
def _get_is_separable(self):
1794+
@property
1795+
def is_separable(self):
18031796
mtx = self.get_matrix()
1804-
return mtx[0, 1] == 0.0 and mtx[1, 0] == 0.0
1805-
is_separable = property(_get_is_separable)
1797+
return mtx[0, 1] == mtx[1, 0] == 0.0
18061798

18071799
def to_values(self):
18081800
"""
@@ -2075,11 +2067,6 @@ def skew_deg(self, xShear, yShear):
20752067
"""
20762068
return self.skew(np.deg2rad(xShear), np.deg2rad(yShear))
20772069

2078-
def _get_is_separable(self):
2079-
mtx = self.get_matrix()
2080-
return mtx[0, 1] == 0.0 and mtx[1, 0] == 0.0
2081-
is_separable = property(_get_is_separable)
2082-
20832070

20842071
class IdentityTransform(Affine2DBase):
20852072
"""
@@ -2181,13 +2168,9 @@ def contains_branch(self, other):
21812168
# a blended transform cannot possibly contain a branch from two different transforms.
21822169
return False
21832170

2184-
def _get_is_affine(self):
2185-
return self._x.is_affine and self._y.is_affine
2186-
is_affine = property(_get_is_affine)
2187-
2188-
def _get_has_inverse(self):
2189-
return self._x.has_inverse and self._y.has_inverse
2190-
has_inverse = property(_get_has_inverse)
2171+
is_affine = property(lambda self: self._x.is_affine and self._y.is_affine)
2172+
has_inverse = property(
2173+
lambda self: self._x.has_inverse and self._y.has_inverse)
21912174

21922175
def frozen(self):
21932176
return blended_transform_factory(self._x.frozen(), self._y.frozen())
@@ -2410,17 +2393,12 @@ def _iter_break_from_left_to_right(self):
24102393
for left, right in self._b._iter_break_from_left_to_right():
24112394
yield self._a + left, right
24122395

2413-
@property
2414-
def depth(self):
2415-
return self._a.depth + self._b.depth
2416-
2417-
def _get_is_affine(self):
2418-
return self._a.is_affine and self._b.is_affine
2419-
is_affine = property(_get_is_affine)
2420-
2421-
def _get_is_separable(self):
2422-
return self._a.is_separable and self._b.is_separable
2423-
is_separable = property(_get_is_separable)
2396+
depth = property(lambda self: self._a.depth + self._b.depth)
2397+
is_affine = property(lambda self: self._a.is_affine and self._b.is_affine)
2398+
is_separable = property(
2399+
lambda self: self._a.is_separable and self._b.is_separable)
2400+
has_inverse = property(
2401+
lambda self: self._a.has_inverse and self._b.has_inverse)
24242402

24252403
def __str__(self):
24262404
return ("{}(\n"
@@ -2466,10 +2444,6 @@ def inverted(self):
24662444
return CompositeGenericTransform(self._b.inverted(), self._a.inverted())
24672445
inverted.__doc__ = Transform.inverted.__doc__
24682446

2469-
def _get_has_inverse(self):
2470-
return self._a.has_inverse and self._b.has_inverse
2471-
has_inverse = property(_get_has_inverse)
2472-
24732447

24742448
class CompositeAffine2D(Affine2DBase):
24752449
"""

lib/mpl_toolkits/axes_grid1/mpl_axes.py

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,10 @@ def _init_axis_artists(self, axes=None):
5050
left=SimpleAxisArtist(self.yaxis, 1, self.spines["left"]),
5151
right=SimpleAxisArtist(self.yaxis, 2, self.spines["right"]))
5252

53-
def _get_axislines(self):
53+
@property
54+
def axis(self):
5455
return self._axislines
5556

56-
axis = property(_get_axislines)
57-
5857
def cla(self):
5958
super().cla()
6059
self._init_axis_artists()
@@ -74,24 +73,22 @@ def __init__(self, axis, axisnum, spine):
7473
raise ValueError("axis must be instance of XAxis or YAxis : %s is provided" % (axis,))
7574
Artist.__init__(self)
7675

77-
78-
def _get_major_ticks(self):
76+
@property
77+
def major_ticks(self):
7978
tickline = "tick%dline" % self._axisnum
8079
return SimpleChainedObjects([getattr(tick, tickline)
8180
for tick in self._axis.get_major_ticks()])
8281

83-
def _get_major_ticklabels(self):
82+
@property
83+
def major_ticklabels(self):
8484
label = "label%d" % self._axisnum
8585
return SimpleChainedObjects([getattr(tick, label)
8686
for tick in self._axis.get_major_ticks()])
8787

88-
def _get_label(self):
88+
@property
89+
def label(self):
8990
return self._axis.label
9091

91-
major_ticks = property(_get_major_ticks)
92-
major_ticklabels = property(_get_major_ticklabels)
93-
label = property(_get_label)
94-
9592
def set_visible(self, b):
9693
self.toggle(all=b)
9794
self.line.set_visible(b)

0 commit comments

Comments
 (0)