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 代码优化详解
Oct 27 Python
Python中SOAP项目的介绍及其在web开发中的应用
Apr 14 Python
浅析Python中元祖、列表和字典的区别
Aug 17 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
利用python库在局域网内传输文件的方法
Jun 04 Python
pyttsx3实现中文文字转语音的方法
Dec 24 Python
Python之pymysql的使用小结
Jul 01 Python
Python拆分大型CSV文件代码实例
Oct 07 Python
python实现飞行棋游戏
Feb 05 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
Jul 13 Python
Pandas中两个dataframe的交集和差集的示例代码
Dec 13 Python
python基于selenium爬取斗鱼弹幕
Feb 20 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
JpGraph php柱状图使用介绍
2011/08/23 PHP
php中模拟POST传递数据的两种方法分享
2011/09/16 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
2014/10/30 PHP
jquery.post用法之type设置问题
2014/02/24 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
详解Vue2.0里过滤器容易踩到的坑
2017/06/01 Javascript
react高阶组件经典应用之权限控制详解
2017/09/07 Javascript
JavaScript设计模式之建造者模式实例教程
2018/07/02 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
Node使用Selenium进行前端自动化操作的代码实现
2019/10/10 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
通过高德地图API获得某条道路上的所有坐标用于描绘道路的方法
2020/08/24 Javascript
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
详解Python中的多线程编程
2015/04/09 Python
Python中的ceil()方法使用教程
2015/05/14 Python
Python利用前序和中序遍历结果重建二叉树的方法
2016/04/27 Python
python 异或加密字符串的实例
2018/10/14 Python
django-初始配置(纯手写)详解
2019/07/30 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
安踏官方商城:anta.cn
2019/12/16 全球购物
社区消防工作实施方案
2014/03/21 职场文书
大学生自我鉴定书
2014/03/24 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
租车协议书范本2014
2014/11/17 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
走近毛泽东观后感
2015/06/04 职场文书
2016年安全生产先进个人事迹材料
2016/02/29 职场文书
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
Android实现图片九宫格
2022/06/28 Java/Android