zoukankan      html  css  js  c++  java
  • 1内存地址

    v1 = "tom"
    print(id(v1))       #1972976791472
    
    v2 = "你好"
    v3 = "你好"
    print(id(v2))       
    print(id(v3))
    

    v4 = [1,2,3]
    v5 = v4
    print(id(v4))
    print(id(v5))
    

    1. #函数的参数data 和函数外面的v1引用的是同一内存地址

    def func (data):
        print(id(data))     #1775314579376
    
    v1 = "tom"
    print(id(v1))           #1775314579376
    func(v1)
    

    1. 案例:1
    这个特性,可以利用函数帮助处理data_list这个列表
    注意:可以使用这个功能的限制
    1)参数必须是可变类型: list/dict/set
    2)函数外面的数据类型也要是list/dict/set可变的,内外要对应
    3)函数内部只能对内部原始修改,

    def func(data):
        data.append(5)
        print(data, id(data))   #[1, 2, 3, 5] 2146680692992
    
    
    data_list = [1,2,3]
    func(data_list)
    print(data_list)             #[1, 2, 3, 5]
    

    **2. python函数不像其他语言,函数会新开辟空间 **

    3. 函数外面调函数, v1 和v2 各有各的内存地址


    def func ():
        data = [1,2,3]
        print(id(data))     #v1: 2134267787072  #v2:1817227167552
        return data
    
    v1 = func()
    print(id(v1))           #v1: 2134267787072  #v2:1817227167552
    
    v2 = func()
    print(id(v2)
    

    4. 如果函数内是字符串和43243143341432143数字外面调用,内存地址相同.

    def func ():
        data = 123456
        print(id(data))     
        return data
    
    v1 = func()
    print(id(v1))          
    
    v2 = func()
    print(id(v2))
    

  • 相关阅读:
    JAVA程序员面试32问
    在做物流的库存管理系统里,需要注意。。。。。
    在写自动更新程序中出现的问题
    数据库设计中的五个范式
    cPickle / pickle
    python总结1
    python总结2
    汉明距离(Hamming distance)
    python中pickle的用法
    NET面试题
  • 原文地址:https://www.cnblogs.com/john5yang/p/15570610.html
Copyright © 2011-2022 走看看