• Python 引用


    python引用
    python中的数值类型变量也是引用,
    例如:
    a = 100
    b=a
    那么a和b指向同一块内存
    但是当修改a或者b的值得时候,Python会新分配一块内存来存储新的值


    python中不可变类型(不支持修改)是数值类型,字符串类型,元组类型,其中数值和字符串全部都是引用,修改本质上是再开辟一块空间存放新值
    python中可变类型是列表和字典,在字典中,只有不可变类型才能够做key(甚至元组也可以做key)

    #-*- coding:utf-8 -*-
    
    
    num = 100
    
    def update(a):
            a += 10
            print(a)  #打印110
    
    update(num)
    
    print(num)  #打印100
    
    
    '''
    结论:python中所有的变量都是引用类型
    num和update(a),实参num和形参a都指向同一片内存地址
    a += 10
    这里对a做出修改的操作
    
    因为a是数值类型,属于不可变类型,不能修改
    所以,python会创建一个临时变量a,用来存储110
    
    所以print(num) 打印的仍然是100

    注意:当全局变量做实参时,如果全局变量属于不可变类型,那么函数中对全局变量的修改无效

    #-*- coding:utf-8 -*-
    
    #python中+=在可变类型运算中的特殊用法
    
    list = [2]
    
    def test1(num):
            num += num
            print(num)   #打印[2,2]
    
    test1(list)
    
    print(list)   #打印[2,2]
    
    #从结果而言,修改了可变类型的值
    
    print("===================")
    
    list2 = [3]
    
    def test2(num):
            num = num + num  #num+num 的结果是[3,3] 这里表示将[3,3]这个列表赋值给num这个临时变量
            print(num)  #打印[3,3]
    
    test2(list2)
    
    print(list2)  打印[3]
    
    
    '''
    在python中 +=运算符表示对当前变量进行操作
    并不完全等同于  +
  • 相关阅读:
    一种预测城市未来发展和趋势的方法(关联分析和灰色系统预测)
    适宜性分析评价
    《现代城市规划》读书笔记之一
    外国建筑史的学习资料
    《城市建筑美学》读书笔记
    规划方案的评价(生态环境景观方面)
    地形分析与城市规划
    《建筑与城市规划导论》读书笔记之城市规划部分
    ajax与webGIS[转载]
    景观生态学概述[转载]
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/9250433.html
Copyright © 2020-2023  润新知