Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明。变量通过首次赋值产生,当超出作用范围时自动消亡。

Python 不允许引用一个未被赋值的变量,否则会引发一个异常。

一次赋多值

>>> v = ('a', 'b', 'e')

>>> (x, y, z) = v

>>> x

'a'

>>> y

'b'

>>> z

'e'

v 是一个三元素的 tuple,并且 (x, y, z) 是一个三变量的 tuple。将一个 tuple 赋值给另一个 tuple,会按顺序将 v 的每个值赋值给每个变量。

连续值赋值

>>> range(7)

[0, 1, 2, 3, 4, 5, 6]

>>> (MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)

>>> MONDAY

0

>>> TUESDAY

1

>>> SUNDAY

6

您也可以使用多变量赋值来创建返回多个值的函数,只要返回一个包含所有值的 tuple 即可。调用者可以将其视为一个 tuple,或将值赋给独立的变量。

注: range函数

>>> print range.__doc__

range(stop) -> list of integers

range(start, stop[, step]) -> list of integers

Return a list containing an arithmetic progression of integers.

range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.

When step is given, it specifies the increment (or decrement).

For example, range(4) returns [0, 1, 2, 3].  The end point is omitted!

These are exactly the valid indices for a list of 4 elements.

Python_变量声明相关推荐

  1. Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值

    1. 变量声明 要单纯声明一个变量,可以通过 var 关键字,如下所示: var s string 该示例只是声明了一个变量 s,类型为 string,并没有对它进行初始化,所以它的值为 string ...

  2. Go 学习笔记(26)— Go 习惯用法(多值赋值,短变量声明和赋值,简写模式、多值返回函数、comma,ok 表达式、传值规则)

    1. 多值赋值 可以一次性声明多个变量,并可以在声明时赋值,而且可以省略类型,但必须遵守一定的规则要求. package main import "fmt"func main() ...

  3. Go 学习笔记(6)— 变量定义、变量声明、变量作用域

    1. 变量定义 Go 语言变量名由字母.数字.下划线组成,其中首个字符不能为数字.声明变量的一般形式是使用 var 关键字: var varName dataType [= value] Go 语言和 ...

  4. javascript变量声明 及作用域

    javascript变量声明提升(hoisting) http://openwares.net/js/javascript_declaration_hoisting.html 可能要FQ一下 java ...

  5. 变量声明和定义的区别

    转自:http://www.cnblogs.com/GavinDai/archive/2011/10/24/2222735.html 我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候 ...

  6. 函数声明和变量声明提升

    var a; // 声明一个变量,标识符为a function a() { // 声明一个函数,标示符也为a } alert(typeof a); 显示的是"function",即 ...

  7. 谈javascript变量声明

    本文同时发表在另一独立博客上http://qingbob.com/blog/%E8%B0%88javascript%E5%8F%98%E9%87%8F%E5%A3%B0%E6%98%8E 这篇文章还是 ...

  8. C++ Primer 5th笔记(2)chapter 2变量和基本类型:变量声明、关键字

    0. 几个零星知识点 . 嵌套作用域:局部变量会覆盖全局变量 . char 在有些机器有符号,有的无符号. . 标识符大小写敏感. 1.变量声明和定义 c++ 将声明和定义分开来. 声明 extern ...

  9. java 成员变量声明顺序_C++核心准则讨论:按照成员声明的顺序定义和初始化成员变量...

    Discussion: Define and initialize member variables in the order of member declaration 讨论:按照成员声明的顺序定义 ...

最新文章

  1. 手把手教你安装Linux虚拟机
  2. 面试了一个32岁的大佬,明显感觉到他背过很多面试题…
  3. EXCEL教程,包你一学就会
  4. c# vscode 配置_使用VSCode开发C#项目
  5. axis2 java.net.url_axis,axis2调用.net的webservice
  6. mysql 5.7.6 5.7.19_MySQL数据库之Mysql 5.7.19 免安装版遇到的坑(收藏)
  7. MongoDB经典故障系列一:数据库频繁启动失败怎么办?
  8. 如何在秋招中拿到offer?
  9. js手机端图片弹出方法
  10. 拖拽文件作为文件输入
  11. abaqus 帮助文档
  12. 认识电子计算机评课稿,《走进计算机》评课稿.docx
  13. 判断一个正整数是素数还是合数
  14. 遥感影像数据产品级别
  15. C++(数据结构与算法):56---无权图与有权图的编码实现
  16. 如果你真的想要做好互联网项目 请不要将项目的技术外包
  17. 手机验证码平台,怎么发送手机验证码,php开发手机验证码短信接口功能
  18. android is not translated in 报错解决方案
  19. 阿里百川能否让移动开发者“归海”?
  20. 分布式光纤测温系统DTS-BLY-5S

热门文章

  1. android开发双击唤醒屏幕,安卓手机双击唤醒原理是什么 安卓双击唤醒原理介绍...
  2. 【安全牛学习笔记】密钥交换、AIRCRACK-NG基础、AIRODUMP-NG排错
  3. Graphql中我们应该用什么姿势来实现Resolver?
  4. 华为机考108题(c++)(101-108)
  5. matlab拟合系数精度怎么调,Matlab中拟合函数的系数错误
  6. Linux - 如何查看Ubuntu系统的版本信息
  7. python中type dtype astype 的用法
  8. EOS智能合约开发系列(六): eosio.token
  9. (c++)两道关于日期相减的题目
  10. 万能密码为什么能成功