变量

在程序设计中,变数(英语:Variable,scalar)是指一个包含部分已知或未知数值或资讯(即一个值)之储存位址,以及相对应之符号名称(识别字)。通常使用变数名称参照储存值;将名称和内容分开能让被使用的名称独立于所表示的精确讯息之外。电脑原始码中的识别字能在执行期间绑扎一个值,且该变数的值可能在程式执行期间改变。 程序设计中的变数不一定能直接对应到数学中所谓的变数之概念。在程序设计中,变数的值不一定要为方程或数学公式之一部分。程序设计中的变数可使用在一段可重复的程序:在一处赋值,然后使用于另一处,接著在一次赋值,且以相同方式再使用一次(见迭代)。程序设计中的变数通常会给定一个较长的名称,以描述其用途;数学中的变数通常较为简洁,只给定一、两个字母,以方便抄写及操作。

一个变数的储存位址可以被不同的识别字所参照,这种情况称之为别名。使用其中一个识别字为变数赋值,将会改变透过另一个识别字存取的值。

编译器必须将代表变数的名称替代成该数据所在的实际位址。变数的名称、类型及位址通常会维持固定,但该位址所储存之数据于程式执行期间则可能会改变。

--以上是维基百科对 《变量(程序设计)》的解释

  • 我们知道在计算机运行程序时数据都是暂存在内存中的,用通俗的话说:就是代指内存中某个地址中所保存的内容。

  • 在Python中,上述图示用代码表示为(代码演示均在linux中完成):
ubuntu@VM-0-26-ubuntu:~$ python                                                                 # 在linux命令行模式下进入python交互式环境
Python 2.7.12 (default, Nov 19 2016, 06:48:10) # 显示python的版本号信息
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> name = "xiangcl" # 在内存中创建一个内容为xiangcl,变量名为name的变量
>>> id(name) # 获得对象的内存的地址
3072794496L
  • 在这个例子中就是变量name和字符串xiangcl之间建立了对应的关系。
  • 在Python中,有一句话叫做:对象有类型,变量无类型。
  • 在上述例子中对象xiangcl是字符串类型,这就好比将name这个标签粘贴在了字符串xiangcl上面。

变量的命名规则

  • 在Python中,变量只能是由字母、数字以及下划线组成,且不能以数字作为开头。
  • 下列Python的关键字也不能作为变量名使用(需特别注意):
python2.7
>>> import keyword # 引入keyword库
>>> keyword.kwlist # 查看关键字列表
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> keyword.iskeyword("and") # 判断and是否为关键字
True # 返回True,则为python关键字,反之不是,在python3中的判断方法是一样的,这里不在重复
>>> keyword.iskeyword("has")
False python3.5.2
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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']

可以看到Python2和Python3的关键词还是有所不同的。

变量的赋值

>>> name1 = "xiangcl"
>>> name2 = "向常乐"
>>> id(name1)
3072443392
>>> id(name2)
3072427744

>>> name1 = "xiangcl"
>>> id(name1)
3072443392
>>> name2 = name1
>>> id(name2)
3072443392

Python数据类型之变量的更多相关文章

  1. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  2. python/数据类型和变量

    数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是, 计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据, ...

  3. python—数据类型和变量

    在python中,能够直接处理的数据类型和变量有整数.浮点数.字符串.布尔值.空值.变量. 一.整数 1.python可处理任意大小的整数,包括负整数,在程序中的表示方法与在数学中的方法一样.例如:0 ...

  4. Python数据类型和变量

    一.数据类型1.整型整型类型比较简单,就是我们数学中的正整数(1,2,520..).负整数(-2,-9..);与java不同的是,python中的整数可以无限大,而java的整数类型int为四个字节, ...

  5. Python之路----------基础 一(数据类型、变量、基本语法、流程控制)

    一. 数据类型与变量 1.数据类型 整数   #Python在程序中的表示方法和数学上的写法一模一样,-1,0,1都是整数. 浮点数  1 #浮点数就是小数. 字符串 1 #在Python中字符串是以 ...

  6. python中的变量和数据类型

    一.变量定义:变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字. 二.变量命名规则: 1. 变量名由字母.数字.下划线组成 2. 数字不能开头 3. 不可 ...

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

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

  8. [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念

    上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...

  9. python入门(8)数据类型和变量

    python入门(8)数据类型和变量 数据类型 在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样 ...

随机推荐

  1. OpenStack_Glance

    什么是Glace Glance即image service(镜像服务),就是为创建虚拟机提供镜像的地方 为什么要有Glance 这个问题问的好,openstack就是构建Iaas平台对外提供虚拟机的啊 ...

  2. C#封装MongoDB工具类库

    什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩 ...

  3. POPTEST老李分享session,cookie的安全性以及区别 3

    如何查看服务器端输送到我们电脑中的这些Cookie信息:      点开IE浏览器或其他浏览器,在菜单栏中有工具选项,点开有InterNet选项:          Cookie名称.来源.文件格式( ...

  4. jQuery入门:认识jQuery

    jQuery是一个轻量级的JavaScript库,拥有独特的选择器.出色的DOM操作.可靠的事件处理.完善的兼容性.链式操作以及方便的ajax等功能.jQuery的最新版本可在官方网站(http:// ...

  5. hive的安装和升级

    目录 [toc] 安装 升级 安装 nohup hive –service hiveserver & 启动: sudo nohup ./hive --service metastore &am ...

  6. Web worker 与JS中异步编程的对比

    0.从一道题说起 var t = true; setTimeout(function(){ t = false; }, 1000); while(t){ } alert('end'); 问,以上代码何 ...

  7. mysql常用技能分享

    一,MySQL查询的五种子句: 1,where(条件查询),常用的运算符: ①比较运算符 > , < , = , != , >= , <= , in( ) , between ...

  8. Java高级特性(基础)

    1.StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对String的改变都 会引发新的String对象的生成:StringBuf ...

  9. css伪类的组合用法

    利用伪类组合,可以用css代替js以达到目的,少些一下js .textarea:empty:before { display: block; content: '请输入'; color: #ababa ...

  10. C++ 头文件系列(system_error)

    1.为什么system_error "....report error conditions originating from the operating system or low-lev ...