zoukankan      html  css  js  c++  java
  • Python 变量

     

    1.什么是变量?

    变量就是把程序运行的中间结果临时存在内存中,以便后续代码使用

    2.为什么要有变量?

    • 便于使用、修改

    • 可以改变特性

    • 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的

    3.变量的基本使用

    变量基本使用

    # 原则:先定义,后引用
    name = "pig"      # 定义-》存
    print(name)       # 引用-》取

    4.变量的三大组成部分

    1. 变量名=》是指向等号右侧值的内存地址的,用来访问等号右侧的值

    2. 赋值符号:将变量值的内存地址绑定给变量名

    3. 变量值:代表记录的事物的状态

    5.变量名命名规范

    原则:变量名的命名应该见名知意

    1-可以包括:字母、数字、下划线
    2-数字一定不能开头  SyntaxError:invalid syntax
    3-大小写敏感 a !=A
    4-不s能使用关键字:for if else 不能定义成变量
     查看所有关键字
      import keyword
      print(keyword.kwlist)
       5-内置函数名不能使用---否则该函数失去函数意义!--ex--print

    6.变量名命名风格

    纯小写加下划线的方式(在python中,关于变量名的命名推荐使用这种方式)

    age_old = 73

    驼峰体

    OldAge = 73
    print(OldAge)

    7.变量值三个重要的特征

    • id:反映的是变量值的内存地址,内存地址不同id则不同

    • type:不同类型的值用来表示记录不同的状态

    • value:值本身

     

    8. is与==

    • 比较左右两个值身份id是否相等

    • 比较左右两个值他们的值是否相等

    两个等于的就是用来进行判断的。判断两边值是否相等,例如

    a = 10
    b = 10
    print(a == b)

    这样就是查看==两边的值是否一样.

    id是个什么东西呢?

    我们在定义一个变量时,内存空间中其实是开辟了一块空间,这个开辟的空间是有号码的

    x = 668
    # 59041088

    is 也是判断,只不过这次判断的是两边值得内存地址是否相同

    a = 10
    b = 10
    print(id(a))  # 2069029792
    print(id(b))  # 2069029792
    print(a is b)  # True
    # 获取的结果是True是因为a和b的内存地址是相同的

    9. 小整数池[-5,256]

    从python解释器启动那一刻开始,就会在内存中事先申请好一系列内存空间存放好常用的整数

    整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。

    Python 对小整数的定义是 [-5, 256] 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,无论这个整数处于LEGB中的哪个位置,

    所有位于这个范围内的整数使用的都是同一个对象。同理,单个字母也是这样的。

    a = 500
    b = 500
    print(id(a)) # 59041968
    print(id(b)) # 59041968
    print(a is b) # True

    不再区间内,怎么内存地址还是一样的啊。这就要说说python的另一个机制 — 代码块

    代码块是防止我们频繁的开空间降低效率设计的,当我们定一个变量需要开辟空间的时候,它会先去检测我们定义的这个值在空间中有没有进行开辟,如果没有开辟就开辟一个空间,如果内存中开辟过就使用同一个。

    一个文件,一个函数,一个模块,一个类,终端中一行就是一个代码块

    代码块支持:

    • 字符串:

      • 定义字符串的时候内容,长度任意内存地址相同。

      • 字符串进行乘法的时候总长度 <=20 内存地址相同。

      • 中文,特舒符号 乘法的时候只能乘以1或 0

    • 数字:

      • 相同的数字内存地址相同

    • 布尔值:

      • 相同的内存地址相同

    在终端上测试一下

    image-20190624142057797

    当代码块和小数据池两个在一起,先执行代码块

    知道了代码块支持的数据类型和支持怎样的操作,小数据池的支持数据类型和范围:

    小数据支持:

    • 字符串:

      • 纯字母和数字的时候长度任意,内存地址相同。

      • 纯字母和数字乘法总长度 <= 20 内存地址相同。

      • 中文和特殊符号乘法的时候只能乘以 0 内存地址相同

    • 数字:

      • -5 ~ 256

    • 布尔值:

      • True

      • False

    小数据池和代码块都是Python内置的,开发的时候不使用,他们统称为驻留机制,有了小数据池和代码块能够提升Python的效率

  • 相关阅读:
    已经二叉树的前序遍历和中序遍历 写出后序遍历算法
    Windows GVim
    PHP PDO
    Html5 Geolocation获取地理位置信息
    Vim字符编码/中文乱码详解
    Vim常用操作命令
    三列布局,左右宽度固定,中间一列随浏览器窗口变化宽度
    Html5 跨域通信
    Http 与 Socket 区别
    浏览器对比不应该成为月经帖或季度帖
  • 原文地址:https://www.cnblogs.com/LYPZX/p/13429589.html
Copyright © 2011-2022 走看看