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

_______________________________________________
Community-list mailing list
Community-list@lists.vpsfree.cz
http://lists.vpsfree.cz/listinfo/community-list