【python学习】001_变量与基本数据类型

【python学习】001_变量与基本数据类型

一、变量与基本数据类型

1、变量

  • 什么是变量
    • 变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等

1.1、变量的基本使用

  • 原则:先定义,后引用
1
2
name = 'mango'		# 定义------>存
print(name) # 引用------>取

在这里插入图片描述

1.2、内存管理:垃圾回收机制

  • 垃圾:当一个变量值被绑定的变量名的个数为0时,该变量值无法被访问到,称之为垃圾。
  • 引用计数增加
1
2
3
x = 10	# 10的引用计数为1
y = x # 10的引用计数为2
z = x # 10的引用计数为3
  • 引用计数减少
1
2
3
4
5
6
del x  # 解除变量名x与值10的绑定关系,10的引用计数变为2
# print(y) # 10
del y # 10的引用计数变为1
# print(z) # 10
z = 12345 # 10的引用计数变为0
print(z) # 12345

1.3、变量的三大组成部分

  1. 变量名:是指向等号右侧值得内存地址的,用来访问等号右侧的值
  2. 赋值符号:将变量值的内存地址绑定给变量名
  3. 变量值:代表记录的事物的状态

    1.4、变量名命名规范

  • 原则:变量名的命名应该见名知意
  1. 变量名只能是 字母、数字或下划线的任意组合
  2. 变量名的第一个字符不能是数字
  3. 关键字不能声明为变量名
  • PS:不要用拼音,不要用中文,在见名知意的前提下尽可能短

    1.5、变量名的命名风格

  1. 纯小写加下滑线的方式(在Python中,推荐使用这种方式)
    1
    2
    age_of_magno = 18
    print(age_of_mango)
  2. 驼峰体
    1
    2
    AgeOfMango = 18
    print(AgeOfMango)

    1.6、变量值的三个特征

    1
    name = 'mango'
  • id:反映的是变量值得内存地址,内存地址不同,id则不同
    1
    print(id(name))
  • type:不同类型的值用来表示记录不同的状态
    1
    print(type(name))
  • 值:值本身
    1
    print(name)
    在这里插入图片描述

1.7、is与==

  • is:比较左右两个值身份id是否相等
  • ==:比较左右两个值它们的值是否相等
1
2
3
4
x = 'info:Mango:18'
y = 'info:Mango:18'
print(x, y)
print(id(x), id(y))

id不同的情况下,值有可能相同,即两块不同的内存空间里可以存相同的值
id相同的情况下,值一定相同,即 x is y 成立,x == y 也必然成立

在cmd中执行:
在这里插入图片描述

1.8、了解:小整数池[-5,256]

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

1
2
3
4
5
6
7
m = 10
n = 10
id(m)
id(n)

res = 4 + 6
id(res)

在这里插入图片描述

1
2
3
4
5
6
7
x = -5
y = -5
x is y

x = -6
y = -6
x is y

在这里插入图片描述
同理,也适用于字符串:

1
2
3
4
x = 'aaa'
y = 'aaa'
id(x)
id(y)

在这里插入图片描述

1.8、关于pycharm

在pycharm中,小整数池的范围更广,但是在实际工作中还是以原生的纯净的Python解释器为准(即在cmd中运行Python)

1.9、常量

常量:不变的量
注意:Python语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念

1
AGE_OF_MANGO = 18	# 小写字母全部大写代表常量,这只是一种约定、规范
点击查看

本文标题:【python学习】001_变量与基本数据类型

文章作者:Mango

发布时间:2023年08月20日 - 14:54:43

最后更新:2023年08月22日 - 15:05:06

原始链接:https://mango185.github.io/post/3c142be0.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------