• 变量


    变量

    什么是变量?(掌握)

    变量从字面意思可以理解成:是变化的量。但是这样理解和没有理解貌似没有什么区别。我们首先来想想看你是怎么认识我的,今天来你会认识我,明天来你还会认识我。那你是不是记住我这个人的典型特征。既然人能识别世间万物,那么之前一直把计算机想象成人,那是不是说计算机也能识别时间万物呢?对的。计算机通过记录我们的状态认识我。这就是量的概念。

    • 量:记录现实世界中的状态,让计算机能够像人一样识别世间万物。
    • 变:现实世界中的状态是会发生改变的。

    为什么要有变量?(掌握)

    对于现实世界,一定是要有一个变量来描述世间万物的。但是计算机为什么也要有变量的概念呢?其实计算机中程序的运行就是一系列状态的变化,如王者账号等级0到30,青铜到王者。

    如何用变量?(掌握)

    既然知道了变量是什么玩意,那我们如何在Python中定义变量呢?

    定义变量

    name = 'nick'
    age = 19
    gender ='male'
    height = 180
    weight =140
    

    变量的组成

    从我们上米昂定义的变量可以看到,变量的组成分为以下三部分:

    1. 变量名:变量名用来引用变量值,但凡需要用变量值,都是要通过变量名。
    2. 赋值符号:赋值
    3. 变量值:存放数据,用来记录现实世界中的某种状态。
    name # 报错,无任何意义
    age = 18
    height = 185
    print(age) # 18
    print(height) # 185
    

    变量名的命名规范

    定义一个变量其实就是记录现实世界中的状态,并且存永远不是目的,去菜市目的。所以变量的命名应该满足一下是三个规范:

    1. 变量的命名应该能反映变量值所描述的状态,切记不可用中文。
    2. 变量名必须用字母数字下划线组成,并且变量名的第一个字符不能是数字。
    3. 关键字不能声明为变量名

    变量名的两种风格(了解)

    • 驼峰体
    AgeOfnick = 19
    print(AgeOfNick) # 19
    
    • 下划线(针对变量名的命名风格)
    age_of_nick = 19
    print(age_of_nick) # 19
    

    于以上两种变量名的风格,推荐使用下划线的风格。

    常量(掌握)

    变量是变化的量,常亮则是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量。如果非要定义常量,变量名必须大写。

    AGE_OF_NICK = 19
    print(AGE_OF_NICK) # 19
    
    AGE_OF_NICK = 18
    print(AGE_OF_NICK) # 18
    

    如果是常量,那就没必要更改,所以python就只制定了一个规范,而没指定的常量的语法。c语言中有专门的常量定义语法,一旦定义的常量被更改即会报错。

    注释(掌握)

    当你把变量理解透了,你就已经进入了编程的世界。随着学习的深入,用不了多久,你就可以写复杂的上千甚至上万行的代码啦,有写代码你花了很久写出来,过了些天再回去看,发现竟然看不懂了,这太正常了。另外,你以后工作中会发现,一个项目多是由几个甚至几十个开发人员一起做,你要调用别人写的代码,别人也要用你的,如果代码不加注释,你自己都看不懂,更别说别人了,这会挨打的。所以为了避免这种尴尬的事情发生,一定要增加你代码的可读性。

    代码注释分单行和多行注释,单行注释用#,多行注释可以用/双引号,使用三引号注释可以换行。

    #单行注释
    '''
    
    三单引号注释
    
    三单引号注释
    
    '''
    
    """
    
    三双引号多行注释
    
    三双引号多行注释
    
    """
    

    注释的原则

    1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可。
    2. 注释可以使用中文或英文,但不要用拼音。

    内存管理

    变量存哪了?(了解)

    #pl.py
    x = 10
    

    当我们p1.py中定义一个变量 x = 10 ,那么计算机把这个变量值10存放在哪里呢?我们回顾计算机的三大核心组件为:CPU、内存和硬盘。一定不是CPU,那是存放在内存还是硬盘中了呢?我们在回顾变量运行的三个过程,如果我们没有使用python解释器运p1.py这个文件,那么 x = 10 很明显只是很普通的四个字符 x、=、1、0。而只有python解释器运行了这个文件,那么字符进入了内存,才会有变量这个概念。也就是说变量是存放在内存当中的。

    变量存放内存当中这句话太宽泛了,我们把它具体化。现在想象我们在学校(电脑内存)里上课,学校没开一个班,学校都会开辟一个教室给这个班级上课用(存放变量值10),而班级的门牌号则是(变量名x)。也就是说,对于电脑内存这个大内存,没定义一个变量就会在这个大内存中开辟一个小空间,小空间内存放变量值10,然后内存给这个小空间一个变量名x(门牌号),x指向10.

    定义变量的三个特征(掌握)

    对于每个变量,python都提供了这三个方法分别获取变量的三个特征,其中python的内置功能id(),内存地址不一样,则id()后打印的结果不一样,因为每一个变量值都有其内存地址,而id是用来翻译变量值在内存中的位置,内存地址不同则id不同。

    x = 10
    print(x) #获取变量的变量值
    print(id(x)) #获取变量的id,可以理解成变量在内存中的地址
    print(type(x)) #获取变量的数据类型
    

    变量比较(掌握)

    • 判断变量值是否相等用
    name1 = 'egon'
    name2 = 'nick'
    print(name1==name2)  # False
    
    • 判断变量id是否相等
    x = 11
    y = x
    z = 11
    
    print(x == y)  # True
    print(x is y)  # True
    print(x is z)  # True
    
    x = 257
    z = 257
    
    print(x is z)  # False
    

    从上述的打印消息可以看出:id相等的变量,值一定相等,值向的是同一个内存地址;值相等的变量,id不一定相等。

    其中第一次打印print(x is z)的时候就用到了整数池,这可以理解为python的优化机制,11的值本身不大,并且由于我们快速的再一次使用了11,再由于申请内存空间需要计算机报销,因此python让x和z都指向同一个11。因为存在不是目的,取才是目的,这样进行优化的话并不会影响程序的运行。

    千里之行,始于足下。
  • 相关阅读:
    Redis数据库
    python的web运用
    python对 if __name__=='__main__'的理解
    python的函数
    python的四种内置数据结构
    python的循环和选择
    关于oracle设置主键自增的问题
    用HttpClient和用HttpURLConnection做爬虫发现爬取的代码少了的问题
    ORACLE not available如何解决
    集合(下)
  • 原文地址:https://www.cnblogs.com/jincoco/p/10923607.html
Copyright © 2020-2023  润新知