Python - 命名规范

Oct 19, 2016 pm 05:08 PM
python基础

一,包名、模块名、局部变量名、函数名

全小写+下划线式驼峰

example:this_is_var

二,全局变量

全大写+下划线式驼峰

example:GLOBAL_VAR

三,类名

首字母大写式驼峰

example:ClassName()

四,关于下划线

以单下划线开头,是弱内部使用标识,from M import * 时,将不会导入该对象(python 一切皆对象)。

以双下划线开头的变量名,主要用于类内部标识类私有,不能直接访问。模块中使用见上一条。

双下划线开头且双下划线截尾的命名方法尽量不要用,这是标识

example for 1:

module_1 模块中定义变量 var_1, _var_2, __var_3

#module_1

var_1

_var_2

__var_3

module_2 模块中代码如下:

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


执行到第6,7行将会报错,因为凡是以下划线开头的对象都不会被导入。

既然是弱内部使用标识,就还是有使用办法的,只需单独导入即可:

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


example for 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  # 这里将会出错
Copier après la connexion


需要定义函数来获取双下划线开头的变量

#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()  # 不会再报错
Copier après la connexion

   


四,其他要注意的

不要像c等语言里面一样去用开头字母标识变量类型(如 iValue),因为python在解释的时候才确定类型。

因为异常也是一个类,所以遵守类的命名规则。此外,如果异常实际上指代一个错误的话,应该使用“Error”做后缀。

命名应当尽量使用全拼写的单词,缩写的情况有如下两种:常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。例如:function 缩写为 fn, text 缩写为 txt, object 缩写为 obj, count 缩写为 cnt, number 缩写为 num 等。

类实例方法第一个参数使用self, 类方法第一个参数使用cls


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Quelles sont les bibliothèques Python populaires et leurs utilisations? Quelles sont les bibliothèques Python populaires et leurs utilisations? Mar 21, 2025 pm 06:46 PM

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Apr 01, 2025 pm 10:51 PM

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Apr 01, 2025 pm 11:18 PM

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Que sont les expressions régulières? Que sont les expressions régulières? Mar 20, 2025 pm 06:25 PM

Les expressions régulières sont des outils puissants pour la correspondance des motifs et la manipulation du texte dans la programmation, améliorant l'efficacité du traitement de texte sur diverses applications.

See all articles