6.1.1 变量的概念
初学者在进入编程世界的奇幻森林以后,首先会遇到的障碍是变量。在Python中定义变量很简单,一个变量名,一个等号,一个值,即可定义一个变量:
变量名=值
初学者可以把变量理解为一个容器, 比如在平常生活中见到的瓶瓶罐罐。这些瓶瓶罐罐最主要的用途是盛装物品。
变量既然是一种容器,那么也具备容器的这种特性,在计算机程序中,变量用来存储数据。其次变量是一直在变化的,但变化的是容器里面的数据。例如用来盛装物品的瓶瓶罐罐,瓶瓶罐罐是不会变的,变化的只是瓶子里的物品。在程序中,将变量赋值给其它的变量,就好比将瓶子里的物品转存到其它的瓶子中。关注薯条老师微信公众号[薯条编程],免费领取Python, 爬虫,数据分析,机器学习,深度学习的Python学习资料。
将瓶子里的物品全部转存到其它的瓶子中,原先的瓶子变成了空瓶子。但在计算机程序中,只是将变量指向的值复制一份,并不会清空变量指向的值。
6.1.2 变量的命名
变量名称通常以26个英文字母(大小写皆可), 数字和下划线_进行组合 变量名称的首位字符不能是数字 变量名称不能使用系统预定义的关键字
Python中的关键字是保留给Python使用的,所以不能再使用关键字进行命名。在后文介绍交互模式时,会再进行讲解。在交互模式中执行help("keywords")来查看系统预定义的所有关键字。在Python3中,可以使用汉字等UTF-8字符来为变量进行命名。
name, title, content
1name,?title,while
驼峰式命名法,混合式命名法,下划线式命名法
PriceOfLove
priceOfLove
price_of_love
6.1.3 变量的定义
total = 66
代码中的等号即赋值操作符,total是一个变量,而1314是一个整数对象。同学们要注意,赋值是按从右往左的顺序来赋值,且赋的值是对象的地址。变量在储存了对象的地址以后,就可以通过对象的该地址来引用和操作对象。
在Python中用地址来唯一地标识一个对象。这里的地址,可将其类比为人的身份证编号。我们的身份证编号是唯一的,对象的地址同样是唯一的。
amount = total
上文的赋值是将变量total储存的地址再赋值给变量amount。程序执行后,变量amount与total储存的是相同的地址,也即,它们都在引用对象66。为测试变量amount保存的地址是否与total保存的一致,我们可以调用Python内置的id函数来获取对象的地址:
""" @author: 薯条老师 @desc: 调用id函数获取变量储存的对象地址 """ magic_no = 1314 number = magic_no print(id(magic_no)) print(id(number))
6.1.4 变量存储的是地址
图中的编号即为内存地址。每个格子表示大小为一个字节的内存块。假设值66所在的内存编号为2,那么这个2就是66的内存地址。
total = 66
一:从total这个变量中取出66的内存地址2 二:将66的内存地址2赋值给变量amount
(2) 查看内存地址
在Python中可以通过内置函数id来输出变量或值的内存地址。直接将变量或值作为参数传递给id函数即可。例如:
total = 66 amount = total # 将值作为参数传递给id id(66) # 将变量作为参数传递给id id(amount) id(total)
在6.5节中会介绍Python中的交互模式,届时在交互模式中演示如何通过id函数查看变量或值的内存地址。
6.1.5 最具实力的小班培训
薯条老师在广州有开设线下培训班,小班授课模式,一班最多6个人。也可一对一授课,全程帮助你学好计算机,实现高薪就业。不在广州的同学可提供住宿,也可以报名线上小班,用腾讯会议上直播课。
(1) Python后端工程师高薪就业班,月薪11K-18K,免费领取课程大纲
(2) Python中高级爬虫逆向工程师就业班,月薪15K-25K,包拿Offer
(3) Python数据分析+商业分析+数据科学就业班,企业级项目实战,月薪10K-20K
(4) Python量化交易就业班,A股+期货+数字货币量化,月薪10K-40K
(5) Python机器学习+深度学习算法工程师,月薪20-50K
跟薯条老师学习的学生有拿到花生日记,林氏家居,南方电网,京东, 阿里等公司的offer, 学生的最低薪资有6K,最高薪资有18K, 平均就业薪资有11000。
扫码咨询薯条老师:
已有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 回复
怎么看多少个字节
薯条老师 评论于 2020-10-07 09:50:28 回复
import sys
sys.getsizeof(0)