注册 登录
Python基础教程

第一章: 环境搭建,安装Python

第二章: 挑选一款趁手的IDE

第三章: 计算机基础知识

第四章: 命令行基础知识

第五章: 从全局把握Python

第六章: Python语言基础

第七章: Python流程控制

第八章: Python数据类型与运算

第九章: Python字符串类型

第十章: Python列表类型

第十一章: Python元祖类型

第十二章: Python字典类型

第十三章: Python集合类型

第十四章: Python函数处理

第十五章: Python文件处理

第十六章: Python面向对象

第十七章: Python异常处理

第十八章: Python模块处理

第十九章: Python项目实战

首页 > Python基础教程 > 第六章: Python语言基础 > 6.1节: 变量的定义与命名

6.1节: 变量的定义与命名

薯条老师 2020-04-21 15:10:59 209886 5

编辑 收藏

广州番禺Python, Java小班周末班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人,学员的平均就业薪资有11K。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习。培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析,Python量化投资,Python机器学习,Java中高级后端开发。授课详情请点击:http://chipscoco.com/?cate=6

6.1.1 变量的概念

初学者在进入编程世界的奇幻森林以后,首先会遇到的障碍是变量。在Python中定义变量很简单,一个变量名,一个等号,一个值,即可定义一个变量:
变量名=值
但是把变量理解得清清楚楚,却要费一番功夫。
那么,变量到底是什么?
初学者可以把变量理解为一个容器, 比如在平常生活中见到的瓶瓶罐罐。这些瓶瓶罐罐最主要的用途是盛装物品。变量既然是一种容器,那么也具备容器的这种特性,在计算机程序中,变量用来存储数据。其次变量是一直在变化的,但变化的是容器里面的数据。例如用来盛装物品的瓶瓶罐罐,瓶瓶罐罐是不会变的,变化的只是瓶子里的物品。在程序中,将变量赋值给其它的变量,就好比将瓶子里的物品转存到其它的瓶子中。

image.png

将瓶子里的物品全部转存到其它的瓶子中,原先的瓶子变成了空瓶子。但在计算机程序中,只是将变量指向的值复制一份,并不会清空变量指向的值。

6.1.2 变量的命名

(1) 命名规则
人有其名,变量亦如是。变量如果没有名称,那么在程序中无法进行引用。例如同时定义了两个未命名的变量,在代码中如何对匿名变量进行引用,就是一个问题。人的姓名,有其约定俗成的取名规则,通常以姓氏和名字来进行取名。编程语言中的变量,同样有它的一套命名规则。Python语言中变量的命名规则:
变量名称通常以26个英文字母(大小写皆可), 数字和下划线_进行组合 变量名称的首位字符不能是数字 变量名称不能使用系统预定义的关键字

Python中的关键字是保留给Python使用的,所以不能再使用关键字进行命名。在后文介绍交互模式时,会再进行讲解。在交互模式中执行help("keywords")来查看系统预定义的所有关键字。在Python3中,可以使用汉字等UTF-8字符来为变量进行命名。

变量名须遵守编程语言中的命名规则,否则无法运行。合法的变量名并不代表是一个好的变量名。一个好的变量名,通常使用英文单词来进行命名,不宜过长,须有一定的含义,可读性较强。不注意变量的命名,甚至随意命名,这是初学者的通病。
(2) 命名举例
合法的变量名:
name, title, content
非法的变量名:
1name,?title,content*
在这三个非法的变量名中,第一个变量名的首字符是数字,第二个变量名中的首字符是非法字符,第三个变量名中包含了非法字符。此外,这里有一个很重要的细节,变量名在Python中是区分大小写的,这意味着Name与name表示的是不同的变量。
(3) 命名风格
在追求多元化的后现代主义中,“个性自由”,“自成体系”,“批判权利”成了追随者的一系列独特标签。但在团队开发中,追求多元化却经常导致混乱。使用统一的命名风格,能提升项目代码的整体可读性,可读性愈强,则项目愈容易维护。常用的三种变量命名风格:
驼峰式命名法,混合式命名法,下划线式命名法
在驼峰式命名法中, 单词的首字母都为大写。
大驼峰式命名法举例:
PriceOfLove
在小驼峰式命名法中,变量的首个单词全为小写,其它单词的首字母都为大写.
小驼峰式命名法举例:
priceOfLove
而所谓的下划线命名法,即是以下划线将单词连接起来,单词一般为小写。
下划线命名法举例:
price_of_love
在Python中,变量名通常采用小写形式,大驼峰式命名法则用来对类类型进行命名。更多的命名规范,感兴趣的读者可以参考著名的PEP8规范

6.1.3 变量的定义

在程序中使用变量,需要先对变量进行定义,否则在程序运行过程中会抛出“变量未定义”的错误异常。在Python中定义变量很简单,使用=号定义变量,例如:
total = 66
在上文的变量定义中,变量名为total,值为66。在进行变量定义时,可以使用已定义的变量来为其它变量进行赋值,例如:
amount = total
在上文的变量定义中,Python会先取出变量total保存的值,然后将值赋值给amount。这里的“值”在CPython中是内存地址。CPython是Python的一种解释器,我们使用的Python,无特殊说明的话,通常指的是CPython。

6.1.4 变量存储的是地址

(1) 理解内存地址
所谓内存的地址,其实质是一个编号。在计算机中,可将内存视为一个很大的字节数组,这个数组从0开始按序进行了编号。下图是内存在计算机中的逻辑结构:

1588231872(1).jpg


图中的编号即为内存地址。每个格子表示大小为一个字节的内存块。假设值66所在的内存编号为2,那么这个2就是66的内存地址。

total = 66
变量total实质保存的是值66的内存地址:2。将变量total赋值给变量amount时,Python主要做了以下两步:
一:从total这个变量中取出66的内存地址2
二:将66的内存地址2赋值给变量amount
最终变量total和amount保存的都是同一个内存地址,也就是说,它们指向的是同一块内存中的数据。

image.png



(2) 查看内存地址

在Python中可以通过内置函数id来输出变量或值的内存地址。直接将变量或值作为参数传递给id函数即可。例如:

total =  66
amount = total
# 将值作为参数传递给id
id(66)
# 将变量作为参数传递给id
id(amount)
id(total)

在6.5节中会介绍Python中的交互模式,届时在交互模式中演示如何通过id函数查看变量或值的内存地址。

6.1.5 最具实力的小班培训

薯条老师在广州做Python和Java的小班培训,一个班最多10人。不在广州的同学可以报名线上直播班,跟线下小班的同学们同步学习打算参加小班培训的同学,必须遵守薯条老师的学习安排,认真做作业和项目。把知识学好,学扎实,那么找到一份高薪的工作就是很简单的一件事。

(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪11K-20K, 免费领取课程大纲
(4) Python大数据分析,量化投资就业班,月薪12K-25K,免费领取课程大纲

扫码免费领取Python学习资料:

扫码领学习资料.jpg



已有5位薯条发表了看法:

  • 访客

    访客  评论于 2020-05-04 16:54:49  回复

    是定义还是赋值 有点懵 在python中每个变量必须要有初始值吗?通过值确定变量类型?

    • 薯条老师

      薯条老师  评论于 2020-05-05 14:45:10  回复

      既是定义也是赋值,如果定义时未赋初值,Python解释器会将其视为一个未定义的变量。

  • 访客

    访客  评论于 2020-07-02 04:27:37  回复

    太好了!

  • 访客

    访客  评论于 2020-07-10 14:22:06  回复

    怎么看多少个字节

欢迎 发表评论:

请登录

忘记密码我要注册

注册账号

已有账号?请登录