Heim  >  Artikel  >  Backend-Entwicklung  >  Python – Namenskonventionen

Python – Namenskonventionen

高洛峰
高洛峰Original
2016-10-19 17:08:271599Durchsuche

1. Paketname, Modulname, lokaler Variablenname, Funktionsname

Alle Unterstriche in Kleinbuchstaben

Beispiel: this_is_var

Globale Variablen

Alle Großbuchstaben unterstreichen Kamelbuchstaben

Beispiel: GLOBAL_VAR

3. Klassenname

Anfangsbuchstaben in Großbuchstaben in Kamelbuchstaben

Beispiel: ClassName()

Viertens: Der Unterstrich

beginnt mit einem einzelnen Unterstrich, der eine schwache interne Verwendungskennung darstellt. Beim Import aus M wird das Objekt nicht importiert (alles in Python ist ein Objekt). .

Variablennamen, die mit doppelten Unterstrichen beginnen, werden hauptsächlich verwendet, um die Klasse intern als privat zu kennzeichnen, und es kann nicht direkt darauf zugegriffen werden. Zur Verwendung in Modulen siehe den vorherigen Punkt.

Versuchen Sie nicht, die Benennungsmethode zu verwenden, die mit einem doppelten Unterstrich beginnt und mit einem doppelten Unterstrich endet. Dies ist der Bezeichner

Beispiel für 1: Die Variablen var_1, _var_2, __var_3 sind in definiert

module_1 module.#module_1

var_1

_var_2

__var_3

module_2 Der Code im Modul lautet wie folgt:

#module_2_error
 '''
 以下划线开头的变量不会别导入
 '''
  from module_1 import *
    
  print var_1
  print _var_2  #将报错
  print __var_3  #将报错


Bei der Ausführung wird in den Zeilen 6 und 7 ein Fehler gemeldet, da es sich um ein beliebiges Objekt handelt mit einem Unterstrich beginnen, werden nicht importiert.

Da es sich um eine schwache interne Nutzungskennung handelt, gibt es dennoch eine Möglichkeit, sie zu verwenden. Importieren Sie sie einfach separat:

#module_2_solution
   
 from module_1 import *  # 导入所有的不是下划线开头的对象
   
 from module_1 import _var_2, __var_3 # 显式导入下划线开头的对象
   
 print var_1
 print _var_2 # 不会报错
 print __var_3  # 不会报错


Beispiel für 2:

#module_error
 '''
 双下划线开头的变量不能被直接访问
 '''
   
 class MyClass():
     def __init__(self):
         self.var_1 = 1
         self._var_2 = 2
         self.__var_3 = 3
       
 if __name__=="__main__":
     obj = MyClass()
     print obj.var_1
     print obj._var_2
     print obj.__var_3  # 这里将会出错


Sie müssen eine Funktion definieren für Lassen Sie die Zeichen mit einem doppelten Unterstrich beginnen. Variablen

#module_solution
  
'''
需要定义函数来获取双下划线开头的变量
'''
  
class MyClass():
    def __init__(self):
        self.var_1 = 1
        self._var_2 = 2
        self.__var_3 = 3
          
    def get_var_3(self):
        return self.__var_3
          
      
  
if __name__=="__main__":
    obj = MyClass()
    print obj.var_1
    print obj._var_2
    print obj.get_var_3()  # 不会再报错


Viertens, weitere Dinge, die Sie beachten sollten

sollte nicht wie in Sprachen wie c sein. Verwenden Sie den ersten Buchstaben, um den Variablentyp zu identifizieren (z. B. iValue), da Python den Typ nur bei der Interpretation bestimmt.

Da eine Ausnahme auch eine Klasse ist, folgt sie den Benennungsregeln der Klasse. Wenn sich die Ausnahme tatsächlich auf einen Fehler bezieht, sollte ihr außerdem „Error“ angehängt werden.

Sie sollten versuchen, bei der Benennung vollständig buchstabierte Wörter zu verwenden. Es gibt zwei Abkürzungen: häufig verwendete Abkürzungen wie XML, ID usw., bei der Benennung sollte nur der erste Buchstabe großgeschrieben werden, wie z. B. XmlParser. Der Name enthält lange Wörter und ein bestimmtes Wort wird abgekürzt. In diesem Fall sollte die übliche Abkürzung verwendet werden. Beispiel: Funktion wird mit fn abgekürzt, Text wird mit txt abgekürzt, Objekt wird mit obj abgekürzt, Anzahl wird mit cnt abgekürzt, Zahl wird mit num abgekürzt usw.

Der erste Parameter der Klasseninstanzmethode verwendet self und der erste Parameter der Klassenmethode verwendet cls

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn