hgjgh 发表于 2018-8-10 11:38:09

Python-5 可变类型与不可变类型

  1、可变类型:列表、字典。
  2、不可变类型:数字、字符串、元组。
  3、在字典中,不可变类型可作key值:
  infor = {"name":"zhangsan",3.14:"pai",(100,99):"score"}
  可变类型不可作key值。
  例1:
  a = 100
  def test(num):
  num+=num
  print(num)
  test(a)
  print(a)
  #实际输出结果
  >200
  >100
  #因为a为不可变类型,所以num+=num,相当于重新定义了一个局部变量,而全局变量未被修改。
  例2:
  a =
  def test(num):
  num+=num
  print(num)
  test(a)
  print(a)
  #实际输出结果:
  >
  >
  #因为列表是可变类型,所以直接修改全局变量,实际输出结果相同。
  例3:
  a =
  def test(num):
  num = num+num
  print(num)
  test(a)
  print(a)
  #实际输出结果:
  >
  >
  #在Python中,num+=num与num=num+num不相同,前者是直接修改a变量指向的值,而后者重新指向一个新的值。所以实际输出结果a与例2中不同。
页: [1]
查看完整版本: Python-5 可变类型与不可变类型