最近公众号新增加了一个栏目,就是每天给大家解答一道Python常见的面试题,反正每天不贪多,一天一题,正好合适,只希望这个面试栏目,给那些正在准备面试的同学,提供一点点帮助!
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。
废话不多说,开始今天的题目:
问:Python变量、函数、类的命名规则?
答:Python命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序可能也可以运行,但是使用命名规范可以更加直观地了解代码所代表的含义。
Python的命名规范(其它编程语言也差不多)
(1)不能以数字开头,不能出现中文。
(2)命名以字母开头,包含数字,字母(区分大小写),下划线。
(3)不能包含关键字,见名知意。
下面具体说说Python的命名规范:
1、类
单词首字母总是大写,私有类可以下划线开头。如MyClass。
class MyClass(): pass class MySchool(): pass
2、函数
函数名一律小写,若有多个单词用下划线隔开。另外,私有函数下划线开头 。
def my_func(var1, var2): pass def _private_func(var1, var2): pass
3、变量
变量名最好小写,若有多个使用下划线分开 。
常量使用全大写,多个单词使用下划线隔开 。
num = 20 this_is_a_variable = 1 MAX_NUM = 1000
额外补充:
缩写:
命名应当尽量使用全拼写的单词,缩写的情况有如下两种:1.常用的缩写,如XML、ID等,在命名时也应只大写首字母,如XmlParser。2.命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式。
例如:function 缩写为 fntext 缩写为 txtobject 缩写为 objcount 缩写为 cntnumber 缩写为 num,等。
前导后缀下划线
一个前导下划线:表示非公有。一个后缀下划线:避免关键字冲突。两个前导下划线:当命名一个类属性引起名称冲突时使用。两个前导和后缀下划线:“魔”(有特殊用图)对象或者属性,例如__init__或者__file__。绝对不要创造这样的名字,而只是使用它们。注意:关于下划线的使用存在一些争议。
特定命名方式
主要是指 __xxx__ 形式的系统保留字命名法。项目中也可以使用这种命名,它的意义在于这种形式的变量是只读的,这种形式的类成员函数尽量不要重载。如class Base(object):def __init__(self, id, parent = None):self.__id__ = idself.__parent__ = parentdef __message__(self, msgid):其中 __id__、__parent__ 和 __message__ 都采用了系统保留字命名法。
如果对于参考答案有补充的,大家可以在评论区指出和补充,欢迎留言!