zoukankan      html  css  js  c++  java
  • Python 基础【第八篇】变量

    1.变量定义:

        给数据进行命名,数据的名字就叫做变量
       

    2.变量格式:

    [变量名] = [值]

    注:变量名命名需要满足下面两条准则

    准则一:标示符开头不能为数字、不能包含空格、特殊字符
    准则二:标示符不能为Python的关键字,关键字列表如下表所示

    and as assert break class
    for from global if import
    del elif else except exec
    lambda not None or pass
    True
    while with yield return
    continue def in is try
    False
    finally print raise  

    打印变量:

    >>print(变量)

    引用变量:

        直接使用变量名称

    例:

        定义变量名为“test” 值为字符串“python test”
        >>> test='python test'
        >>> print test
        python test

    变量中引用变量自身:

        >>> test=test+str(1)
        >>> print test
        python test1
       
        上面的操作等同于test += str(1)
        例:
        >>> test='python test'
        >>> test += str(1)
        >>> test
        'python test1'
    
    

    三、变量的内存指向

      如果我定义了一个变量data = 'alan',然后将data赋值给string (string = data)那么我修改string的时候data的值会不会变呢?
    先看下面的图:

    注释:

    1.创建data = 'alan' 时变量会在内存中开辟出一块空间来存放值和对应关系比如这个内存空间地址为010101

    2.当string = data 的时候 string变量将自身也指向了内存中的'alan' 内存地址为010101

    3.然而当 string = 'lisa' 时string会重新开辟一块内存空间来存储'lisa' 内存地址为010102 并没有修改data

    实例:

        >>> data = 'Alan'
        >>> string = data
        >>> string
        'Alan'
        >>> id(data)  //查看data内存中的地址
        45990656
        >>> id(string) //查看string内存中的地址
        45990656
    
        >>> string = 'lisa' //为string重新赋值
        >>> data  //查看data的值是否改变,然而并没有改变
        'Alan'
        >>> id(data)  //查看data的内存地址
        45990656
        >>> id(string) //查看string的内存地址
        45913152
  • 相关阅读:
    线程和进程
    Java多线程实现(四种方法)
    Java中的锁
    synchronized和java.util.concurrent.locks.Lock
    Lock的实现类ReentrantLock&Condition类的await/signal/signalAll(生产者消费者场景)
    synchronized&Object类的wait/notify/notifyAll(生产者消费者场景)
    SQL语句优化
    面试
    数据库三大范式
    设计模式之JDK动态代理源码分析
  • 原文地址:https://www.cnblogs.com/Alanpy/p/5058870.html
Copyright © 2011-2022 走看看