• day03_02 变量


    什么是变量?

    量 指的是事物的状态

    事 指的是事物的状态是可变的

    变量就是一种存取内存的机制

    为何要用变量?

    为了控制计算机能够像人一样记住事物的状态,且事物的状态是可变的

    如何用变量?

    原则:先定义,后引用

    定义:变量名 = 变量值

    引用:变量名

    一、变量的基本使用:先定义,后引用

    age = 18
    print(age)  #结果 18
    name = 'egon'
    print(name) #结果 egon

    这是在pychram中运行。在交互式环境中可以直接输入变量名,不用print()

    在交互式环境中
    age = 18 # 定义
    age # 引用
    18 # 结果

    二、变量的三大组成部分

    name = 'alex'

    变量名:用来指向变量值的内存地址,用来访问值的

    赋值符号 :用来把变量值的内存地址绑定给变量名

    变量值:记录事物的状态,也就是我们存入内存的数据

    变量名详解:

    3.1左值与右值

    wxid = '123456'  左值:变量名在等号左边,就称之为左值,这个时候变量名是一种存值行为

    print(wxid)  右值:只要不在等号左边,都称之为右值,这个时候变量名是一种取值行为

      x  =  x + 1 

     存值    取值

          print(x)

    3.2 变量名的命名

    (1)大前提:见名知意

    name = 'alex'

    (2)规范:

    1.变量名只能是 字母、数字、下划线,三个任意组合。且数字不能开头

    2.关键字不能声明为变量名

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

    一般下划线不用作开头
    # _name="egon"
    # _="egon"
    # print(_)

    (3)命名风格
    1、驼峰体
    AgeOfEgon = 18

    2、纯小写+下划线(推荐)
    age_of_egon = 18

    3.3变量值
    (1)两大特征:id、type
    name = 'egon'
    age = 18
    print(id(name))
    print(id(age))
    print(type(name))
    print(type(age))

    (2)内存管理机制之垃圾回收机制GC

    引用计数

    x = 10  #10的引用计数为1

    y = x  #10的引用计数为2

    x = 20  #10的引用计数为1

    del y  #10的引用计数为0

    分代回收

    优点:降低扫描数数量,提升效率

    缺点:有个别数据无法得到及时的处理

    循环引用导致的内存泄露问题?????》标记/清楚

    (3)内存管理机制之小整数池

    在用户交互模式小整数池的范围是-5—256。

    意思就是-5到256之间其中有个整数赋值给多个变量(值的内存地址绑定给多个变量名),那么这几个变量名的内存地址是同一个地址。超过小数据池的范围则不是同一个内存地址。

    但是仅仅只是针对整数。

    x = 256
    y = 256
    
    print(id(x))
    print(id(y)) #id都是一样的

    例外情况

    x = 300
    y = 300
    print(id(x))
    print(id(y))    #结果是不一样的
    
    
    x ,y = 300
    print(id(x))
    print(id(y))    #结果也是一样的
  • 相关阅读:
    JS中数组的sort()排序
    清除浮动方法
    浏览器兼容问题
    前端切图
    设置页面默认为繁体字
    7月计划
    css的层叠和继承
    Flex 布局教程:语法篇
    轮播图淡入淡出的js和jquery的效果
    接口调用async/await
  • 原文地址:https://www.cnblogs.com/HuaR-/p/14538447.html
Copyright © 2020-2023  润新知