Ahoj,
to je asi spíše otázka na StackOverflow než VPSFree community list.
Ale podle mě ty hodnoty z uživatelského vstupu budou vždycky stringy
(pokud to uživatel nevolá jako CLI), takže si to můžeš sám ošetřit, než
s tím budeš dál něco dělat. Zadání 1_1 a 11 by mělo být v pythonu 3
ekvivalentní.
Vojtěch Oram
Dne 13. 03. 20 v 15:55 zd nex napsal(a):
Ahojte,
mám dotaz na python. Už delší dobu přecházíme na Python3 (je to
složitý a problematický a nemáme žádnou významnou funkci co by to
opodstatnila). Během té doby jsme našli 2 chyby (pickle/shelve) v
novém Pythonu a nyní jsme našel nový hodně velký problém.Je to nová
funkce PEP515 podtržítka v číslech. Tato funkcionalita zní možná
naprosto skvěle pro některé lidi, ale nám nyní dělá značnou neplechu.
Jde o to, že nyní všechny interní funkce jako je
int/float/literal_eval při předání "1_1" a podobně vytvoří číslo 11 a
ne SyntaxError. Chápal bych, že tato funkce bude ve zdrojovém kódu
možná užitečná. Jenže pokud nyní uživatel předá "1_1", tak systém
pokračuje dál s novým číslem.
Moje otázka zní, znáte nějaký postup jak toto chování vypnout? Ono se
to nezdá ale int/float a literal_eval používáme opravdu hodně a všude
řešit nějakou takovou kontrolu je těžce proveditelné. V minulosti se
podobně blbě chovala nula na začátku a to naštěstí odstranili, ale
nyní přidali tuto vlastnost.
Zkouším hledat na googlu, ale zatím jsem nenašel nic co by to umožnilo
nějak změnit, ideálně globálně.
--
Zdenek
Web:
www.pripravto.cz <http://www.pripravto.cz>
_______________________________________________
Community-list mailing list
Community-list(a)lists.vpsfree.cz
http://lists.vpsfree.cz/listinfo/community-list