赋值语句的左边是一个变量,右边是一个可计算得到某个值的表达式,表达式的值将会被存储到该变量中。
第一次给变量赋值时,会创建变量并使用那个值进行初始化。定义之后,该变量就可以在另一个语句中使用了,例如:
print(cansPerPack)
会输出cansPerPack变量中存储的值。
如果一个已定义的变量被赋新值,新的值会替换掉该变量中已经存储的值,例如:
cansPerPack = 8
会把变量cansPerPack中存储的6改变为8。图2-1演示了上面的赋值语句。
▲图2-1 执行两个赋值语句
符号=并不表示左右相等,而是表示右边的值被放置到左边变量的存储空间中。
**一定不要混淆赋值运算符和算术中表示相等的符号=。**赋值是用来完成某个任务的指令——一般而言,就是把一个值存入一个变量。
例如,在Python中,下面的语句是合法的
cansPerPack = cansPerPack + 2
第2个语句表示查询变量cansPerPack中的值,加上2,再把结果存入变量cansPerPack(见图2-2)。这个语句的作用是把变量cansPerPack中的值增加2。如果执行该语句前变量cansPerPack中的值是8,那么会变成10。当然,数学表达式x = x + 2是没有意义的,没有值会和自身加2相等。
▲图2-2 执行赋值语句cansPerPack = cansPerPack + 2
02 数字类型
计算机处理表示信息的数据,而这些数据可能是不同类型的。实际上,Python中的每个值都属于一个特定的类型。一个值的数据类型决定了数据在计算机中如何表示以及能够对该数据进行什么样的操作。语言本身提供的数据类型被称作基本数据类型。Python支持大量的数据类型:数字、字符串、文件、容器,等等。程序员也可以定义自己的自定义数据类型。
在Python中,有几种不同类型的数字。整数是一个完全不包含小数部分的数字。例如,每一包中必须包含整数个易拉罐—你无法拥有小数个易拉罐。在Python中,这个类型叫作int。当需要小数部分时(例如数字0.355),我们使用浮点数,在Python中叫作float。
在Python程序中出现的6或0.355这样的数值,被称作数字常量。如果一个数字常量有小数点,则被称作浮点数,否则被称作整数。表2-1说明了如何在Python中写整数和浮点数常量。
▲表2-1 Python中的数字常量
Python中的变量可以存储任意类型的数值,数据类型与值相关联,而不是与变量相关联。例如,考虑使用整型数值初始化的变量:
taxRate = 5
同一个变量稍后可以拥有一个float类型的值:
taxRate = 5.5
它甚至可以包含一个字符串:
taxRate = “Non-taxable” # 不推荐这么用
然而,这并不是一个好主意。如果你使用这个变量并且该变量中包含一个意料之外的类型的值,你的程序会出错。一旦你使用一个特定类型的值初始化了某个变量,你应该注意保持它的类型不变。
例如,因为税率不一定是整数,使用浮点数初始化变量taxRate是个好主意,即使它恰好是个整数:
taxRate = 5.0 #税率可以含有小数部分
这会帮你记住变量taxRate可能会有小数部分,即使初始值并没有小数部分。
03 变量名
当定义变量时,你需要给它起一个名字来解释其用途,在Python中起名时必须要遵循一些基本原则:
- 必须以字母或下划线(_)开头,并且其他的字符必须是字母、数字或下划线。
- 不能使用?或%之类的符号,空白字符也不允许出现在名字之内。你可以使用大写字母表示单词边界,就像cansPerPack。这种命名规则叫作驼峰规则,因为名字中间的大写字母看上去很像骆驼的驼峰。
- 名字对大小写敏感,也就是说,canVolume和canvolume是不同的名字。
- 不能使用if或class这样的保留字作为名字,这些保留字在Python中有特殊的含义。
这些是Python语言的硬性规定,另外还有两条应该遵守的规则可以提高你的品味和编程习惯:
- 最好使用描述性的名字,例如cansPerPack就比cpp这样缩写的名字好很多。
- 大多数Python程序员使用小写字母开头的变量名(例如cansPerPack)。与此相反,使用仅包含大写字母的名字(例如CAN_VOLUME)表示常量。另外,大写字母开头的名字一般用来表示用户自定义的类型(例如GraphicsWindow)。
下文给出了Python中合法和非法的变量名。
- canVolum1:变量名包含字母、数字和下划线。
- x:在数学公式中可以使用x或y这样短的变量名。这在Python中是合法的,但是并不常见,因为这会使得程序难以理解(见编程小提示2.1)。
- CanVolume:**注意:**变量名是大小写敏感的。这个变量名与canVolume不同,并且违反了变量名应以小写字母开头的约定。
- 6pack:**错误:**变量名不能以数字开头。
- can volume:**错误:**变量名中不能含有空格。
- class:**错误:**不能使用保留字作为变量名。
- 1tr/f1.oz:**错误:**不能使用.或/这样的符号。
04 常量
常量是指指定了初始值后,其值不应该再改变。一些语言允许程序员显式地标记常量,并且在你试图修改常量的值时会产生语法错误。Python由程序员自己保证常量的值不被改变。所以,常量名全部大写是一个惯例。
BOTTLE_VOLUME = 2.0
MAX_SIZE = 100
遵循这样的约定,你可以为自己和他人提供信息,在整个程序中全部大写的标识符是常量。
在程序中使用具名常量来解释数值是一个好的编程风格。例如,比较语句
totalVolume = bottles * 2
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!