jinhongquan

\'\'\'
python变量与常量内容:
\'\'\'

# 变量:定义世间万物变化的状态

\'\'\'
height 180
weight 140
age 18
tree_name yuyang
\'\'\'

# print(180)

height = 180
print(\'height:\', height)
weight = 140
print(\'weight:\', weight)
age = 18
print(\'age:\', age)
tree_name = \'yuyang\'
print(\'tree_name:\', tree_name)

# 变量的组成(符合变量名组成就不错)
# 变量名(描述;接收变量值) 赋值符号(赋值,把变量值传给变量名) 变量值(具体的值)


# 变量名的规范
akljfdksl = 10
print(\'akljfdksl:\', akljfdksl)
# 1. 变量名必须要有描述意义
# 2. 变量名由数字/字母/下划线组成,且不能以数字开头
# $ = 10
# print($)
# 10tree = 10
# print(10tree)
# 3. 不能以关键字命名
\'\'\'
[\'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_of_nick = \'nick\'  # 下划线式(建议,必须)

NameOfJason = \'jason\'  # 驼峰体

print(name_of_nick)  # 先定义才能使用,没有引号的就是变量名
# 常量:不变化的量(变量名全大写)

# age = 1
#
# age = age + 1
#
# print(age)


# 常量:不变化是约定俗成的
AGE = 1

AGE = AGE + 1  # 傻屌才做
# 常量:约定俗称的不变化,实际能变化,但是当你强行变化的时候,你第二天就滚蛋了
# python内存管理

# 变量是python解释器提供的概念,运行python的时候才有



# 定义变量并运行 开辟一块新的内存空间存储变量


# 引用计数(针对变量值):变量值的引用次数

# age = 1000  # 1000的引用计数为1
# age1 = age  # 1000的引用计数为2
# del age  # delete删除age,1000的引用计数为1
# print(age1)
# del age1 # 1000的引用计数为0

# 垃圾回收机制:当一个变量值的引用计数为0的时候,会触发垃圾回收机制,改变量值会被回收
#
# # id
# age = 1000
# print(age)  # 打印值
# print(id(age))  # 1507487488变量值的内存地址
# # 小整数池
# age1 = age
# print(id(age1))
#
# # 当python启动的时候,会自动定义[-5,256]之间的整数变量,他们的内存空间已经写死了
#
# age = 10
# age1 = age
# del age
# del age1

# 按理来说因该触发垃圾回收机制,但是由于10属于小整数池,不会触发垃圾回收机制

# 面试的时候可能会问你,这个才能考到你的水平  ---》 gil全局解释器锁


# 变量名用来接收变量值

# 定义变量就要开辟新的内存空间



# pycharm自行做了优化(短频快),pycharm把小整数池范围扩大了
# 打印值
print(age)

# 打印内存地址
print(id(age))

# 打印数据类型()
print(type(age))

分类:

技术点:

相关文章: