编程时,总会遇到各种各样的变量,取一个好的变量名能够有效提高代码的可读性,而且python是一种,动态类型的语言,良好的变量名,能够在编写代码或者再次阅读代码时提高效率。

1. 变量名不要太宽泛,要有描述性

在可接受的长度内,变量名能把它所指向的内容描述的越具体越好。

BAD:day, task
GOOD:day_of_week, task_todo

这样在读到变量名的时候,就能更精确的知道变量代表的内容

2.变量名最好能让人猜出什么类型

python中常用的变量类型有布尔类型,数字类型,列表类型

1. 什么样的命名让人更容易想到这是布尔类型的值?

布尔类型的值只有两种,是或者不是,用is,has等这种非黑即白的值能够很好的表示这种类型。总之,起名的原则就是,让人读到这个变量名,觉得这个变量的值只有是或者不是。

比如:

is_valid:是否有效
has_perms: 是否有权限

2. 数字类型(int/float)的值的变量名,最好和数字相联系

比如

表示数量的单词:age(年龄) count(数量)
以id结尾的单词:user_id
加数量修饰符的命名:
length_of_name,goods_numbers,run_times

注意:不要用简单的复数来命名 apples 不如 apples_numbers 有可读性

3.列表类型和元祖类型,习惯加list后缀来表示这种变量  比如,goods_list,users_list,对于字典类型的,习惯加dict后缀来表示这种变量,比如,headers_dict,这样的话能在我们阅读代码或者使用这些变量的时候能够带来极大的方便。

4.其他类型的数据根据具体情况去命名,比如string类型,name,description,最好能够做到见形思义

3.适当使用匈牙利命名法

匈牙利命名法就是把变量的『类型』缩写,放到变量名的最前面。这里的『类型』并非指传统的变量类型,而是指那些与你代码逻辑相关的类型。

比如当你要使用一个对象goods里面的变量时,你就可以将goods.name --> g_name,goods.nums --> g_nums,这样就能知道name和nums指向的类型了

适当使用匈牙利命名法,能够很好地提高代码的可读性,但也不要滥用,让代码看起来不够整洁。

4.其他可能出现的问题

变量名尽量短,最好能够控制在2到3个单词左右

同一段代码内最好不要使用过于相似命名,比如user1,user2,user3等

变量名的前后最好保持一致性,如果在一个类里面定义了mobile,而在后面的赋值中却使用了phone,这样很容易让人引起迷惑,phon和mobile到底指的是不是同一个东西。

python里用变量命名改善代码质量的更多相关文章

  1. Python 工匠:善用变量来改善代码质量

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 作者:朱雷 | 腾讯IEG高级工程师 『Python 工匠』是什么? 我一直觉得编程某种意义上是一门『手艺 ...

  2. Python 编程语言要掌握的技能之一:善用变量来改善代码质量

    如何为变量起名 在计算机科学领域,有一句著名的格言(俏皮话): There are only two hard things in Computer Science: cache invalidati ...

  3. 你还用拼音为变量命名?新人OIer别傻了,教你写出优质代码

    本篇文章适用语言:python,c++,Java.(其实我就是随便bb) 我们在编辑代码的时候,不免拿其他人的代码进行学习,或者将自己的代码拿给别人修改.这个时候,如何让别人快速读懂你的代码,是提升效 ...

  4. Python 工匠:编写条件分支代码的技巧

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由鹅厂优文发表于云+社区专栏 作者:朱雷 | 腾讯IEG高级工程师 『Python 工匠』是什么? 我一直觉得编程某种意义是一门『手艺』 ...

  5. Python学习教程(learning Python)--2.2 Python下的变量基础

    变量的基本概念,变量可以这样去理解,变量是一个值,这个值存储在计算机的内存里.以 网购为例,您在选购傻商品的时候,是在不同页面里选不同的商品,选好一件点击“放入购物车”,选完了再点击去结帐,这些商品的 ...

  6. Python学习入门基础教程(learning Python)--2.2 Python下的变量基础

    变量的基本概念,变量可以这样去理解,变量是一个值,这个值存储在计算机的内存里.以网购为例,您在选购傻商品的时候,是在不同页面里选不同的商品,选好一件点击“放入购物车”,选完了再点击去结帐,这些商品的价 ...

  7. Python变量命名规范

    模块名: 小写字母,单词之间用_分割 ad_stats.py 包名: 和模块名一样 类名: 单词首字母大写 AdStats ConfigUtil 全局变量名(类变量,在java中相当于static变量 ...

  8. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数

    Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天   ...

  9. python的变量命名规范

    一.python变量名命名规则: 1.变量名通常由字母,数字,下划线组成; 2.数字不能作为变量名开头; 3.不能以python中的关键字命名; 4.变量名要有意义; 5.不要用汉字和拼音去命名; 6 ...

随机推荐

  1. 图片base64上传时可能遇到的问题

    base64上传图片时服务器接到的值可能会丢失字符串 解决方法如下:(分为单个上传和多个上传) <?php $BASE_DIR = "../"; //文件上传 $img = ...

  2. Execution failed for task ':app:processDebugResources'

    经常会遇到突然AndroidStudio编译不了程序,报错误: Execution failed for task ':app:processDebugResources'. > Failed ...

  3. 可以落地的DDD到底长什么样?

    领域驱动设计的概念 ​ 大家都知道软件开发不是一蹴而就的事情,我们不可能在不了解产品(或行业领域)的前提下进行软件开发,在开发前通常需要进行大量的业务知识梳理,然后才能到软件设计的层面,最后才是开发. ...

  4. ClickHouse之访问权限控制

    研究ClickHouse也有几周了,今天来和大家说说ClickHouse的访问权限是怎么做的,ClickHouse不像MySQL那样,直接创建用户,而是需要在配置文件里面添加用户,一个简单的例子如下: ...

  5. leetcode — jump-game

    /** * Source : https://oj.leetcode.com/problems/jump-game/ * * Created by lverpeng on 2017/7/17. * * ...

  6. MFC原理第三讲.RTTI运行时类型识别

    MFC原理第三讲.RTTI运行时类型识别 一丶什么是RTTI RTTI. 运行时的时候类型的识别. 运行时类型信息程序.能够使用基类(父类)指针 或者引用 来检查这些指针或者引用所指的对象. 实际派生 ...

  7. 【原创】STM32工程新建步骤

    1. 新建文件夹          DOC文件夹:        可以存放readme.txt等项目文档     Library文件夹:    可以存放ST库源码,直接复制ST库的源代码到Librar ...

  8. MyBatis源码解析(一)——执行流程

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6603926.html 一.MyBatis简介 MyBatis框架是一种轻量级的ORM框架, ...

  9. Zepto整体概况

    var Zepto = (function(){ var zepto = {},$; zepto.Z = function(dom, selector) { return new Z(dom,sele ...

  10. cronolog日志切割catalina.out

    cronolog日志切割catalina.out (一)解压安装cronolog 1:wget  https://files.cnblogs.com/files/crazyzero/cronolog- ...