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登录Dr.com思路以及代码分享
Jun 25 Python
理解Python中函数的参数
Apr 27 Python
python编码最佳实践之总结
Feb 14 Python
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
Dec 25 Python
django 将model转换为字典的方法示例
Oct 16 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
Jul 11 Python
python开头的coding设置方法
Aug 08 Python
python实现多进程通信实例分析
Sep 01 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 Python
Pandas DataFrame求差集的示例代码
Dec 13 Python
利用python做数据拟合详情
Nov 17 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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
微信扫描二维码登录网站代码示例
2013/12/30 PHP
php简单实现多字节字符串翻转的方法
2015/03/31 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
PHP MPDF中文乱码的解决方式
2015/12/08 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
原生js结合html5制作小飞龙的简易跳球
2015/03/30 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
详解解决使用axios发送json后台接收不到的问题
2018/06/27 Javascript
Vue监听一个数组id是否与另一个数组id相同的方法
2018/09/26 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
python 生成图形验证码的方法示例
2018/11/11 Python
python开头的coding设置方法
2019/08/08 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
python中删除某个元素的方法解析
2019/11/05 Python
python statsmodel的使用
2020/12/21 Python
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
Under Armour美国官网:美国知名高端功能性运动品牌
2016/09/05 全球购物
亚洲颇具影响力的男性在线购物零售商:His
2019/11/24 全球购物
Java面试题:请说出如下代码的输出结果
2013/04/22 面试题
创先争优活动方案
2014/02/12 职场文书
小学生操行评语
2014/04/22 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
闭幕词的写作格式与范文!
2019/06/24 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL