`
cywhoyi
  • 浏览: 421241 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

python下划线命名

 
阅读更多

 

文章摘录自http://www.th7.cn/Program/Python/2011/08/30/41046.shtml

以下分四种情况说明下划线的作用,python对成员域没有严格控制,大部份只是作为命名规范存在,以下英文部份摘自python官方网站

 

_single_leading_underscore: weak "internal use" indicator.  E.g. "from M import *" does not import objects whose name starts with an underscore.

 

_单下划线开头:弱“内部使用”标识,如:”from M import *”,将不导入所有以下划线开头的对象,包括包、模块、成员

 

single_trailing_underscore_: used by convention to avoid conflicts with

      Python keyword, e.g.Tkinter.Toplevel(master, class_='ClassName')

 

单下划线结尾_:只是为了避免与python关键字的命名冲突

 

__double_leading_underscore: when naming a class attribute, invokes name mangling (inside class FooBar, __boo becomes _FooBar__boo; see below).

__双下划线开头:模块内的成员,表示私有成员,外部无法直接调用

clip_image002

 

 

__double_leading_and_trailing_underscore__: "magic" objects or

      attributes that live in user-controlled namespaces.  E.g. __init__,__import__ or __file__.  Never invent such names; only use them as documented.

__双下划线开头双下划线结尾__:指那些包含在用户无法控制的命名空间中的魔术对象或属性,如类成员的__name__ __doc____init____import____file__、等。推荐永远不要将这样的命名方式应用于自己的变量或函数。

另外,以上说的大部分都是与模块成员相关的,包和模块的命名规范又有哪些需要注意的呢?

      Package and Module Names               

 

Modules should have short, all-lowercase names.  Underscores can be used

      in the module name if it improves readability.  Python packages should

      also have short, all-lowercase names, although the use of underscores is

      discouraged.     
                Since module names are mapped to file names, and some file systems are

      case insensitive and truncate long names, it is important that module

      names be chosen to be fairly short -- this won't be a problem on Unix,

      but it may be a problem when the code is transported to older Mac or

      Windows versions, or DOS.

 

包和模块:模块应该使用尽可能短的、全小写命名,可以在模块命名时使用下划线以增强可读性。同样包的命名也应该是这样的,虽然其并不鼓励下划线。

以上这些主要是考虑模块名是与文件夹相对应的,因此需要考虑文件系统的一些命名规则的,比如Unix系统对大小写敏感,而过长的文件名会影响其在Windows/Mac/Dos等系统中的正常使用。

    Class Names

 

      Almost without exception, class names use the CapWords convention.

      Classes for internal use have a leading underscore in addition.

类:几乎毫无例外的,类名都使用首字母大写开头(Pascal命名风格)的规范。使用_单下划线开头的类名为内部使用,上面说的from M import *默认不被告导入的情况。

 

    Exception Names

 

      Because exceptions should be classes, the class naming convention

      applies here.  However, you should use the suffix "Error" on your

      exception names (if the exception actually is an error).

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

    Global Variable Names

 

      (Let's hope that these variables are meant for use inside one module

      only.)  The conventions are about the same as those for functions.

 

      Modules that are designed for use via "from M import *" should use the

      __all__ mechanism to prevent exporting globals, or use the older

      convention of prefixing such globals with an underscore (which you might

      want to do to indicate these globals are "module non-public").

 

 

    Function Names

 

      Function names should be lowercase, with words separated by underscores

      as necessary to improve readability.

 

      mixedCase is allowed only in contexts where that's already the

      prevailing style (e.g. threading.py), to retain backwards compatibility.

函数:小写、下划线分词,如def has_key(ch):

 

    Function and method arguments

 

      Always use 'self' for the first argument to instance methods.

 

      Always use 'cls' for the first argument to class methods.

 

      If a function argument's name clashes with a reserved keyword, it is

      generally better to append a single trailing underscore rather than use

      an abbreviation or spelling corruption.  Thus "print_" is better than

      "prnt".  (Perhaps better is to avoid such clashes by using a synonym.)

 

    Method Names and Instance Variables

 

      Use the function naming rules: lowercase with words separated by

      underscores as necessary to improve readability.

 

      Use one leading underscore only for non-public methods and instance

      variables.

 

      To avoid name clashes with subclasses, use two leading underscores to

      invoke Python's name mangling rules.

 

      Python mangles these names with the class name: if class Foo has an

      attribute named __a, it cannot be accessed by Foo.__a.  (An insistent

      user could still gain access by calling Foo._Foo__a.)  Generally, double

      leading underscores should be used only to avoid name conflicts with

      attributes in classes designed to be subclassed.

 

      Note: there is some controversy about the use of __names (see below).

 

    Constants

 

       Constants are usually defined on a module level and written in all

       capital letters with underscores separating words.  Examples include

       MAX_OVERFLOW and TOTAL.

 

分享到:
评论

相关推荐

    python 变量命名查询小工具

    1. **命名规范检查**:根据Python的PEP 8风格指南,对输入的变量名进行检查,确保它们遵循下划线分隔的驼峰式命名规则(如`my_variable_name`),或者小写字母和下划线(如`my_variable_name`)的约定。此外,它还...

    underscore2camelCase下划线命名驼峰式命名转换器

    然而,在某些情况下,下划线命名法可能会被用到,特别是在从其他语言(如Python或Ruby)导入数据或者处理JSON对象时,这些数据可能遵循下划线分隔的命名规则。 转换器的工作原理通常涉及字符串操作。它会遍历下划线...

    Python中下划线的使用方法

    在Python编程语言中,下划线(_)的使用具有多种含义和用途,这使得它成为Python编程中一个独特且有趣的特性。以下是关于Python中下划线使用的一些关键点: 1. 单下划线(_): - **解释器中的结果存储**:在交互...

    驼峰转下划线、下划线转驼峰的java工具类

    适应性强:能够处理大多数常见的驼峰和下划线命名转换场景。 缺点: 仅支持基本转换:这个基础版本未考虑特定场景,如首字母大写的驼峰命名(PascalCase)转换,或者已有下划线的情况下保持部分单词首字母大写等...

    理解Python命名机制

    Python也遵循驼峰式命名(CamelCase)和下划线分隔命名(snake_case)两种风格,前者常用于类名,后者常用于变量和函数名。 接着,我们来谈谈Python的作用域。作用域决定了一个变量在代码中的可见范围。Python主要...

    python变量命名规范.pdf

    ### Python变量命名规范详解 #### 一、概述 在Python编程中,良好的命名规范能够显著提升代码的可读性和维护性。本篇文章基于《python变量命名规范.pdf》的内容,详细阐述了Python中不同类型的变量、函数及其它...

    python 变量命名规范1

    8. **专有变量**:以双下划线开头和结尾的变量,如`__doc__`、`__class__`,是Python的内置特殊变量,不应随意创建类似命名的变量。 9. **函数和方法**:函数名同样使用小写字母和下划线,例如`get_name()`、`count...

    详解python里的命名规范

    在Python编程中,遵循良好的命名规范至关重要,因为它不仅提高了代码的可读性和可维护性,还体现了专业程序员的素养。下面将详细阐述Python中的命名规则和建议。 1. 文件名和包名: - 文件名和包名应全小写,可以...

    python变量命名规范[总结].pdf

    ### Python变量命名规范详解 #### 一、概述 在Python编程中,良好的命名规范能够显著提升代码的可读性和维护性。本篇文章基于文件“python变量命名规范[总结].pdf”所提供的内容,深入探讨了Python中各类命名的...

    浅谈Python中带_的变量或函数命名

    双下划线命名规则(__) 双下划线开头的命名在Python中有着特殊意义,主要用于定义特殊方法。特殊方法是Python内置的一组方法,它们允许开发者自定义类的行为,如对象的创建、初始化等。以下是一些常见的特殊方法...

    Python-命名规范1.doc

    命名约定是Python编程中另一个重要的方面,它包括以下几种常见的命名风格: - 单个字母,如 `b` 或 `B`。 - 全小写,如 `lowercase`。 - 下划线连接的小写单词,如 `lower_case_with_underscores`。 - 全大写,如 `...

    python的命名规则知识点总结

    python命名规则 命名风格 python几种不同命名风格 驼峰式命名法(WjW) 混合式命名法(wjWj) 大写(WJWJWJ)或大写加下划线(WJWJWJ) 前缀(wjing)或后缀(ingwj)下划线,有时双下划线 变量 python变量分为: (1)常量 ...

    理解Python命名机制1

    Python的命名机制是其语言设计的核心部分之一,它关乎到变量的定义、访问以及作用域。在Python中,变量名(标识符)是程序的基本构建块,它们与对象绑定,代表这些对象。根据变量出现的位置,它们可以是局部变量、...

    一文轻松掌握python语言命名规则(规范)

    和C/C++、Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以...1.2. python的变量名字中可以包含英文、下划线、数字,但是不能以数字开头。 也就是说,student_id、student1、student_1、stu

    驼峰命名转下划线命名

    "驼峰命名"和"下划线命名"是两种常见的命名规则,它们在JSON数据处理、Python编程、数据库字段定义以及前端开发等领域广泛应用。 1. **驼峰命名(Camel Case)**: - 驼峰命名是一种将多个单词合并为一个标识符的...

    Python中的单下划线和双下划线使用场景详解

    总结来说,Python中单下划线和双下划线的使用场景都是为了提供更清晰的代码结构和避免潜在的命名冲突。合理运用这些约定可以使得Python代码更加规范和易于理解。需要注意的是,无论是单下划线还是双下划线的命名约定...

    python命名规范

    Python 命名规范 Python 命名规范是 Python 开发中的一种重要规范,旨在帮助开发者编写高质量、可读性强的代码。本文档将详细介绍 Python 中的命名规范,涵盖常量、变量、函数、模块、类和包等方面。 一、常量 在...

    Python – 将蛇形大小写字符串转换为驼峰式大小写

    本文主要关注如何使用Python将蛇形大小写(snake_case)字符串转换为驼峰式大小写(camelCase)。这两种表示方式各有其适用场景,例如,蛇形大小写通常用于变量名和函数名,而驼峰式大小写常用于类名。 ### 一、...

    python中单下划线(_)和双下划线(__)的特殊用法

    总结来说,Python通过单下划线和双下划线提供了不同层级的命名约定,使得代码的作者可以根据需要对成员的可访问性和可见性进行控制。理解这些特殊用法,有助于更好地设计类库和模块,以及编写出更符合Python风格的...

Global site tag (gtag.js) - Google Analytics