python基础之变量
变量
变量是描述变化的世间万物的状态
height = 180
变量的组成
变量名(接收变量值) =(赋值符号) 变量值(数值)
变量名的命名规范
身高 = 180 # 不建议这样做
weight = 160
name = 'nick'
- 变量名必须由数字/字母/下划线_组成
height_of_nick = 180
- 变量名都具有可读性(意义) 存不是目的,取才是目的
_ = 180
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']
'''
变量名的两种定义方式
height_of_nick = 180 # 下划线式(使用,约定俗成)
print(height_of_nick)
HeightOfNick = 180 # 驼峰体,low,c/java
print(HeightOfNick)
常量
常量:不变的量,常量本质上也是个变量,只不过变量名全大写约定俗成为了常量,以后不要去改变他
age = 18 # 变量
age = age + 1
print(age)
AGE = 18 # 所有字母全大写
AGE = AGE +1 # 18
print(AGE)
python变量内存管理
定义一个变量,内存就开辟一个内存空间存储这个变量
print会自动帮你创建一个变量180,打印完之后,马上释放180的内存空间
print(180)
python环境中,每定义一个变量,内存就开辟一个内存空间存储这个变量,当第一次定义这个变量时,即引用计数为1,后每次重复引用一次计数加1,del会释放引用计数,当引用计数为0时,会释放当前变量的内存占用,触发变量垃圾回收机制。
x = 10 # 10的引用计数为1
y = x # 10的引用计数为2(1+1)
del y # 释放Y 10的引用计数为1 (2-1)
del x # 释放X 10的引用计数为0 (1-1),触发垃圾回收机制
引用计数(针对变量值)
height = 180 # 引用计数加1
x = height # 引用计数加1
del x # 释放的是引用计数,180的引用计数为1
del height # 引用计数为0
引用计数为0时,触发垃圾回收机制,释放内存占用
[-5,256]小整数池在python解释器启动的时候就自动开辟了,所以说他不会受垃圾回收机制的影响,适用于jupyter
pycharm中做了优化,间隔时间短的,无论多大,id都一样
a = 257
b = 257
print(id(a)) # 打印内存地址
print(id(b)) # 打印内存地址
a = 23423423423423423423
b = 23423423423423423423
print(id(a))
print(id(b))
花式赋值
交叉赋值(解压缩)
height_of_nick,height_of_handsome,heigh_of_yongjiu=180,160,170
print(height_of_nick)
print(height_of_handsome)
print(heigh_of_yongjiu)
保证内存地址不变的情况下修改x和y
x = 2000
print('x:',id(x))
y = 1000
print('y:',id(y))
1 中间变量的思想
z = x
x = y
y = z
2 交叉赋值
x,y = y,x
print('y:',id(y)) # 内存地址相同,值一定相同
print('x:',id(x))
3 链式赋值(值相同才能使用)
a=b=c=10
print(a,b,c)
注释
单行注释
解释 ; 让代码在python解释器运行的时候不被解释,即让他无意义
picasso_height = 160 # 毕加索的身高,解释代码的意思
# 打印0-9
for i in range(10):
print(i)
# 多行注释
'''
a = 10
print(a)
'''
pycharm 中,"ctrl +/"用来将代码块进行注释