On 04/11/2022 07.50, Chris Angelico wrote:
On Fri, 4 Nov 2022 at 05:48, Paulo da Silva
<p_d_a_s_i_l_v_a...@nonetnoaddress.pt> wrote:
Às 05:32 de 03/11/22, Paulo da Silva escreveu:
Às 03:24 de 03/11/22, Paulo da Silva escreveu:
Hi!
And a typing problem again!!!
_______________________________________
class C:
def __init__(self):
self.__foos=5*[0]
@property
def foos(self) -> list[int]:
return self.__foos
@foos.setter
def foos(self,v: int):
self.__foos=[v for __i in self.__foos]
c=C()
c.foos=5
print(c.foos)
_______________________________________
mypy gives the following error:
error: Incompatible types in assignment (expression has type "int",
variable has type "List[int]")
How do I turn around this?
Changing def foos(self) -> list[int]: to
def foos(self) -> Union[list[int]]:
I meant, of course,
def foos(self) -> Union[list[int],int]:
Ohhh! I thought this was triggering a strange quirk of the checker in
some way...
Yes, these personal styles (?quirks) are off-putting to others.
Plus "_" means (more or less) "not used anymore"
and for most of us, a weak-identifier name such as "i" is indeed "an
indexer/counter/... "
Accordingly, the question becomes: why not follow the crowd - unless you
tell me that this is a team/company convention?
...and whilst I'm griping,
"To help us to help you please copy-paste the *exact* message"
has been followed by:
"I'm sorry. A bad transposition of the text."
copy-paste for the win!
(and to keep others happy to spend their voluntary time helping you -
more working-with-the-team thinking to consider - please)
--
Regards,
=dn
--
https://mail.python.org/mailman/listinfo/python-list