【 Python 全栈开发 ④ 】Python 中的变量


文章目录

  • 一、变量的定义
  • 二、Python 中的变量
  • 三、变量命名规则
    • (1)常规命名规则
    • (2)多个单词的命名
  • 四、变量赋值
    • (1)变量的基本赋值格式
    • (2)变量的其他赋值格式
  • 五、变量值的交换
  • 六、变量的内存变化


一、变量的定义

变量,英文名叫做variable,是计算机语言中能储存计算结果或能表示值抽象概念。

《计算机科学概述》中,变量是这样定义的:“高级程序设计语言允许使用描述性的名字指向主存储器中的位置,而不必再使用数字地址,这样的名字称为变量(variable)。之所以是这样取名是因为,随着程序的执行,只要改变存储在这个位置里的值,那么与改名字相联系的值就会改变。”

二、Python 中的变量

从形式上看,每个变量拥有独一无二的名字,例如:

a = 1
b = 2

在这里,我们把 “a、b” 看作变量,把 “1、2” 看作

在 Python 中,我们把变量看做一个容器,不断更改它的值,以便程序需要。

三、变量命名规则

(1)常规命名规则

变量名是 Python 标识符的一种,不能随便起,必须要遵守 Python 标识符的命名规则。

标识符就是一个名字,它的主要作用就是作为变量函数模块以及其他对象的名称。
就好像我们人一样,需要起个名字,便于称呼、指代。

变量命名规则:

  1. 变量名由字母(A–Z 和 a–z)、下划线和数字组成。
  2. 变量名的第一个字符不能是数字。
  3. 变量名不能跟 Python 关键字相同。

注:

  1. 以下划线开头的标识符有特殊含义,除非特定场景需要,应避免使用以下划线开头的标识符。
  2. 标识符可以是汉字。但我们应尽量避免使用汉字作为标识符,这会避免遇到很多没必要的错误

(2)多个单词的命名

当变量名包含多个单词时,采取一下两种方式进行命名:

  1. 驼峰式命名:指除了第一个单词的首字母之外,后续每个单词的首字母都大写(在类的命名中,经常采取这种方式,但它的第一个单词首字母也是大写的)。
    如:numberCount、allData 等。
  2. 蛇形命名:指各单词之间用下划线_分开。
    如:number_count、all_data 等。

四、变量赋值

Python 变量的赋值指的是将数据放入变量的过程

与 C 语言不同,Python 变量无须声明数据类型就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量,换句话说 Pyhton 创建变量就必须赋值。

Python 变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为字符串,一会儿被赋值为整数。

(1)变量的基本赋值格式

例如:

# 为了代码的可读性,我们通常在“=”号前后加上一个空格
a = 1
print(type(a))
a = 'Python'
print(type(a))

使用 type()语句来判断变量的类型

这里,我们第一次使用=是创建这个变量 a,而第二次使用=则是修改了变量 a的值。

程序运行后,输出如下结果:



可以看到,变量a的值从最初创建是的 int (整数)变为了修改后的 str(字符串)。int、str是 Python 的基本数据类型,关于这个,可见我的另一篇文章——
Python 基本数据类型。

由此可见,Python 中的变量类型是不固定的,可以随意修改。

这种方式写腻了?别急!这儿还有几招!

(2)变量的其他赋值格式

第一种,同时给多个变量赋相同的值:

a = b = c = 10
print(a)
print(b)
print(c)

运行结果:

10
10
10

第二种,同时给多个变量赋不同的值:

a, b, c = 10, 20, 30
print(a)
print(b)
print(c)

运行结果:

10
20
30

五、变量值的交换

实例如下:

a = 1
b = 2
a, b = b, a   # 交换a、b的值
print(a)
print(b)

运行结果:

2
1

六、变量的内存变化

文章的最后,讲点深奥的东西。

在 Python 中,变量的内存地址标识码可以用id()命令来查看。

a = 10
print(id(a))
a = 20
print(id(a))

点击运行按钮,会输出两个不同的数字:

2418912657936
2418912658256

这就是变量a的内存地址,可以发现更改后有所变化。

奇妙的是,再次点击运行按钮,输出结果却变了:

1919313642000
1919313642320

显然,再次运行,内存地址又变了!

你可能感兴趣的:(Python,全栈开发,#,【第一章】语法基础,python,开发语言)