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中的strftime()方法的使用
May 22 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
Nov 14 Python
解决Python安装后pip不能用的问题
Jun 12 Python
python使用webdriver爬取微信公众号
Aug 31 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
Python3.4解释器用法简单示例
Mar 22 Python
python机器学习实现决策树
Nov 11 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
利用pyecharts读取csv并进行数据统计可视化的实现
Apr 17 Python
python如何随机生成高强度密码
Aug 19 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
Jun 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
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
php生成图片缩略图的方法
2015/04/07 PHP
php实现倒计时效果
2015/12/19 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
React.js中常用的ES6写法总结(推荐)
2017/05/09 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
微信小程序实现图片懒加载的示例代码
2017/12/13 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
AngularJs中$cookies简单用法分析
2019/05/30 Javascript
如何基于layui的laytpl实现数据绑定的示例代码
2020/04/10 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
python如何通过twisted实现数据库异步插入
2018/03/20 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
python ChainMap的使用和说明详解
2019/06/11 Python
python里 super类的工作原理详解
2019/06/19 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
毕业生在校学习的自我评价分享
2013/10/08 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
小程序教您怎样你零成本推广获取数万用户的方法
2019/07/30 职场文书
Oracle 区块链表创建过程详解
2021/05/15 Oracle