Python 变量常量

变量相关

定义使用

变量就是计算机用来记录事物状态变化过程的东西,这里最主要的一点就是变,它是允许变化的。

绝大部分的编程语言关于变量的定义都分为三部分:

img

以下示例中,将演示如何准确的为一个变量进行赋值。

name = "yunya"  # 记录姓名
age = 18		# 记录年龄
height = 1.92	# 记录身高

当变量命名完成之后,则可进行使用,一定要记住变量必须先定义后使用。

name = "yunya"
age = 18
height = 1.92

print("这位同学的名字是%s,\n他的年龄是%d,\n他的身高是%d米."%(name,age,height))

如果进行在变量为进行定义时使用,则会抛出异常。

print("这位帅哥的名字是:",name)
name = "yunya"

# NameError: name 'name' is not defined

命名规范

​ 下面是一些变量的命名规范:

变量名应当见名知意

变量名由数字,字母,下划线组成。并且开头不能为数字。

变量名不能使用Python中的关键字(关键字:是指某些具有特殊功能的单词,如break)

​ 错误的示范:

$name = 'yunya'  # 具有特殊字符
1year = 365      # 数字开头
*_size = 1024    # 具有特殊字符
and = 123        # 使用了关键字      

年级 = 3          # 强烈不建议使用中文(占用内存大 
(color) = 'red'  # 虽然这种命名方式可行但是也极为不推荐

​ 正确的示范:

name = 'yunya'
__age = 18      # Python中 双下划线开头的变量名一般有隐私的这种说法
page_1 = '首页'

命名风格

​ 下面介绍几种常用的变量命名方式:

YunyaAge = 18      # 驼峰式  (驼峰式在Python中并不常用但是也并非完全不能使用,风格因人而异)
yunya_name = "云崖"    # 小写加下划线  (Python中更推荐使用的变量命名方式)
myClass = "三年级二班"    # Camel标记法 (首字母是小写的,接下来的字母都以大写字符开头。)
sMyClass = "三年级一班"    # 匈牙利类型标记法 (前面的小写字母为变量类型)

常量相关

常量定义

​ 常量用于存储一些不允许被改变的值,比如PI,3.1415926535897... 再比如人眼睛的个数总是2个一样。这些都可以使用常量来进行存储,但是很遗憾Python自带的数据类型中没有常量这一说法。故在Python中有一个约定的章法,对于一些常量的值。在命名方式上会采取全部大写的方式

​ 常见的一些场景:

PI = 3.1415926535897     #圆周率
NUM_OF_EYES = 2  #眼睛个数
SEX = "男"  #性别

赋值相关

赋值操作

​ 进行赋值操作后,Python解释器内部做了那些事情?

name = "yunya"  # 记录姓名
age = 18		# 记录年龄
height = 1.92	# 记录身高

​ 当Python解释器进行逐行解释到有赋值操作时,会在内存空间(堆内存)中申请一块地方存放该变量值,并且会在内存空间(栈内存)中申请一块地方存放该值的标识符即变量名。再将标识符和值的内存地址做一个绑定(不是双向唯一性,而是一对多。一个变量值可以被多个变量名引用,一个变量名只能绑定一个内存地址),这种绑定的关系也存在于栈内存,可以这么理解,变量名存储的并非变量值,而是变量值的内存地址。

img

多次赋值

​ 当一个标识符进行多次赋值操作,他会将原本绑定的内存地址进行解绑,在与新的内存地址进行绑定。

​ 而旧的值则会被垃圾回收机制进行回收。

x = 1
x = 2
print(x)  # 2

img

相关方法

id()

​ 使用id()函数可拿到标识符在内存中对应值的地址号。

name = "yunya"
print(id(name))  # 2933298725640

type()

​ 使用type()函数可获取到该标识符对应的值的数据类型。

name = "yunya"
print(type(name))  # <class 'str'>

del

​ 使用del跟上标识符名字,将对该标识符所关联的内存地址进行解绑操作,同时也会取消该标识符的定义。

name = "yunya"
del name
print(name)  # NameError: name 'name' is not defined
posted @ 2020-10-18 22:14  云崖君  阅读(140)  评论(0)    收藏  举报