变量其实很简单,不过在使用过程中会遇到一些棘手的问题。 比如一个变量我之前已经用过了,现在我要定义一个类似的变量,该怎么办?

还有,很多小伙伴其实知道变量应该遵守什么规范,应该代表什么数据,但是大学英语没学好,不知道怎么给变量取名字。

这些问题,其实都有比较好的解决方案。 我们还是从最基本的操作开始吧,这样能加深理解,没准自己就找到了更好的方式。

变量有什么用

变量的作用是用来存储数据,当一个数据很大,或者需要使用多次的时候,就可以通过变量来存储。 假设我们现在有一串比较长的数据需要打印多次,要每次输入这么长的数据就比较麻烦。

  print("今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。")
print("今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。")
print("今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。")
print("今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。")
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。

每次要打很多字,很累,而且并不能保证每次输入的内容是 100% 一致的。而变量把数据存起来之后,每次取出非常方便,还能保证一致性。使用变量之后,代码也变得更加简洁。

  notes = "今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。"
print(notes)
print(notes)
print(notes)
print(notes)
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。
今天的天气不错,适合学习。我拿出一本康熙字典,翻到了第 573 页。

在这个例子中,= 号左边的 notes 是变量名称,= 号右边的就是变量的值。


image.png

变量命名规范

变量名称不能随便取,需要遵守一定的规范。变量名可以包含字母、数字、下划线_, 但是不能以数字开头,而且不能是 python 的内置关键字。所有的内置关键字都可以通过以下程序获取:

import keyword
print(keyword.kwlist)
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

试着判断以下以下哪些是正确的变量名,哪些不是:

a = "mingtian"
_name = "mingt"
my-age = 19
your_age = 16
his age = 33
711 = "address"
try = "again"

一个合法的变量只需要遵守上面的规则,但是要取一个好的变量名称并不容易,它需要有明确的意义,让别人一看就知道你这个变量代表的含义。 多看优秀程序员的命名,提供英语能力是编写好的变量名最重要的途径。 比如用 name 表示名字, 用 age 表示 19 。

name = "jiubing"
wexin_account = "jiubing1"

变量命名方式

细心的小伙伴会发现,Python中每种命名的方式会有细微的差别。

命名变量的时候通常采用蛇形命名,或者下划线命名,每个单词之间用下划线连接。

your_name = "jiubing"
my_age = 16

除了函数以外,在命名函数、模块、包的时候通常采用蛇形命名方式。

而Python的类采用的是驼峰式命名法,单词的首字母大写,看起来就像骆驼峰一样。

class YourDream:
 pass

英语不好怎么办

很多小伙伴英语水平不自信,就算想到命名需要的意思,也想不到对应的单词,所以有的人干脆用中文命名。

名字 = "jiubing"
号码 = "jiubing1"

Python其实早就以及支持中文命名,但是还是很少人这么使用,这么命名在公司里面不一定能通过审核。 如果公司支持这种命名方式,我觉得就用中文命名可以;如果不行,那只能换其他的策略。

第一个比较好用的方式是:用翻译词典,这也是我用的主要方式。 我的英语不是很好,所以有的时候命名不得不借助翻译工具。 很多人会用浏览器打开百度翻译,不过我觉得这稍微有一点麻烦。

我推荐两种方式,第一种是安装划词软件,比如我用的 qtranslate, 选中需要翻译的中文,使用快捷键就能快速实现翻译。我用过几款工具,这个是我用非常顺手的,已经使用好多年了,如果找不到下载地址,私聊我,发安装包。

第二种方式使用 utools 这一类的效率工具,里面集成了翻译功能,也可以通过快捷键快速翻译,具体的操作我就不描述了,如果实在不会的找我私聊吧。

需要注意的是,翻译完了以后一定要花一两秒种时间记一下这个单词,因为下次还有可能遇到。 一个变量名一旦你用了第一次,非常有可能还会使用第二次的,在我们频繁使用翻译软件得到英语单词时,也要慢慢积累词汇量。 不能靠翻译软件过一辈子。

