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

Example 1. 定义 myParams 变量

if __name__ == "__main__":

myParams = {"server":"mpilgrim", \

"database":"master", \

"uid":"sa", \

"pwd":"secret" \

}

首先注意缩进。 if 语句是代码块,需要像函数一样缩进。

其次,变量的赋值是一条被分成了多行的命令,用反斜线 (“ ”) 作为续行符。

上海python培训整理编辑,转载说明出处!

1、书写多行命令

当一条命令用续行符 (“ ”) 分割成多行时,后续的行可以以任何方式缩进,此时 Python 通常的严格的缩进规则无需遵守。如果您的 Python IDE 自由对后续行进行了缩进,您应该把它当成是缺省处理,除非您有特别的原因不这么做。

严格地讲,在小括号,方括号或大括号中的表达式 (如定义一个 dictionary ) 可以用或者不用续行符 (“ ”) 分割成多行。甚至在不是必需的时候,我也喜欢使用续行符,因为我认为这样会让代码读起来更容易,但那只是风格问题。

您从未声明过变量 myParams ,您只是给它赋了一个值。这点就像是VBScript 没有设置 option explicit 选项一样。幸运的是,与 VBScript 不同,Python 不允许您引用一个未被赋值的变量,试图这样做会引发一个异常。

2、变量引用

Example2. 引 用 未 赋 值 的变 量

>>> x

Traceback (innermost last):

File "", line 1, in ?

NameError: There is no variable named 'x'

>>> x = 1

>>> x

1

迟早有一天您会为此而感谢 Python 。

3、一次赋多值

Python 中比较 “酷” 的一种编程简写是使用序列来一次给多个变量赋值。

Example 3. 一次赋 多值

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

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

>>> x

'a'

>>> y

'b'

>>> z

'e'

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

这种用法有许多种用途。我经常想要将一定范围的值赋给多个变量。在 C 语言中,可以使用 enum 类型,手工列出每个常量和其所对应的值,当值是连续的时候这一过程让人感到特别繁琐。而在 Python 中,您可以使用内置的 range函数和多变量赋值的方法来快速进行赋值。

Example 4. 连 续值赋值

>>> range(7) (1)

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

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

(2)

>>> MONDAY (3)

0

>>> TUESDAY

1

>>> SUNDAY

6

(1) 内置的 range 函数返回一个元素为整数的 list。这个函数的简化调用形式是接收一个上限值,然后返回一个初始值从 0 开始的 list,它依次递增,直到但不包含上限值。(如果您愿意,您可以传入其它的参数来指定一个非 0的初始值和非 1 的步长。也可以使用 print range.__doc__ 来了解更多的细

节。)

(2) MONDAY 、 TUESDAY 、 WEDNESDAY 、 THURSDAY 、 FRIDAY 、 SATURDAY 和 SUNDAY 是我们定义的变量。(这个例子来自 calendar 模块。它是一个很有趣的打印日历的小模块,像 UNIX 的cal命令。这个calendar 模块定义了一星期中每天的整数常量表示。)

(3) 现在每个变量都拥有了自己的值: MONDAY的值为0 , TUESDAY的值为1 ,等等。

您也可以使用多变量赋值来创建返回多个值的函数,只要返回一个包含所有值的 tuple 即可。调用者可以将其视为一个 tuple,或将值赋给独立的变量。许多标准的 Python 库都是这样做的,包括os模块。

感谢阅读,欢迎评论,更多内容或及时获取支持请访问 上海python培训

python 声明变量_Python的变量声明相关推荐

  1. python变量需要声明吗_python中可以声明变量类型吗

    变量(variable)是Python语言中一个非常重要的概念.变量的主要作用就是为Python程序中的某个值起一个名字.类似于"张三"."李四"." ...

  2. python函数里面引用外部变量_Python基础 变量进阶

    目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的 1.1 ...

  3. python局部变量含义_Python的变量

    1. 概念 Python变量是用于存储值所在的内存位置.换句话说,python程序中的变量将数据提供给计算机进行处理. Python中的每个值都有一个数据类型.Python中不同的数据类型是Numbe ...

  4. python创建变量_python创建变量

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 创建: 当python变量'赋值'时,根据值类型创建变量,如:a=1引用: 当参 ...

  5. python static变量_python static变量

    python在函数中有static变量吗 python函数怎么实现static变量? python函数实现static变量具体如下:def ask_ok(prompt, retries=4, comp ...

  6. python清除所有变量_python清除变量

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 否则,抛出异常(具体参见异常说明)删除文件库方法签名:delete()方法说明: ...

  7. 关于python变量_Python关于变量

    Python 基础 1.1变量 是一种变化的量,一种记录世间万物的状态且这种状态时会发生改变的,人们常用他来描述世间万物的. Python中变量中的组成主要分为三个部分: 1.变量名 2.赋值符号 3 ...

  8. python静态变量_python静态变量

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 我这里的代码实现了静态变量的装饰器. 但是,我发现如果我多次运行这个函数,每次调 ...

  9. python定义变量_Python基础 变量的基本使用

    变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 变量定义 变量的类型 变量的命名 01. 变量定义 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 ...

  10. python开头声明中文_python开头——文件声明 详解

    一.解释器声明 1.声明方式 linux #!/usr/bin/python windowns #!c:/python27/python.exe 放在首行 2.作用 告诉电脑,要用/usr/bin下面 ...

最新文章

  1. java 实体类包含list 怎么取值_2019 最新 500 道 Java 面试题
  2. Apache Oltu 实现 OAuth2.0 服务端【授权码模式(Authorization Code)】
  3. 浅谈Android引用计数(2)
  4. python入门到精通自学_python入门到精通大型视频、自学者的福利
  5. SpringBoot禁用命令行参数
  6. Mybatis 学习之路其四:级联
  7. OpenCV离散傅立叶变换
  8. git如何合并指定文件内容_git小技巧--如何从其他分支merge个别文件或文件夹
  9. 选轻量应用服务器or云服务器ECS?一图帮你彻底区分
  10. citrix+netscaler配置第一次培训
  11. 【Elasticsearch】 es nested 嵌套类型 详解
  12. openssl以及openssh升级
  13. linux终端什么字体舒服,推荐一款 Linux 上比较漂亮的字体
  14. 3DSmax里的nurms toggle命令中文版是什么意思
  15. C4D插件X-Particles粒子特效(七)
  16. Larval 主从读写分离配置
  17. 卐 4-3D图形的数学
  18. linux 文件名带日期,在linux中追加日期到文件名
  19. Android音视频点/直播模块开发实践总结-zz
  20. App推广攻略:6种渠道追踪方法及渠道数据分析的新思路

热门文章

  1. 音视频技术开发周刊 | 135
  2. LiveVideoStack线上分享第三季(九):《街舞》《长安十二时辰》背后的文娱大脑...
  3. LiveVideoStackCon讲师热身分享 ( 七 ) —— 视频编码器的对比与选择
  4. 首届Elastic社区技术大会隆重开幕!腾讯分享2场中文演讲
  5. source insight 支持lua /ruby
  6. Ceph BlueStore 和双写问题
  7. Windows安装梯度提升开发库LightGBM
  8. c++协程1 (boost::coroutine)
  9. Hadoop 2.7集群环境搭建
  10. Spark对Kafka两种连接方式的对比——Receiver和Direct