4、Python语法之变量

一 引入

我们学习Python语言是为了控制计算机、让计算机能够像人一样去工作,所以在Python这门语言中,所有语法存在的意义都是为了让计算机具备人的某一项技能,这句话是我们理解后续所有Python语法的根本。

二 变量

一、什么是变量?

变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等。

二、为什么要有变量?

为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的。详细地说,程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。

三、怎么使用变量(先定义、后使用)

3.1、变量的定义与使用

变量的定义由三部分组成,如下图:

定义变量示范如下:

name = 'amgulen' # 记下人的名字为'amgulen' sex = '男' # 记下人的性别为男性 age = 18 # 记下人的年龄为18岁 salary = 30000.1 # 记下人的薪资为30000.1元

解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,以变量的定义age=18为例,如下图:

通过变量名即可引用到对应的值。

# 通过变量名即可引用到值,我们可以结合print()功能将其打印出来 print(age) # 通过变量名age找到值18,然后执行print(18),输出:18

3.2、变量名的命名规范

变量名的命名应该见名知意。

# 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age age = 18 # 如果我们要存储的数据18代表的是一个人的等级,那么变量名推荐命名为level level = 18

其他详细规范如下:

# 命名规范 1. 变量名只能是字母、数字或下划线的任意组合 2. 变量名的第一个字符不能是数字 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'] # 错误示范如下: *a=123 $b=456 c$=789 2_name='lili' 123='lili' and=123 年龄=18 # 强烈建议不要使用中文命名 # 正确示范如下 age_of_jason=31 page1='首页' _class='终极一班'

3.3、变量名的命名风格

# 风格一:驼峰体 AgeOfTony = 56 NumberOfStudents = 80 # 风格二:纯小写下划线(在Python中,变量名的命名推荐使用该风格) age_of_tony = 56 number_of_students = 80

3.4、变量值的三大特性

1、id
反应的是变量在内存中的唯一编号,内存地址不同id肯定不同

2、type
变量值的类型

3、value
变量值

查看变量值三大特性的方式如下,我们将会在运算符中用到变量值的三大特性:

>>> x='Info Tony:18' >>> id(x),type(x),x 4376607152,<class 'str'>,'Info Tony:18'

三、常量

3.1、什么是常量?

常量指在程序运行过程中不会改变的量。

3.2、为什么要有常量?

在程序运行过程中,有些值是固定的、不应该被改变,比如圆周率 3.141592653...

3.3、怎么使用常量?

在Python中没有一个专门的语法定义常量,约定俗成是用全部大写的变量名表示常量。如:PI=3.14159。所以单从语法层面去讲,常量的使用与变量完全一致。


__EOF__

本文作者amgulen
本文链接https://www.cnblogs.com/amgulen/p/13879029.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   阿木古冷  阅读(323)  评论(1编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示