基础语法-变量

一、变量

1.1 什么是变量

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

  • 量:记录现实世界中的状态,让计算机能够像人一样去识别世间万物。

今天我可能180,明年我是不是可能就是185了(5cm不过分),那这种状态是不是会发生变化。

  • 变:现实世界中的状态是会发生改变的。
# 身高:160,体重:140,
height = 160
print(height)  # 160
print(160)

1.2 定义变量

变量的组成(规则):

变量名(接收变量值) =(赋值符号) 变量值(数值) # 定义变量

身高 = 180  # 不建议这样做,但是可以这么做(英文差的同学,前期可以这样做)
print(身高)

weight = 160

name = 'randysun'

1.3 命名规范

1. 变量名必须由数字/字母/下划线_组成

  1. 变量名都具有可读性(意义) 存不是目的,取才是目的
  2. 不要使用关键字(具有某种特殊意义的字符)
  3. 变量名的两种定义方式
# 1. 变量名必须由数字/字母/下划线_组成
height_of_randysun = 180  # 下划线只在连接的时候用

# 2. 变量名都具有可读性(意义) 存不是目的,取才是目的
_ = 180
print(_)

# 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_randysun = 180  # 下划线式(使用,约定俗成)
print(height_of_randysun)

HeightOfRandysun = 180  # 驼峰体,low,c/java
print(HeightOfRandysun)

二、 常量

常量:变量是变化的量,常量则是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量。如果非要定义常量,变量名必须全大写。

age = 18  # 变量

age = age + 1
print(age)

AGE = 18  # 所有字母全大写(常量)
print(AGE)

三、 变量内存管理

变量:描述世间万物的动态

每当定义变量运行程序内存就开辟一个内存空间来存储这个变量,会通过引用计数(针对变量的值),height = 180x = height ,每当引用一次变量height引用计数就会加一,使用del x,就会删除 x 引用计数(进行减一)从而释放x的内存空间,del height, 彻底删除变量在内存中占用的内存,应用计数为零时候,就会出发垃圾回收机制,释放内存的占用[-5,256]小整数池,在python解释器启动的时候就自动开辟了,所以说他不会受垃圾回收机制的影响

height = 180  # 定义变量
print(180) # print会自动帮你创建一个变量180,打印完之后,马上释放180的内存空间
# 定义一个变量,内存就开辟一个内存空间存储这个变量
# 引用计数(针对变量值)
# 180的引用计数加1

x = height  # 180的引用计数加1

del x   # 释放的是引用计数,180的引用计数为1

del height # 引用计数为0,

# 引用计数为0时,触发垃圾回收机制,释放内存占用

# [-5,256](小整数池)在python解释器启动的时候就自动开辟了,所以说他不会受垃圾回收机制的影响,适用于jupyter
# [-5,256]用的比较多

# pycharm中做了优化,间隔时间短的,无论多大,id都一样
a = 257
b = 257
print(id(a))  # 打印内存地址
print(id(b))  # 打印内存地址

a = 23423423423423423423
b = 23423423423423423423
print(id(a))
print(id(b))

四、变量三个特征

  1. 获取变量值的内存地址,针对变量值
  2. 数据类型,针对变量值
# 获取变量值的内存地址,针对变量值
print(id(height))  # 1908245568

# 数据类型,针对变量值
print(type(height))  # int类型(integer 整型)

name = 'randy'
print(type(name))  # str类型(string 字符串)


# 打印变量值
print(name)

五、花式赋值

  1. 交叉赋值(解压缩)
  2. 保证内存地址不变的情况下修改x和y
  3. 交叉赋值
# 交叉赋值(解压缩)

height_of_randy,height_of_handsome,heigh_of_laowang=180,160,170
print(height_of_randy)
print(height_of_handsome)
print(heigh_of_laowang)


# 保证内存地址不变的情况下修改x和y
x = 2000
print('x:',id(x))
y = 1000
print('y:',id(y))


# 中间变量的思想
# z = x
# x = y
# y = z


# 交叉赋值
x,y = y,x

print('y:',id(y))  # 内存地址相同,值一定相同
print('x:',id(x))


# x = 1000
# y = 2000
# print('y:',id(y))  # 值相同,内存地址不一定相同
# print('x:',id(x))


# 链式赋值(值相同才能使用)

a = 10
b = 10
c = 10
print(a,b,c)

a=b=c=10
print(a,b,c)

六、注释

  • 注释分为单行注释和多行注释
# 单行注释

# 解释  ;  让代码在python解释器运行的时候不被解释,即让他无意义

# a = 10
# print(a)


picasso_height = 160  # 毕加索的身高,解释代码的意思


# 代码块的解释放到代码上面


# 打印0-9
for i in range(10):
    print(i)

# ctrl+/


# 多行注释
'''
a = 10
print(a)
'''

# 不问目的的抄,编程在你敲代码的时候突然顿悟,永远都不会在你思考的时候顿悟

七、执行Python程序的两种方式

交互式(jupyter)

优点:运行一句执行一句

缺点:关闭即消失

命令行式(pycharm)

优点:一直保存

缺点:全部写完才能调试bug

虽然txt文件可以运行,但尽量用py文件

posted @ 2019-07-29 15:19  RandySun  阅读(275)  评论(0编辑  收藏  举报