Skip to content

Commit 42b239c

Browse files
ShaharNavehjreback
authored andcommitted
repr() (#29950)
1 parent 7711a5e commit 42b239c

File tree

10 files changed

+30
-44
lines changed

10 files changed

+30
-44
lines changed

pandas/core/computation/pytables.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def _resolve_name(self):
5252
if self.side == "left":
5353
# Note: The behavior of __new__ ensures that self.name is a str here
5454
if self.name not in self.env.queryables:
55-
raise NameError("name {name!r} is not defined".format(name=self.name))
55+
raise NameError(f"name {repr(self.name)} is not defined")
5656
return self.name
5757

5858
# resolve the rhs (and allow it to be None)
@@ -431,10 +431,7 @@ def visit_Subscript(self, node, **kwargs):
431431
try:
432432
return self.const_type(value[slobj], self.env)
433433
except TypeError:
434-
raise ValueError(
435-
"cannot subscript {value!r} with "
436-
"{slobj!r}".format(value=value, slobj=slobj)
437-
)
434+
raise ValueError(f"cannot subscript {repr(value)} with {repr(slobj)}")
438435

439436
def visit_Attribute(self, node, **kwargs):
440437
attr = node.attr

pandas/core/dtypes/common.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -1861,8 +1861,10 @@ def _validate_date_like_dtype(dtype) -> None:
18611861
except ValueError as e:
18621862
raise TypeError("{error}".format(error=e))
18631863
if typ != "generic" and typ != "ns":
1864-
msg = "{name!r} is too specific of a frequency, try passing {type!r}"
1865-
raise ValueError(msg.format(name=dtype.name, type=dtype.type.__name__))
1864+
raise ValueError(
1865+
f"{repr(dtype.name)} is too specific of a frequency, "
1866+
f"try passing {repr(dtype.type.__name__)}"
1867+
)
18661868

18671869

18681870
def pandas_dtype(dtype):

pandas/core/dtypes/dtypes.py

+8-9
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,7 @@ def _from_values_or_dtype(
319319
if dtype == "category":
320320
dtype = CategoricalDtype(categories, ordered)
321321
else:
322-
msg = "Unknown dtype {dtype!r}"
323-
raise ValueError(msg.format(dtype=dtype))
322+
raise ValueError(f"Unknown dtype {repr(dtype)}")
324323
elif categories is not None or ordered is not None:
325324
raise ValueError(
326325
"Cannot specify `categories` or `ordered` together with `dtype`."
@@ -512,8 +511,9 @@ def validate_categories(categories, fastpath: bool = False):
512511
from pandas.core.indexes.base import Index
513512

514513
if not fastpath and not is_list_like(categories):
515-
msg = "Parameter 'categories' must be list-like, was {!r}"
516-
raise TypeError(msg.format(categories))
514+
raise TypeError(
515+
f"Parameter 'categories' must be list-like, was {repr(categories)}"
516+
)
517517
elif not isinstance(categories, ABCIndexClass):
518518
categories = Index(categories, tupleize_cols=False)
519519

@@ -549,11 +549,10 @@ def update_dtype(
549549
# dtype='category' should not change anything
550550
return self
551551
elif not self.is_dtype(dtype):
552-
msg = (
553-
"a CategoricalDtype must be passed to perform an update, "
554-
"got {dtype!r}"
555-
).format(dtype=dtype)
556-
raise ValueError(msg)
552+
raise ValueError(
553+
f"a CategoricalDtype must be passed to perform an update, "
554+
f"got {repr(dtype)}"
555+
)
557556
else:
558557
# from here on, dtype is a CategoricalDtype
559558
dtype = cast(CategoricalDtype, dtype)

pandas/core/frame.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -8123,10 +8123,9 @@ def isin(self, values):
81238123
else:
81248124
if not is_list_like(values):
81258125
raise TypeError(
8126-
"only list-like or dict-like objects are "
8127-
"allowed to be passed to DataFrame.isin(), "
8128-
"you passed a "
8129-
"{0!r}".format(type(values).__name__)
8126+
f"only list-like or dict-like objects are allowed "
8127+
f"to be passed to DataFrame.isin(), "
8128+
f"you passed a {repr(type(values).__name__)}"
81308129
)
81318130
return DataFrame(
81328131
algorithms.isin(self.values.ravel(), values).reshape(self.shape),

pandas/core/generic.py

+7-10
Original file line numberDiff line numberDiff line change
@@ -1864,8 +1864,8 @@ def _drop_labels_or_levels(self, keys, axis=0):
18641864

18651865
def __hash__(self):
18661866
raise TypeError(
1867-
"{0!r} objects are mutable, thus they cannot be"
1868-
" hashed".format(type(self).__name__)
1867+
f"{repr(type(self).__name__)} objects are mutable, "
1868+
f"thus they cannot be hashed"
18691869
)
18701870

18711871
def __iter__(self):
@@ -6567,11 +6567,9 @@ def replace(
65676567
or is_dict_like(regex)
65686568
):
65696569
raise TypeError(
6570-
"'regex' must be a string or a compiled "
6571-
"regular expression or a list or dict of "
6572-
"strings or regular expressions, you "
6573-
"passed a"
6574-
" {0!r}".format(type(regex).__name__)
6570+
f"'regex' must be a string or a compiled regular expression "
6571+
f"or a list or dict of strings or regular expressions, "
6572+
f"you passed a {repr(type(regex).__name__)}"
65756573
)
65766574
return self.replace(
65776575
regex, value, inplace=inplace, limit=limit, regex=True
@@ -6597,10 +6595,9 @@ def replace(
65976595
to_replace=to_replace, value=value, inplace=inplace, regex=regex
65986596
)
65996597
else:
6600-
msg = ('Invalid "to_replace" type: ' "{0!r}").format(
6601-
type(to_replace).__name__
6598+
raise TypeError(
6599+
f'Invalid "to_replace" type: {repr(type(to_replace).__name__)}'
66026600
)
6603-
raise TypeError(msg) # pragma: no cover
66046601

66056602
if inplace:
66066603
self._update_inplace(new_data)

pandas/core/groupby/grouper.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ def groups(self):
206206

207207
def __repr__(self) -> str:
208208
attrs_list = (
209-
f"{attr_name}={getattr(self, attr_name)!r}"
209+
f"{attr_name}={repr(getattr(self, attr_name))}"
210210
for attr_name in self._attributes
211211
if getattr(self, attr_name) is not None
212212
)

pandas/core/indexes/datetimelike.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ def _format_attrs(self):
475475
if attrib == "freq":
476476
freq = self.freqstr
477477
if freq is not None:
478-
freq = f"{freq!r}"
478+
freq = repr(freq)
479479
attrs.append(("freq", freq))
480480
return attrs
481481

pandas/core/indexes/interval.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,7 @@ def _get_next_label(label):
8383
elif is_float_dtype(dtype):
8484
return np.nextafter(label, np.infty)
8585
else:
86-
raise TypeError(
87-
"cannot determine next label for type {typ!r}".format(typ=type(label))
88-
)
86+
raise TypeError(f"cannot determine next label for type {repr(type(label))}")
8987

9088

9189
def _get_prev_label(label):
@@ -99,9 +97,7 @@ def _get_prev_label(label):
9997
elif is_float_dtype(dtype):
10098
return np.nextafter(label, -np.infty)
10199
else:
102-
raise TypeError(
103-
"cannot determine next label for type {typ!r}".format(typ=type(label))
104-
)
100+
raise TypeError(f"cannot determine next label for type {repr(type(label))}")
105101

106102

107103
def _get_interval_closed_bounds(interval):

pandas/core/internals/concat.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,7 @@ def __init__(self, block, shape, indexers=None):
121121
self.shape = shape
122122

123123
def __repr__(self) -> str:
124-
return "{name}({block!r}, {indexers})".format(
125-
name=type(self).__name__, block=self.block, indexers=self.indexers
126-
)
124+
return f"{type(self).__name__}({repr(self.block)}, {self.indexers})"
127125

128126
@cache_readonly
129127
def needs_filling(self):

pandas/core/internals/managers.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -1905,9 +1905,7 @@ def _compare_or_regex_search(a, b, regex=False):
19051905
type_names[1] = "ndarray(dtype={dtype})".format(dtype=b.dtype)
19061906

19071907
raise TypeError(
1908-
"Cannot compare types {a!r} and {b!r}".format(
1909-
a=type_names[0], b=type_names[1]
1910-
)
1908+
f"Cannot compare types {repr(type_names[0])} and {repr(type_names[1])}"
19111909
)
19121910
return result
19131911

0 commit comments

Comments
 (0)