python 3.x 变量
变量的命名规则
- 变量名是有字母,数字,下划线三种任意组成
- 变量名不能以数字开头
- 系统关键字(保留关键字)不能用作变量名
- 变量名区分大小写
- 变量名命名有意义
判断变量值是否改变的方法
- id() 显示某个变量在内存中的地址值
1 In [2]:a = 1
2 In [3]:b = a
3 In [4]:a = 3
4
5 In [16]:list_a = [1,2,3,4,5]
6 In [17]:list_b = list_a
7 In [18]:list_a[0] = "1"
8 In [19]:print(list_b)
9 ['1', 2, 3, 4, 5]
10
11 In [20]:id(a)
12 Out[20]:1658744352
13
14 In [21]:id(b)
15 Out[21]:1658744288
16
17 In [22]:id(list_a)
18 Out[22]:93166792
19
20 In [23]:id(list_b)
21 Out[23]:93166792
由于字符串是不可变类型,每次重新赋值都会开辟一个新的空间.所以当a变量重新赋值时,b变量不会随之改变

1 In [2]:a = 1
2 In [3]:b = a
3 In [4]:a = 3
4 In [5]:print(b)
5 1
由于list是可变类型,所以当list_a赋值给list_b时,系统没有开辟一个新的空间,而是将变量名list_b指向list_a所以当list_a中的某元素改变时,list_b也随之改变

1 In [7]:list_a = [1,2,3,4,5]
2 In [8]:list_b = list_a
3 In [9]:list_a[0] = "1"
4
5 In [10]:print(list_b)
6 ['1', 2, 3, 4, 5]
7
8 In [11]:list_a = [5,4,3,2,1]
9
10 In [12]:print(list_b)
11 ['1', 2, 3, 4, 5]
一些非保留关键字,但是我们经常使用比如type,print.
- 虽然他们在当做变量名的时候,不会报错,但是再想使用type(),print()方法时,就会报错:该方法不能被调用
1 In [13]:and = 2 # and 是保留关键字
2 File "<ipython-input-13-f8d87bb38e4d>", line 1
3 and = 2 # and 是保留关键字
4 ^
5 SyntaxError: invalid syntax
6
7 In [14]:type = 2 # type 非保留关键字,当做变量名不会报错
8 In [15]:print(type)
9 2
10
11 In [19]:type(1) # 再次使用type()方法时报错
12 ---------------------------------------------------------------------------
13 TypeError Traceback (most recent call last)
14 <ipython-input-19-b589b5d8930d> in <module>()
15 ----> 1 type(1) # 再次使用type()方法时报错
16
17 TypeError: 'int' object is not callable
18
19 In [20]:print = 3 # print 非保留关键字,当做变量名不会报错
20 In [21]:print(print) # 再次使用print()方法报错
21 ---------------------------------------------------------------------------
22 TypeError Traceback (most recent call last)
23 <ipython-input-21-96f140f83fbb> in <module>()
24 ----> 1 print(print) # 再次使用print()方法报错
25
26 TypeError: 'int' object is not callable
posted on 2018-06-12 16:35 jaydenjune 阅读(84) 评论(0) 收藏 举报
浙公网安备 33010602011771号