python的命名规则知识点总结


Posted in Python onOctober 04, 2019

python命名规则

命名风格

python几种不同命名风格

驼峰式命名法(WjW)

混合式命名法(wjWj)

大写(WJWJWJ)或大写加下划线(WJWJWJ)

前缀(wjing)或后缀(ingwj)下划线,有时双下划线

变量

python变量分为:

(1)常量

(2)公有和私有变量

1.常量

常量全局变量,使用大写加下划线。指定的变量表示一个常数值。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))

2.命名和使用

常量定义的是一组值,程序需要依赖的一组不变值,大多数就是配置文件名,最好的做法是将所有常量放到一个文件中,例如django的settings文件。

SECRET_KEY = '(5hjjo=-=r1s43d+=yu(ay2vy_pe53ut0kzd5skzxa9@5#qf_x'

# SECURITY WARNING: don't run with debug turned on in production!

DEBUG = True

ALLOWED_HOSTS = []

# Application definition

INSTALLED_APPS = [

  'django.contrib.admin',

  'django.contrib.auth',

  'django.contrib.contenttypes',

  'django.contrib.sessions',

  'django.contrib.messages',

  'django.contrib.staticfiles',

  'helloapp',

]

也可以使用Configparser模块创建配置文件。这种没有上一种好。

一段很好的像标记的代码,可以给定一些是无标记属性等。

OPTIONS={}

def register_option(name):

  return OPTIONS.setdefault(name,1<<len(OPTIONS))#bin(len(OPTIONS))查看二进制数据 

def has_option(options,name):

  return bool(options&name)

#定义标签 

BLUE=register_option('BLUE')

RED=register_option('RED')

YELLOW=register_option('YELLOW')

#设置标签 

SET=BLUE|RED

#判断标签是否存在设置中 

has_option(SET,BLUE)

has_option(SET,YELLOW)

3.公有和私有变量

对于可变的且可以通过导入自由访问的全局变量,如果它们需要被保护,那么应该使用下划线加小写字母变成私有变量。

4.函数和方法

函数和方法尽量使用小写加下划线,有些情况也使用混合大小写。

5.私有元素的正义

对于私有方法和函数,通常是前缀两个下划线,这样在运行时会被解释器重命名,这样可以避免与任何子类冲突。举例说明:

class Base(object):

  def __secret(self):

    print("don't tell")

  def public(self):

    self.__secret()

class Top(Base):

  def __secret(self):

    print("never say never")

print(dir(Base))

b=Base()

b._Base__secret()

print(dir(Top))

Top().public()

#输出 

['_Base__secret',..., 'public']

don't tell

['_Base__secret', '_Top__secret', ..., 'public']

don't tell

这样就会重命名带有双下划线的函数和方法。

6.特殊方法

特殊方法就是使用双下划线开始和结尾,常规的方法不应该使用这样的写法。

def __init__(self):

  pass 

def __add__(self):

  pass

7.参数

参数都是用小写,有时可以加下划线。

8.property

属性都是用小写或小写加下划线。

9.类

类名使用驼峰法WjWj。

10.模块和包

模块通常都是小写,不带下划线,出了特殊的如init模块,如果模块是包的私有模块会使用前缀加一个下划线。包也是一样。

命名

用'has'或'is'前缀命名布尔元素

is_life=True#是否活着

is_connected=True#是否连接 

has_cache=True#是否有内存

复数命名集合

users=['zhangsan','lisi']

显示命名字典

个人地址用全称

persons_addresses={'zhangsan':'beijing','lisi':'shanghai'}

类的名称

类的名称简明扼要

SQLEngine

BaseCookie

模块和包名称

模块和包要小写,简短sqlite,sha1,如果是协议加lib后缀,urllib。

以上就是详解python的命名规则的详细内容,更多请关注三水点靠木其它相关文章

Python 相关文章推荐
python从入门到精通(DAY 2)
Dec 20 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
python 性能提升的几种方法
Jul 15 Python
使用Python3制作TCP端口扫描器
Apr 17 Python
python 字符串常用函数详解
Sep 11 Python
python中调试或排错的五种方法示例
Sep 12 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
Python3运算符常见用法分析
Feb 14 Python
django 扩展user用户字段inlines方式
Mar 30 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
matplotlib之pyplot模块之标题(title()和suptitle())
Feb 22 Python
Python基础之进程详解
May 21 Python
Python中断多重循环的思路总结
Oct 04 #Python
python将字母转化为数字实例方法
Oct 04 #Python
Python3.7 pyodbc完美配置访问access数据库
Oct 03 #Python
Django框架model模型对象验证实现方法分析
Oct 02 #Python
Python 线程池用法简单示例
Oct 02 #Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 #Python
Python shutil模块用法实例分析
Oct 02 #Python
You might like
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
PHP中的替代语法介绍
2015/01/09 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
使用非html5实现js板连连看游戏示例代码
2013/09/22 Javascript
JavaScript实现的一个日期格式化函数分享
2014/12/06 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
Array.filter中如何正确使用Async
2020/11/04 Javascript
Python进行数据科学工作的简单入门教程
2015/04/01 Python
利用Python如何生成随机密码
2016/04/20 Python
详解Golang 与python中的字符串反转
2017/07/21 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
python多进程并行代码实例
2019/09/30 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
django rest framework 自定义返回方式
2020/07/12 Python
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
前台接待的工作职责
2013/11/21 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
2015年幼儿园毕业感言
2014/02/12 职场文书
Java基础之this关键字的使用
2021/06/30 Java/Android
Java中API的使用方法详情
2022/04/06 Java/Android
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript