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线程锁(thread)学习示例
Dec 04 Python
深入解析Python中的WSGI接口
May 11 Python
python实现按行切分文本文件的方法
Apr 18 Python
python的exec、eval使用分析
Dec 11 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
Feb 22 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
如何在mac环境中用python处理protobuf
Dec 25 Python
python ffmpeg任意提取视频帧的方法
Feb 21 Python
Django REST framwork的权限验证实例
Apr 02 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 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
重置版战役片段
2020/04/09 魔兽争霸
使用PHP接收POST数据,解析json数据
2013/06/28 PHP
php实现微信公众号无限群发
2015/10/11 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
PHP微信开发之微信录音临时转永久存储
2018/01/26 PHP
js计算精度问题小结
2013/04/22 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
2016/10/27 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
JS高级运动实例分析
2016/12/20 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
Angular中使用better-scroll插件的方法
2018/03/27 Javascript
微信小程序button标签open-type属性原理解析
2020/01/21 Javascript
js实现验证码干扰(静态)
2021/02/22 Javascript
python实现中文分词FMM算法实例
2015/07/10 Python
python验证码识别的示例代码
2017/09/21 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
python读取txt文件中特定位置字符的方法
2018/12/24 Python
Python学习笔记之lambda表达式用法详解
2019/08/08 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
Django 限制访问频率的思路详解
2019/12/24 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
python连接PostgreSQL过程解析
2020/02/09 Python
Django查询优化及ajax编码格式原理解析
2020/03/25 Python
Ralph Lauren英国官方网站:Ralph Lauren UK
2018/04/03 全球购物
《小松树和大松树》教学反思
2014/02/20 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
2014年工作总结及2015工作计划
2014/12/12 职场文书
css样式important规则的正确使用方式
2022/06/10 HTML / CSS
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript