什么是变量?在百度百科中,变量的解释是:

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过……

这是一段很长很长的解释,其实,作者认为没必要这么机械式的去理解。简单说,变量就是一个“盒子”,这个“盒子”可以装一些数据,当然,这些数据的类型可以是任意的,因为归根结底,任何类型的数据在内存中的表示都是二进制0、1组合。


变量的使用

先从一段代码说起:

a = 123
b = 456
c = "a + b =" print(c, a+b)

最后输出:

a + b = 579

代码中就使用了三个变量:abc,并在print中使用。第1行a = 123就创建了一个变量,变量名为a,2、3行同样也创建了变量,不同的是,变量ab整数型的,而变量c的类型是字符串类型,这不同于C语言,在C语言中,使用变量之前是需要“声明”类型的,而在python中,在通过等号=赋值后,就创建了一个变量,变量的类型是python自动识别的。

创建变量

前面说过,变量在赋值后被创建,赋值运算符是等号=,等号=左边是变量名,右边是存储在变量中的值。变量创建后,可以同过变量名来使用变量。例如:

name = 'Mike'

print('My name is', name)

a = 123
b = 456
c = a + b print(a, '+', b, '=', c ) # 123 + 456 = 579

赋值运算符是从右往左执行的,在c = a + b中,先对右边的a + b求值,在赋值给变量c

读者可以复制上面代码,保存到文件再运行试试。


多个变量赋值

python可以同时给多个变量赋值,比如:

a = b = c = 1

前面说到了,赋值运算符是从右往左执行的,而赋值语句本身也是有值的,语句a = 1的值是1,学过C语言的同学或许很清楚,所以上面例子等价于:

c = 1
b = c
a = b

注意咯,a = b = c 是等价于a = b;b = c(在同一行中写两句以上代码可用分号;分开),而不是等价于a=c;b=c,其实只要记住了 “赋值运算符是从右往左执行的” 这句话就OK了。

还有一种多个变量同时赋值的操作,像这样:

a, b, c = 1, 2, 'hello'

显而易见,右边的值12'hello'依次分配给abc

变量命名规则

变量的命名可不是爱怎么来就怎么来的,是有一定的语法规则的:

  1. 变量名使用的字符必须是字母、数字、或者下划线_
  2. 变量名的第一个字符不可以是数字
  3. 不能使用关键字作为变量名

这三条规则几乎在所有计算机语言中通用,变量名使用的字符只能是字母a~z或大写A~Z,数字0~9,或者下划线_,并且第一个字符不可以是数字。

针对第三点,在计算机语言中,会有一些有特殊意义,用于语法的单词,称为 “关键字”,您可以在python的交互式解释器中输入help('keywords')查看python的所有关键字,还是演示一下吧:

>>> help('keywords')

Here is a list of the Python keywords.  Enter any keyword to get more help.

False               class               from                or
None continue global pass
True def if raise
and del import return
as elif in try
assert else is while
async except lambda with
await finally nonlocal yield
break for not >>>

让我们看看几个例子,以下几个变量名是有效的:

counter
_abc
my_name
a1
a2b_cD
A1
def_123

而以下几个变量名是无效的:

1ae          变量名不能以数字开头
a*b 变量名只能包含字母、数字和下划线_
def def是python中的关键字

变量命名规范

注意小标题,是 “规范”,不是 “规则”,这是不一样的,规则是人家python定死的,必须遵守,否则就是语法错误了,而规范是人们的一种共识,方便的是人,相信我,按照规范来,你会感谢我的<( ̄︶ ̄)>

一些常见的命名规范如下:

  1. 变量名尽量有意义,如 name表示存储名字的变量
  2. 单词用小写,单词之间用下划线隔开,如my_name,或者用“驼峰命名法”,即除第一个以外的单词的首字母大写,如myName,最好不要混合使用。

这仅仅是变量的命名规范,在程序中还有很多要命名的东西,如函数、类、包……现在就先到这,等讲到了会一一说明的。


注释

不知道读者是否有注意到,前文讲变量的创建的时候,有一行这样的代码:

print(a, '+', b, '=', c )  # 123 + 456 = 579

上面有一行# 123 + 456 = 579作者并没有解释,而运行过代码的同学会发现,程序输出123 + 456 = 579,难道加了这句程序就输出这个?现在请读者把# 123 + 456 = 579一句删除再运行试试……

怎么回事?程序的输出和之前一样?这东西到底是何方神圣?作者就不再绕关子了,这行字符叫做 “注释”,它的有无对程序的运行没有任何影响,它是为了在程序中解释代码的用途,方便人理解用的。

注释的使用

python的注释有多种方式,话不多说,在这里直接上代码:

# 这是单行注释
print("Hello World!") # 从符号井号开始到行末是注释 print("#这不是注释,这是字符串") print("字符串")#这是注释,不是字符串") """
这是多行注释,用一对三个双引号括起。
""" '''
这也是多行注释,用一对三个单引号括起。
'''

终于写完了<( ̄︶ ̄)>,下期再见……

python教程(二)·变量的更多相关文章

  1. 写给.NET开发者的Python教程(二):基本类型和变量

    从本文开始,我们就要正式了解Python的语法特性了,这章主要介绍基本类型和变量,开始之前先介绍下Python中的标准输入输出. 标准输入输出 前文举过TwoSum问题的例子,但是没有讲到标准输入输出 ...

  2. 简明python教程二-----对象

    物理行:是你在编写程序时所看见的. 逻辑行:是Python看见的单个语句. 默认的,python希望每行都只使用一个语句,这样使得代码更加易读. 如果你想要在一个物理行中使用多于一个逻辑行,用分号“: ...

  3. Python教程(2.2)——数据类型与变量

    和C/C++.Java一样,Python也有数据类型和变量两个概念. 数据类型 Python中的几个基本数据类型为整数(integer/int).浮点数(float/float).布尔值(boolea ...

  4. day2 二、编程语言、python解释器和变量

    一.编程语言分类 1.机器语言 直接用计算机能理解的二进制指令编写程序,直接控制硬件,需要了解硬件的操作细节. 2.汇编语言 用英文标签取代二进制编写程序,也是直接控制硬件,也需要了解硬件的操作细节. ...

  5. PySide——Python图形化界面入门教程(二)

    PySide——Python图形化界面入门教程(二) ——交互Widget和布局容器 ——Interactive Widgets and Layout Containers 翻译自:http://py ...

  6. 极简python教程02:基础变量,删繁就简

    python极简教程已经开赛,如果错过说明可以回翻: 极简python教程:赛前说明 借这个机会,我再讲讲我的教程和其他网上的教程的区别: 1 我分享的内容,是我在工作中会高频使用的语法,是精华内容 ...

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

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

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

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

  9. python教程1:Python基础之数据类型和变量、字符串和编码

    视频链接:http://www.bilibili.com/video/av10730372/ 我是在Linux下玩python的,Linux下默认安装python,直接打个pyhon3就好了,pyth ...

  10. Python学习--03变量类型

    变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创 ...

随机推荐

  1. MySQL案例01:Last_SQL_Errno: 1755 Cannot execute the current event group in the parallel mode

    周五同事监控报警,有个MySQL从库复制状态异常,让我帮忙排查下,经过排查发现是MySQL5.6并行复制的一个Bug所致,具体处理过程如下: 一.错误信息 登录mysql从库服务器,检查复制状态 my ...

  2. ansible之基本原理及命令

    什么是ansible ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(\(puppet.chef.func.fabric\))的优点,实现了批量系统配置.批量程序部署 ...

  3. 二叉树的二叉链表存储结构及C++实现

    前言:存储二叉树的关键是如何表示结点之间的逻辑关系,也就是双亲和孩子之间的关系.在具体应用中,可能要求从任一结点能直接访问到它的孩子. 一.二叉链表 二叉树一般多采用二叉链表(binary linke ...

  4. AutoHotkey的函数对象的Bind方法绑定参数的应用

    近期在写Excel数据批处理函数,想提取某列的每个数据是否匹配某某条件的所有单元格. 这种需求比较多,比如判断的值有:单元格值,字体颜色,单元格颜色等等, 判断条件有:相同,不同,正则,或在某多行字符 ...

  5. Spark Broadcast内幕解密:Broadcast运行机制彻底解密、Broadcast源码解析、Broadcast最佳实践

    本课主题 Broadcast 运行原理图 Broadcast 源码解析 Broadcast 运行原理图 Broadcast 就是将数据从一个节点发送到其他的节点上; 例如 Driver 上有一张表,而 ...

  6. 一个SAP开发人员的2018年终总结

    我是SAP成都研究院的Jerry Wang,我喂自己袋盐. 时间过得真快,2017年发生的事情还历历在目,一转眼,2018年又马上要结束了. Jerry惊恐地发现,随着年龄的增长,时光流逝的速度仿佛有 ...

  7. SAP成都研究院2018年总共87篇技术文章合集

    2018年很快就要结束了.Jerry在2017年年底准备开始写这个公众号时,给自己定的目标是:2018年至少保证每周发布一篇高质量的文章.如今2018年就快过去了,高质量与否需要大家来反馈,至少从量上 ...

  8. 022configparser模块

    #配置模块 #创建import  configparser config  =  configparser.ConfigParser() #添加config["DEFAULT"]  ...

  9. 021logging模块

    ##importlogging logging.debug('debug  message')logging.info('info  message')logging.warning('warning ...

  10. MongoDB限制记录数

    MongoDB limit()方法 要限制 MongoDB 中返回的记录数,需要使用limit()方法. 该方法接受一个数字类型参数,它是要显示的文档数. 语法 limit()方法的基本语法如下: & ...