变量

变量定义

  1. python中变量的定义

python中变量可以理解为一个值得名字

#变量定义方式
>>>变量名 = 值
#python中变量不赋值不可直接使用
  1. Python中变量命名

Python中变量命名和其他语言类似

#python变量名有数字字母和_构成,且不能以数字开头
#python中变量名区分大小写
>>>a = 1
1
>>>A = 2
2

#python中变量命名不能使用保留关键字
>>>if = 1

#python中的变量是弱类型的,所以python是动态语言
  1. 值类型和引用类型

引用类型是可以改变的,值类型是无法改变的

#int 是值类型不可变
>>>a = 1
>>>b = a
>>>a = 2
>>>print(a)
2
>>>print(b)
1
#由于值类型是不可变的所以当上述变量a重新赋值时 a将指向一个重新分配的int值,而b还是指向1. 所以导致ab值不相同

#list 是引用类型可以改变
>>>a = [1,2,3]
>>>b = a
>>>a[0] = 4
>>>print(a)
[4,2,3]
>>>print(b)
[4,2,3]
#由于引用类型是可变的所以当修改a[0]的值的时候是直接将ab指向的list进行修改所以ab值相同

>>>a = [1,2,3]
>>>b = a
>>>a = [2,3,4]
>>>print(a)
[2,3,4]
>>>print(b)
[1,2,3]
#这种情况是将a重新赋值让a指向一个新的list所以a的值被改变b仍然指向之前的list

int str tuple 是值类型 list set dict是引用类型可发生改变

  1. 列表可变与元组的不可变

    #元组定义好后其中的值无法发生改变
    >>> a = (2,2,2)
    >>> type(a)
    <class 'tuple'>
    >>> a[2] = 1
    Traceback (most recent call last):
      File "<pyshell#2>", line 1, in <module>
        a[2] = 1
    TypeError: 'tuple' object does not support item assignment
        
    
    #列表的内容是可以发生改变的
    >>> b = [1,2,3]
    >>> type(b)
    <class 'list'>
    >>> b[0] = 2
    >>> b
    [2, 2, 3]
    
    #元组适合定义一些不适合改变的数据避免发生错误
    
    #多维元组中有列表的情况
    >>> a = (1,[2,3])
    >>> a
    (1, [2, 3])
    >>> a[1][1] = 4
    >>> a
    (1, [2, 4])
    #由于修改的是元组中的列表所以这样的操作不会报错

-------------完-------------