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

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

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

变量有什么用

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

  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. datax在解析完配置后,会将core.json,job.json,plugin.json合并内容

    { "common": { "column": { "dateFormat": "yyyy-MM-dd", " ...

  2. NodeJS全栈开发利器:CabloyJS究竟是什么

    CabloyJS CabloyJS是一款顶级NodeJS全栈业务开发框架, 基于KoaJS + EggJS + VueJS + Framework7 文档 官网 && 文档 演示 PC ...

  3. mybatis-plus对空字段 时间进行填充

    package com.tanhua.sso.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; imp ...

  4. 【物联网天线选择攻略】2.4GHz 频段增益天线模块设备选择

     天线模块设备(antenna)是一种能量变换器,它把传输线上传播的导行波,变换成在无界媒介中传播的电磁波,或者进行相反的变换.对于设计一个应用于射频系统中的小功率.短距离的2.4GHz无线收发设备, ...

  5. 机器学习中 TP FP TN FN的概念

    二分类 在二分类问题中,TP FP TN FN 是非常清楚且易于理解的. TP (True Positive) : 预测为 1 ,真实值也为 1 -> 真阳性 FP (False Positiv ...

  6. 前端学习 linux —— shell 编程

    前端学习 linux - shell 编程 shell 原意是"外壳",与 kernel(内核)相对应,比喻内核外的一层,是用户和内核沟通的桥梁.shell 有很多种,国内通常使用 ...

  7. PowerDesigner安装

    1.双击安装包进行安装 2.选择PRC 3.一路往下就行 4.将下图文件夹中的内容覆盖安装的内容 ----------------------------------------分割线 5.安装成功 ...

  8. 上传几张.NET5之后的机器人logo

    上传几张.NET5之后的机器人logo

  9. Linux系列之查找命令

    前言 Linux 有四个常用的查找命令:locate.whereis.which 和 find.本文介绍它们的区别和简单用法. locate命令 这个命令将检查你的整个文件系统,并找到该关键词的每一次 ...

  10. java 九九乘法表(for循环)

    package study5ran2yl.study; public class ForDemo01 { public static void main(String[] args) { int h; ...