zoukankan      html  css  js  c++  java
  • 变量与常量

    变量与常量

    变量:在程序运行过程中,值会发生变化的量。

    常量:再程序运行过程中,值不会发生变化的量。

    无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存他的值。

     1.Python中的变量不需要生命类型

    这是根据Python的动态语言特性而来。变量可以直接使用,而不需要提前生命类型。例如:name,age,sex三个变量,在使用之前没有不需要声明 str name,int age,str sex,而这声明变量是C和Java中必须的。而Python使用变量:

    name = "xiaohei"
    age = 20
    sex = "man"

    2.用 “=”号给变量赋值

    age = 100

    这里的等号要理解并读作“赋值”,而不是“等于”,“赋值”是对变量的操作,而“等于”是对两个变量进行比较的。上面的 name、age、sex变量就是通过"="号赋值的。

    3.每个变量在使用前都必须赋值,变量赋值后才会被创建

    新的变量通过赋值的动作,创建并开辟内存空间,保存值。如果没有赋值而直接使用就会抛出异常,例如:

    age  # 没有赋值
    print(age)  # 报异常 NameError: name 'age' is not defined
    
    # 修改后
    
    age = 1  # age赋值
    print(age)  # 打印正常

    4.Python中,一切皆对象,变量引用的是对象或者说是对象在内存中的地址

     后边详细说

    5.Python中,变量本身没有数据类型的概念

    通常说的“变量类型”是变量所引用的对象的类型,或者说是变量的值得类型。

    name = "xiaohei"
    name = 333
    name = [1, 2, 3, 4]
    name = {"k1": "v1"}
    print(name)

    例子中,变量name在创建的时候,赋值为xiaohei字符串类型,然后又被改为整数类型,再变成一个列表类型,最后是字典类型。变量name在动态的改变,他的值分别是不同的数据类型,这就是动态语言的特点。

    6.“=”号这个赋值运算符是从右往左计算顺序

    x = 1
    y = 2
    z = x + y  # 先计算x+y值在赋值个z
    print(z)

     7.Python可以同时为多个变量赋值

    a = b = c = 1
    print(a)  # 1
    print(b)  # 1
    print(c)  # 1

    8.同时为多个变量分别赋值,用逗号分隔,逐一对应

    a, b, c = 1, 2, 3  # 一一对应
    print(a, b, c)

    9.不要把赋值语句的等号等同于数学的等号

    a = 1
    a = a + 2
    print(a)

    从数学的角度理解a = a+2是不成立的,但在程序中,赋值语句先计算a+2得到结果后再赋值给a,之前a的值是1,那么重新赋值后a得值是3。

    如果理解变量计算机内存中的表示也很重要。如:

    name = "xiaohei"

    1.在内存中创建一个"xiaohei"的字符串对象。

    2.在内存中创建一个名为name的变量,并将它指向"xiaohei"。

    也可以把一个变量name赋值给a,这个操作实际上是将变量a指向name所指向的数据,如下:

    name = "xiaohei"
    a = name
    name = "xiaohei1"
    print(name)
    print(a)

    最后变量a的内容到底是"xiaohei"还是"xiaohei1"?从数学的角度上理解,就会错误的得出a和name是"xiaohei1",但实际的a的值还是"xiaohei"。

    ps:Python中的一切都是对象,变量是对象的引用。

    1.执行name = "xiaohei",解释器创建字符串"xiaohei",对象和变量name,并将name指向"xiaohei"对象。

    2.执行a = name,解释器创建变量a,并将其指向变量name指向的字符串"xiaohei"对象。

    3.执行name = "xiaohei1",解释器创建字符串"xiaohei1"对象,并把name指向的对象改变为"xiaohei1",与a变量无关

    常量

    常量就是不变的变量,比如身份证号码、数学中圆周率都是常量,在Python中通常用全部大写的变量表示常量

    但事实上从Python的语法角度上看,身份证号码、圆周率依然是一个变量,因为Python没有任何机制保障常量不会被改变,改变其值,也不会报错。所以用全部大写的变量名表示常量只是程序员的一种习惯的用法。

    常量通常放在代码的最上部,并作为全局变量使用。

  • 相关阅读:
    hive与hbase整合
    待重写
    hive DML
    【知识强化】第六章 总线 6.1 总线概述
    【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构
    【知识强化】第四章 指令系统 4.3 CISC和RISC的基本概念
    【知识强化】第四章 指令系统 4.2 指令寻址方式
    【知识强化】第四章 指令系统 4.1 指令格式
    【知识强化】第三章 存储系统 3.6 高速缓冲存储器
    【知识强化】第三章 存储系统 3.5 双口RAM和多模块存储器
  • 原文地址:https://www.cnblogs.com/xiaohei001/p/10103242.html
Copyright © 2011-2022 走看看