2012-01-07 19 views
23

Korzystanie z Python 3. Która z metod jest bardziej Pythonowa? Konwersja na duże litery:Konwersja na duże litery. Który sposób jest bardziej pythonic?

guess = input("\n\nEnter your guess: ") 
guess = guess.upper() 
print(guess) 

lub

guess = input("\n\nEnter your guess: ").upper() 
print(guess) 

lub

guess = input("\n\nEnter your guess: ") 
print(guess.upper()) 

Chciałbym również bardzo lubię wiedzieć, innych bardziej skutecznych sposobów pisania tego. Dzięki, naprawdę doceniam porady.

+4

Przegapiłeś: 'print (guess.upper())' To zależy od tego jak masz zamiar użyć zmiennej przypuszczenie potem . Jeśli jest to po prostu kwestia stylu drukowania preferuję ten w tym komentarzu – joaquin

+0

dzięki Joaquin dodam, że w. – Zefi

+0

, co powiesz na 'print (input (" ... "). Upper())'. Rzecz w pythonie polega na tym, że wszystkie te mogą być poprawne w zależności od tego, co chcesz zrobić z wartością zwracaną. Jeśli nie musisz później korzystać z reutrn, nie musisz go przypisywać. Jednak nie musisz też trzymać wszystkiego w jednej linii tylko dlatego, że możesz. – Will

Odpowiedz

-9

Konwersja wszystkich danych wejściowych na wielkie jest taka, że ​​w latach siedemdziesiątych nie jest to śmieszne. Z pewnością nie jest to "Pythonic", cokolwiek to znaczy.

Ustal, co chcesz zrobić z danymi wejściowymi PO zakończeniu drukowania (przetwarzanie danych z dużej litery? Przetwarzanie oryginalnego wejścia? Nic?) I odpowiednio wpisz kod.

Nie ma skuteczniejszego sposobu zapisu "tego" niż przez wpisanie go za pomocą klawiatury.

+11

@ John-Machlin from wikipedia - Wspólny neologizm w społeczności Pythona jest pythonic, który może mieć szeroki zakres znaczeń związanych ze stylem programu. Mówiąc, że kod jest pythonic, to znaczy, że używa on idiomów Pythona, że ​​jest naturalny lub wykazuje płynność w języku. Podobnie, mówiąc o interfejsie lub funkcji językowej, która jest pythonic, oznacza, że ​​działa dobrze z idiomami Pythona, że ​​jego użycie dobrze pasuje do reszty języka. – XanderLynn

+0

@tathamr: Jak mówisz, szeroki zakres znaczeń. –

13

Może to ostatecznie zależeć od tego, co zrobisz z wartością, ale, szczerze mówiąc, każde z tych rozwiązań jest równie pytonickie niemal w każdej sytuacji. Po prostu użyj jednego z nich i przejdź do prawdziwej wołowiny :)

+7

Rzeczywiście. Zbyt duże myślenie o "pythonic" powstrzymuje cię przed napisaniem kodu! –

5

Pierwszy wariant jest prawdopodobnie lepszy, ponieważ zachęca do sprawdzenia wartości wejściowej użytkownika, co jest dobrą praktyką bezpieczeństwa również w Pythonie.

Jest to również wygodniejsze podczas debugowania programu.

Prawdopodobnie może to być pomocne (po uruchomieniu na interaktywnej wierszu):

import this 
Powiązane problemy