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 相关文章推荐
9种python web 程序的部署方式小结
Jun 30 Python
python将图片文件转换成base64编码的方法
Mar 14 Python
python创建进程fork用法
Jun 04 Python
python中实现k-means聚类算法详解
Nov 11 Python
python微信跳一跳游戏辅助代码解析
Jan 29 Python
django的登录注册系统的示例代码
May 14 Python
Python闭包函数定义与用法分析
Jul 20 Python
使用python对文件中的数值进行累加的实例
Nov 28 Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 Python
pyqt5打包成exe可执行文件的方法
May 14 Python
教你漂亮打印Pandas DataFrames和Series
May 29 Python
python+opencv实现目标跟踪过程
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
Laravel 5 学习笔记
2015/03/06 PHP
培养自己的php编码规范
2015/09/28 PHP
php猜单词游戏
2015/09/29 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
详解Vue中使用插槽(slot)、聚类插槽
2019/04/12 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
js动态生成表格(节点操作)
2021/01/12 Javascript
vue集成一个支持图片缩放拖拽的富文本编辑器
2021/01/29 Vue.js
Python中的is和id用法分析
2015/01/26 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
python requests post多层字典的方法
2018/12/27 Python
python3 简单实现组合设计模式
2020/07/02 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
HTML5头部标签的一些常用信息小结
2016/10/23 HTML / CSS
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
WiFi云数码相框:Nixplay
2018/07/05 全球购物
2014年上半年工作自我评价
2014/01/18 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
先进党组织事迹材料
2014/12/26 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
小王子读书笔记
2015/06/29 职场文书
会计主管竞聘书
2015/09/15 职场文书
李清照的诗词赏析(20首)
2019/08/22 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
python实现双向链表原理
2022/05/25 Python
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS