# 5.命名

### 命名规则 <a href="#biao-shi-fu-de-gui-ze" id="biao-shi-fu-de-gui-ze"></a>

* 由字母、下划线和数字组成，且数字不能开头

  > 思考：下面哪些是正确的，哪些不正确为什么
  >
  > ```python
  > fromNo12
  > from#12
  > my_Boolean
  > my-Boolean
  > Obj2
  > 2ndObj
  > myInt
  > test1
  > Mike2jack
  > My_tExt
  > _test
  > test!32
  > haha(da)tt
  > int
  > jack_rose
  > jack&rose
  > GUI
  > G.U.I
  > ```
* Python 中的标识符是区分大小写的。

  以下划线开头的标识符是有特殊意义的。以单下划线开头 **\_bot** 的代表不能直接访问的类属性，需通过类提供的接口进行访问，不能用 **from xxx import \*** 而导入；

  以双下划线开头的 **\_\_bot** 代表类的私有成员；以双下划线开头和结尾的 **\_\_bot\_\_** 代表 Python 里特殊方法专用的标识，如 **\_\_init\_\_()** 代表类的构造函数。

### 驼峰命名 <a href="#ming-ming-gui-ze" id="ming-ming-gui-ze"></a>

* 有意义

  > 起一个有意义的名字，尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student
* 驼峰命名法

![](https://719247528-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LQY-ffLZwowiiwLkipd%2F-LQbbH4mZXWzQOpvrINz%2F-LQbtW6qfi9OPJdkeaFh%2F%E5%9B%BE%E7%89%879.png?alt=media\&token=3b1b0cfe-b6a3-4d55-9a8d-1d8b50fdf781)

> 大驼峰式命名法： 每一个单字的首字母都采用大写字母，例如：FirstName、LastName

![](https://719247528-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LQY-ffLZwowiiwLkipd%2F-LQbbH4mZXWzQOpvrINz%2F-LQbtaeaDpc9JmxQXHTc%2F%E5%9B%BE%E7%89%878.png?alt=media\&token=0f923d0d-3b72-4b6b-a64c-7db84574cadd)

> 小驼峰式命名法： 每一个单字的首字母都采用大写字母，例如：aDog

> 不过在程序员中还有一种命名法比较流行，就是用下划线“\_”来连接所有的单词，比如send\_buf

### 关键字 <a href="#guan-jian-zi" id="guan-jian-zi"></a>

* 什么是关键字

  > python一些具有特殊功能的标示符，这就是所谓的关键字
  >
  > 关键字，是python已经使用的了，所以不允许开发者自己定义和关键字相同的名字的标示符
* 查看关键字:

  ```python
  and     as      assert     break     class      continue    def     del
  elif    else    except     exec      finally    for         from    global
  if      in      import     is        lambda     not         or      pass
  print   raise   return     try       while      with        yield
  ```

可以通过以下命令进行查看当前系统中python的关键字

![](https://719247528-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LQY-ffLZwowiiwLkipd%2F-LQbbH4mZXWzQOpvrINz%2F-LQbw274bSYfbu9mahqF%2F360%E6%88%AA%E5%9B%BE20181106152444826.jpg?alt=media\&token=81b189a9-0362-4e3a-9b51-bc0a49280baf)

练一练：

1、说说Python中变量名的命名规范。

2、驼峰命名法是怎么定义的
