python基础之变量

python基础之变量

变量

变量是描述变化的世间万物的状态

height = 180

变量的组成

​ 变量名(接收变量值) =(赋值符号) 变量值(数值)

变量名的命名规范

身高 = 180  # 不建议这样做
weight = 160
name = 'nick'
  1. 变量名必须由数字/字母/下划线_组成
height_of_nick = 180 
  1. 变量名都具有可读性(意义) 存不是目的,取才是目的
_ = 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 +/"用来将代码块进行注释

posted @ 2019-07-29 16:18  SweetJack  阅读(140)  评论(0编辑  收藏  举报