Loading

Python基础之变量与常量

变量: 在程序运行过程中,值会发生变化的量

常量: 在程序运行过程中,值不会发生变化的量

无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值。

 

变量

  • Python 中的变量不需要声明类型
>>> a = 4
>>> b = "haha"
>>> c = []
>>> d = 9-5
  • 用“=”号来给变量赋值
a = 100

这里的等号要理解并读作“赋值”,而不是“等于”,“赋值”是对变量的操作,而“等于”是对两个变量进行比较。上面的a,b,c,d四个变量,就通过“=”号,赋予了不同的值。

  • 每个变量在使用前都必须赋值,变量赋值以后才会被创建。

新的变量通过赋值的动作,创建并开辟内存空间,保存值。如果没有赋值而直接使用会抛出赋值前引用的异常或者未命名异常。例如:

>>> a       # 孤单单一个a,什么也表示不了,只能报错
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    a
NameError: name 'a' is not defined
>>> a = 1   # 这样就没问题了,解释器知道a是个新变量了
>>> c.append(1)     # c是个什么鬼?
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    c.append(1)
NameError: name 'c' is not defined
  • Python中,一切事物都是对象,变量引用的是对象或者说是对象在内存中的地址。
  • 在Python中,变量本身没有数据类型的概念,通常所说的“变量类型”是变量所引用的对象的类型,或者说是变量的值的类型。
>>> a = 1
>>> a = "haha"
>>> a = [1, 2, 3]
>>> a = { "k1":"v1"}

例子中,变量a在创建的时候,赋予了值为1的整数类型,然后又被改成字符串“haha”,再又变成一个列表,最后是个字典。变量a在动态的改变,它的值分别是不同的数据类型,这是动态语言的特点。

  • “=”号这个赋值运算符是从右往左的计算顺序。
>>> a = 1
>>> b = 2
>>> c = a + b       # 先计算a+b的值,再赋给c
>>> c
3
  • Python允许同时为多个变量赋值。

例如:a = b = c = 1,最终大家都是1。

  • 也可以同时为多个变量赋值,用逗号分隔,逐一对应。

例如:a, b, c = 1, 2, 3,最后a是1,b是2,c是3.

 

常量

常量就是不变的变量,比如常用的数学常数圆周率就是一个常量。在Python中,通常用全部大写的变量名表示常量:

PI = 3.14159265359

但事实上,从Python语法角度看,PI仍然是一个变量,因为Python根本没有任何机制保证PI不会被改变。你完全可以给PI赋值为10,不会弹出任何错误。所以,用全部大写的变量名表示常量只是一个习惯上的用法。

常量通常放置在代码的最上部,并作为全局使用。

 

posted @ 2020-05-16 00:12  愚者丶  阅读(172)  评论(0编辑  收藏  举报