首页 > 其他 > 详细

变量与基本数据类型

时间:2020-03-04 15:35:34      阅读:41      评论:0      收藏:0      [点我收藏+]

一、变量

  1、定义:变是指可变化,量是指事物的状态,所以变量即是指事物的可变状态,比如年龄,性别,数量等。

  2、作用:为了让计算机像人一样去记忆事物的某种可变状态,程序的执行,本质上就是一系列的状态变化,变化的结果是程序执行的直接体现,所以引用变量来反映并保存这种变化。

  3、用法:

    ①基本使用原则:先定义,再引用。

name = tom  # 定义name
age = 18  # 定义age
print(name)  # 输出name
print(age)  # 输出age

 

    ②内存管理之垃圾回收机制:

      Ⅰ:垃圾的定义:一个变量被绑定的变量名的个数称为引用计数,当引用计数为0时,该变量无法被访问到,称为垃圾。

      Ⅱ:引用技术的增加与减少:

a = 10  # 值10的引用计数变为1
b = a  # 值10的引用计数变为2
c = b  # 值10的引用计数变为3
del a  # 解除变量名a与值10的绑定关系,值10的引用计数变为2
del b  # 解除变量名b与值10的绑定关系,值10的引用计数变为1
c = 20 # 把变量名c与值20建立新的绑定关系,原来与值10的绑定关系解除,值10的引用计数变为0,此时值10作为垃圾被回收移出内存空间

    ③变量的三大组成部分:

      Ⅰ:变量名:指向等号右侧变量值的内存地址,用来访问该变量值。

      Ⅱ:赋值符号:即等号,将变量值的内存地址绑定给变量名。

      Ⅲ:变量值:记录事物的状态。

    ④变量名的命名规则:

      Ⅰ:原则:变量名应该见名知意,在此前提下,变量名应尽可能精短。

      Ⅱ:组成:变量名只能由字母,数字,下划线任意组合而成,但第一个字符不能是数字。

      Ⅲ:关键字:程序已经事先定义好的功能,因而不能声明为变量名,如,print,and,break...等等。

      Ⅳ:纯小写与下划线的组合:如,age_of_tom,在python中,是比较常见的命名方式,比较推荐。

      Ⅴ:驼峰体:如,AgeOfTom。

      Ⅵ:不良命名形式:虽然使用汉语拼音或汉字作为变量名,从语法层面并不会报错,但是会显得代码不专业,应尽量避免使用。

    ⑤变量值的三个特征:

      Ⅰ:id:一个变量值对应一个id,映射了变量值的内存地址,内存地址不同则id不同。

      Ⅱ:type:表示变量值的类型,不同类型的值j记录不同的状态。

      Ⅲ:value:变量值本身。

    ⑥is与==:

      Ⅰ:is:比较左右两个值的id是否相同。

      Ⅱ:==:比较左右两个值本身是否相同。

      Ⅲ:总结:id不同的情况下,值有可能相同,即两块不同内存空间里可以存相同的值。而id相同的情况下,值一定相同。即,a is b 成立,则 a == b 必然成立。

a = ab  #将‘ab‘赋值给a
b = ab  #将‘ab‘赋值给b,此时a与b的值相同,但是id不同
print(a == b)  #结果为True
print(a is b)  #结果为False

    ⑦:小整数池:

      Ⅰ:含义:在python解释器启动的同时,会在内存中申请好一部分空间存放常用的整数(-5~256)。

      Ⅱ:用途:所有值为相同整数的变量的id均指向同一个内存空间,避免了常用整数对内存空间的重复占用。

a = 10  # 将值10赋值给a
b = 10  # 将值10赋值给b
print(a is b)  # 结果为True,说明a与b的id相同,即指向内存同一个空间
c = -10  # 将值-10赋值给c
d = -10  # 将值-10赋值给d
print(c is d)  # 结果为False,说明c与d的id不同,因为值-10超出了小整数池的范围

    ⑧常量:

      Ⅰ定义:不变的量。

      Ⅱ:python中的常量:在python的语法中没有常量的概念,但是在程序的开发中会涉及常量的使用。

      Ⅲ:命名规范:将变量名的小写字母全部大写通常代表常量,但只是一种约定,本质上与一般变量名并无区别。如,AGE_OF_TOM。

 

二、练习

      

 

 

     

        

 

 

 

 

 

      

 

变量与基本数据类型

原文:https://www.cnblogs.com/caoyu080202201/p/12409573.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!