首页 > 代码库 > 003-python基础-变量

003-python基础-变量

一、变量的定义

变量就是用来在程序运行期间存储各种需要临时保存可以不断改变的数据的标示符,一个变量应该有一个名字,并且在内存中占据一定的存储单元,在该存储单元中存放变量的值。

二、变量的声明

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3   
4 name = "wupeiqi"

上述代码声明了一个变量,变量名为: name,变量name的值为:"wupeiqi"

变量的作用:昵称,其代指内存里某个地址中保存的内容

 技术分享

三、变量的命名规则

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
  • [‘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‘]

  注意:在python中,大写字母和小写字母被认为是两个不同的字符。因此,sum和SUM是两个不同的变量名。一般的,变量名用小写字母表示,与人们的日常习惯一致,以增加可读性。

 

四、变量名的命名习惯

  变量名的定义在能表达清楚它的作用的前提下越简洁越好,能用一个单词表述清楚的就不要用两个。

  复杂变量命名,选择下划线“_”或首写字母大写的形式。如:

  CheckCurrentConnCount

  check_current_conn_count

 

五、变量的赋值及在内存中的理解

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 
4 name1 = "wupeiqi"
5 name2 = "alex"

技术分享

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 
4 name1 = "wupeiqi"
5 name2 = name1

技术分享

当变量name1赋值给另一个变量name2时,解释器只是把name1所指向的内存地址赋值给了name2,因此name1和name2并没有发生直接的关联,只不过是他们都同时指向同一个内存地址而已,这也就是为什么你把name1指向一个新地址后,而name2的值还是保持不变的原因。

 1 name1 = "wupeiqi"
 2 name2 = "alex"
 3 print("name1 id is",id(name1))
 4 print("name2 id is ",id(name2))  
 5 print("".center(40,"-"))
 6 name2 = name1
 7 print("name1:", name1)
 8 print("name2:", name2)
 9 print("name1 id is",id(name1))
10 print("name2 id is ",id(name2))
11 print("".center(40,"-"))
12 name1 = "new"
13 print("name1:", name1)
14 print("name2:", name2)
15 print("name1 id is",id(name1))
16 print("name2 id is ",id(name2))
17 
18 # 输出
19 name1 id is 10728928      # name1的初始id
20 name2 id is  10729600     # name2的初始id
21 ----------------------------------------
22 name1: wupeiqi
23 name2: wupeiqi
24 name1 id is 10728928
25 name2 id is  10728928      # name1把内存地址赋值给name2
26 ----------------------------------------
27 name1: new
28 name2: wupeiqi
29 name1 id is 9362712       # name1指向新的内存地址
30 name2 id is  10728928     # name2不变

 

003-python基础-变量