2016-08-23 17 views
7

ja rozszyfrowania cudzego kodu i widzę, co następuje:podkreślnik po nazwie zmiennej w Pythonie

def get_set_string(set_): 
    if PY3: 
     return str(set_) 
    else: 
     return str(set_) 

Czy podkreślenia po zmiennej coś znaczy, czy jest to tylko część nazwy zmiennej i nic nie znaczy ?

+0

To tylko część nazwy. Musisz zapytać autora. –

+5

To odróżnienie go od 'set', wbudowanego typu zestawu, aby uniknąć przesłonięcia nazwy - [*" 'single_trailing_underscore_': używane przez konwencję, aby uniknąć konfliktów ze słowem kluczowym Python "*] (https: //www.python .org/dev/peps/pep-0008/# descriptive-naming-styles). – jonrsharpe

+0

dziękuję za wyjaśnienie tego – nanachan

Odpowiedz

9

Żadna semantyka nie jest powiązana z końcowym znakiem podkreślenia. Według PEP 8, przewodnik stylu dla Pythona, użytkownicy są zachęcani do korzystania spływu podkreśla, aby nie kolidować z kluczowych Python i/lub Python Zabudowy:

single_trailing_underscore_: używane przez konwencję, aby uniknąć konfliktów z Pythona hasła np

Tkinter.Toplevel(master, class_='ClassName')

Korzystanie set_ oznacza, że ​​wbudowana w imię dla zestawów, tj set, nie zostanie zasłonięta i straci swoją znanym odniesieniem podczas wywołania funkcji.

4

To nic nie znaczy. Wierzę, że ten, kto to napisał, potrzebował zmiennej nazwy oznaczającej zestaw, ale set jest typem w Pythonie (który tworzy zestaw), więc dodał podkreślenie.

Powiązane problemy