python 开发 -- 01变量

Posted FikL-09-19

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 开发 -- 01变量相关的知识,希望对你有一定的参考价值。

一.注释

1.什么是注释

注释就是注解说明

2.怎么使用注释

  • 对整个文件注释
"""
注释1
注释2
注释3
对整个文件做一个整体的描述
"""
  • 对关键信息注释
# [注解的信息]
print("Hello word!")  # [注解的信息]
#  可以写在代码的开头的后面
#  如果代码太长尽量不要写后面
  • 批量加注释
#   "Ctrl + ?" (将鼠标选中的行全部注释掉)
# print("123")
# print("123")
# print("123")

二.变量

1.什么是变量

  • 变: 事物的状态都是变化的
  • 量: 记录下事物的状态
  • 变量是一种存取内存的机制

2.为何要用变量

  • 变量的意义在于为了让计算机像人一样记下事物的状态

3.如何使用变量

原则:

  • 先定义
  • 后引用
#错误示例
print(x)
x = 1

4.变量的三大组成部分

  • 变量名 : 用来访问变量的值(相当于一个门牌号)
  • 赋值符号 : 把值的内存地址绑定给变量名
  • 变量值 : 记录事物的状态, 即存数据

5.变量名命令规则

  • 大前提 : 见名知意 : 如: age = 18, level = 20
  • 由字母,数字,下划线组成
  • 不能以数字开头
  • 不能使用****语言的关键字

6.命名风格

  • 纯小写加下划线
age_of_mm = 21
hight_of_mm = 173
  • 驼峰体
AgeOfmm = 21
HightOfmm = 174

7.总结

# 1.变量的三大组成部分
变量名:用来找值
赋值符合:讲变量值的内存地址绑定给变量名
变量值:就是我们存储的数据,或者说是记录事物的状态

# 2.整个变量定义过程是这样的:
先在内存中申请内存空间用来存放变量值,将内存空间的内存地址绑定给变量名。

# 3.变量名命名的大前提:变量名的命名应该是见名知意

# 4.命名的规范:
4.1有字母,数字,下划线组成。
4.2.不能以数字开头
4.3.不能用 关键字

# 5.命名风格
驼峰体:首字母是大写不用下划线LeveLfAge = 18
纯小写加下划线(在中,变量名的命名推荐使用该风格)level_of_age =18

# 6.变量的值具备三大特性
6.1 id,反应的是变量在内存中的唯一编号,内存地址不同id肯定不同
如果两个变量的id一样,说明它们位于相同的内存地址。
is:判断id(内存地址)是否相等
==:判断内存地址是否相等
注意:如果id相等,那么值一定相等。

6.2、type,变量值的类型
6.3、value,变量值

三.变量的使用

1.定义变量

age = 18
level = 10
name = "mm"

2.引用变量

print(age)
print(name)

3.变量名所在位置的意义

#  变量名在左边代表赋值
age = 18

#  左边的是赋值,右边的是取值
age = age + 1  # age = 18+1 = 19

四.变量的两大特征

  • id : 变量值的身份证, 反应的是内存地址

  • type : 变量值的类型

#  一个变量的"id"和"type"
x = "aaa"
print(id(x))  #2282514548400
print(type(x))  #<class 'str'>

#  "id"一样,代表内存地址一样,指向的是同一个内存空间,值一定一样
x = 10
y = 10
print(id(x))  #140724873359904
print(id(y))  #140724873359904
print(type(x))  #<class 'int'>
print(type(y))  #<class 'int'>

五.变量值的判断

  • is : 表示"id"和值一样, 其实就是同一个值

  • “==” : 表示值一样, "id"可以不一样, 也就是说不同的内存空间可以放相同的值

x = 10
y = 10
print(x is y)  #True
print(x == y)  #True(判断值是否相等)

六.小整数池

1.在交互式模式下

  • 实现 int 的时候有个小整数池
  • 为了避免因创建相同的值而重复申请内存空间所带来的效率问题
  • 解释器会在启动时创建出小整数池,范围是**[-5,256]**
  • 该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被 GC 回收
#  "-5~256"都是同一个池子里拿的,所以内存地址相同
>>> y=4
>>> id(y)
4297641184
>>> 
>>> x=3
>>> x+=1
>>> id(x)
4297641184

2.在 pycharm

  • 但在pycharm中运行程序,pycharm出于对性能的考虑,会扩大小整数池的范围
  • 其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了
  • 我们只需要记住这是一种优化机制,至于范围到底多大,无需细究

六.常量

  • 不变的量(比如圆周率:π)

  • 一般用大写字母表示(但在里还是能改变)

AGE_OF_HAHA = 78
level_OF_HAHA = 100

七.垃圾回收机制 GC

  • 引用计数

x = 18  #18被引用了一次,计数为1
y = x   #18 被引用了两次,计数为2
  • 循环引用

#  循环引用----->存在着内存泄漏的漏洞, 需要清除标记
  • 分代回收

y = 20  #18的引用减1,计数为1
del x   #18的引用减1,计数为0

八、快捷键补充

 
ctrl + d         # 复制

ctrl + x         # 剪切

ctrl + v         # 粘贴

ctrl + /         # 注释

shift + tab      # 回退4个空格

tab              # 缩进4个空格

分代回收

y = 20  #18的引用减1,计数为1
del x   #18的引用减1,计数为0

八、快捷键补充

 
ctrl + d         # 复制

ctrl + x         # 剪切

ctrl + v         # 粘贴

ctrl + /         # 注释

shift + tab      # 回退4个空格

tab              # 缩进4个空格

以上是关于python 开发 -- 01变量的主要内容,如果未能解决你的问题,请参考以下文章

Python学习总结

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

你如何在 python 中处理 graphql 查询和片段?

python 开发 -- 01变量

每个 Python 开发者必备的5款 VScode 拓展工具包!

python入门基础知识01