Python小白自学笔记:英语不好,变量怎么命名的更多相关文章

  1. python笔记:#008#变量的命名

    变量的命名 目标 标识符和关键字 变量的命名规则 0.1 标识符和关键字 1.1 标识符 标示符就是程序员定义的 变量名.函数名 名字 需要有 见名知义 的效果,见下图: 标示符可以由 字母.下划线 ...

  2. 【python】自学笔记

    参考文献 1.环境安装 1.1 python 工作环境 2.7.14 1.2 pycharm community2018.1.1 4 x64 2.第一行代码 2.1 python交互模式, >& ...

  3. 【学习笔记】Shell-1 变量:命名规范、变量赋值/取值/取消、局部变量/全局变量、预设环境变量

    1.Shell变量 从变量的实质上来说,变量名是指向一片用于存储数据的内存空间. Shell变量是一种弱类型的变量,即声明变量时不需要指定其变量类型,也不需求遵循“先声明再使用”的规定,想用即可用. ...

  4. 简明Python教程自学笔记——命令行通讯录

    [前言]学习Python已经有一段时间了,相关的书籍资料也下载了不少,但是没有一本完整的看完,也没有编出一个完整的程序.今天下午比较清闲就把<简明Python教程>看了一遍,然后根据书里面 ...

  5. Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别

    先看两个类的方法: >>> class nc(): def __init__(self): self.name ='tester' #name变量加self >>> ...

  6. Python强化训练笔记(二)——元组元素的命名

    对于一个元组如: >>> s1 = ('Jim', 21, 'boy', '5788236@qq.com') 我们要得到该对象的名字,年龄,性别及邮箱的方法为s1[0],s1[1], ...

  7. python自学笔记(一)

    我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...

  8. python小白入门基础(二:变量)

    #变量:可以改变的量就是变量,实际上是由内存开辟的一块空间,临时存在内存中,以便后续代码使用.#作用:代指内存中某个地址中的内容. #1.变量的概念name = "王五"name ...

  9. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

随机推荐

  1. 第6章 字符串(下)——C++字符串

    6.5 C++ strings(C++字符串) C风格字符串常见错误:试图去访问数组范围以外的元素:没有使用函数strcpy( )来实现字符串之间的复制:没有使用函数strcmp( )来比较两个字符串 ...

  2. SpringBoot的浅浅配置和小整合

    SpringBoot的浅浅配置和小整合 本文如题,就是浅浅记录一下学习的过程中一些过程,比较简单,并没有多少深度.谢谢! SpringBoot创建 从IDEA中新建项目或者模块.注意jdk版本,一般不 ...

  3. windows下安装和使用virtualenvwrapper-win

    安装 pip安装 pip install virtualenv pip install virtualenvwrapper-win 修改默认创建环境的位置 创建环境变量 新建环境变量:WORKON_H ...

  4. 你真的了解git的分支管理跟其他概念吗?

    现在前端要学的只是太多了,你是不是有时会有这个想法,如果我有两个大脑.一个学Vue,一个学React,然后到最后把两个大脑学的知识再合并在一起,这样就能省时间了. 哈哈,这个好像不能实现.现实点吧!年 ...

  5. CentOS中实现基于Docker部署BI数据分析

    作为一个专业小白,咱啥都不懂. linux不懂,docker不懂. 但是我还想要完成领导下达的任务:在linux中安装docker后部署数据可视化工具.作为一名敬业 的打工人摆烂不可以,躺平不可以,弱 ...

  6. 揭开Vue异步组件的神秘面纱

    简介 在大型应用里,有些组件可能一开始并不显示,只有在特定条件下才会渲染,那么这种情况下该组件的资源其实不需要一开始就加载,完全可以在需要的时候再去请求,这也可以减少页面首次加载的资源体积,要在Vue ...

  7. 一文详解|Go 分布式链路追踪实现原理

    在分布式.微服务架构下,应用一个请求往往贯穿多个分布式服务,这给应用的故障排查.性能优化带来新的挑战.分布式链路追踪作为解决分布式应用可观测问题的重要技术,愈发成为分布式应用不可缺少的基础设施.本文将 ...

  8. CMU15445 (Fall 2019) 之 Project#1 - Buffer Pool 详解

    前言 这个实验有两个任务:时钟替换算法和缓冲池管理器,分别对应 ClockReplacer 和 BufferPoolManager 类,BufferPoolManager 会用 ClockReplac ...

  9. RS485通信电路

    RS485由RS232和RS422发展而来,弥补了抗干扰能力差.通信距离短.速率低的缺点,增加了多点.双向通信能力,即允许多个发送器连接在同一条主线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了 ...

  10. spring boot 打包为war包方法

    刚刚接触spring boot,其快速开发的特性吸引我去研究一下.于是我写了个demo,用spring boot内置的tomcat运行的很好,但是我需要把它部署到外部的tomcat中,于是从网上查找资 ...