零基础入门:一文看懂Python变量和赋值语句

2023-01-03 0 1,077

编者按:在责任编辑中,你会教给怎样处置位数、表述与采用表达式和自变量,和撰写采用那些正则表达式继续执行前述各项任务的单纯流程。

译者:凯·霍斯特曼(Cay Horstmann),贝尔·尼贝尔(Rance Necaise)

如需转发请联络华章科技

当你的流程继续执行排序时,须要把值储存留下来以期前面采用。在Python流程中采用表达式来储存值。责任编辑你会教给怎样表述和采用表达式。

为的是模拟表达式的用语,他们会撰写两个化解上面难题的流程:在售的软饮品通常分成绿水和绿水。在零售店里,一袋6个12USDJPY的绿水饮品与两个2升的绿水饮品单价那样,你如果买别的?(对固体来说,12USDJPY相等于0.355升。)

零基础入门:一文看懂Python变量和赋值语句

▲哪两个包涵更多的绿?6个12USDJPY的绿水包,却是两个2升的绿水?

在他们的流程中,会表述表达式来则表示一袋中罐的数目和Kangra的表面积,接着他们会排序两个6罐包的表面积(以升为基层单位),因此输入标准答案。

01 表述表达式

在排序机流程中,表达式是两个储存边线,每一表达式都有英文名字因此包涵两个值。

表达式近似于车库的两个车位。车位保有两个URL(比如“J053”),因此能可容两辆运输工具。表达式保有两个英文名字(比如cansPerPack),因此能储存两个值(比如6)。

零基础入门:一文看懂Python变量和赋值语句

▲近似于排序机流程中的表达式,两个车位保有两个URL和两个内容

零基础入门:一文看懂Python变量和赋值语句

▲表达式

采用表达式句子把两个值存入表达式,比如:

cansPerPack = 6

表达式句子的左边是两个表达式,右边是两个可排序得到某个值的表达式,表达式的值将会被储存到该表达式中。

第一次给表达式表达式时,会创建表达式并采用那个值进行初始化。表述之后,该表达式就能在另两个句子中采用了,比如:

print(cansPerPack)

会输入cansPerPack表达式中储存的值。

如果两个已表述的表达式被赋新值,新的值会替换掉该表达式中已经储存的值,比如:

cansPerPack = 8

会把表达式cansPerPack中储存的6改变为8。图2-1模拟了上面的表达式句子。

零基础入门:一文看懂Python变量和赋值语句

▲图2-1 继续执行两个表达式句子

符号=并不则表示左右相等,而是则表示右边的值被放置到左边表达式的储存空间中。

一定不要混淆表达式运算符和算术中则表示相等的符号=。表达式是用来完成某个各项任务的指令——通常来说,就是把两个值存入一个表达式。

比如,在Python中,上面的句子是合法的

cansPerPack = cansPerPack + 2

第2个句子则表示查询表达式cansPerPack中的值,加上2,再把结果存入表达式cansPerPack(见图2-2)。这个句子的作用是把表达式cansPerPack中的值增加2。如果继续执行该句子前表达式cansPerPack中的值是8,那么会变成10。当然,数学表达式x = x + 2是没有意义的,没有值会和自身加2相等。

零基础入门:一文看懂Python变量和赋值语句

▲图2-2 继续执行表达式句子cansPerPack = cansPerPack + 2

02 位数类型

排序机处置则表示信息的数据,而那些数据可能是不同类型的。前述上,Python中的每一值都属于两个特定的类型。两个值的正则表达式决定了数据在排序机中怎样则表示和能够对该数据进行什么样的操作。语言本身提供的正则表达式被称作基本正则表达式。Python支持大量的正则表达式:位数、字符串、文件、容器,等等。流程员也能表述自己的自表述正则表达式

在Python中,有几种不同类型的位数。整数是两个完全不包涵小数部分的位数。比如,每一袋中必须包涵整数个易拉罐—你无法保有小数个易拉罐。在Python中,这个类型叫作int。当须要小数部分时(比如位数0.355),他们采用浮点数,在Python中叫作float。

在Python流程中出现的6或0.355这样的数值,被称作位数自变量。如果两个位数自变量有小数点,则被称作浮点数,否则被称作整数。表2-1说明了怎样在Python中写整数和浮点数自变量。

零基础入门:一文看懂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

遵循这样的约定,你能为自己和他人提供信息,在整个流程中全部大写的URL是自变量。

在流程中采用具名自变量来解释数值是两个好的编程风格。比如,比较句子

totalVolume = bottles * 2

totalVolume = bottles * BOTTLE_VOLUME

阅读第一条句子的时候可能无法理解位数2的含义,而第二条句子采用具名自变量使得排序非常清晰。

05 注释

当流程越来越复杂时,你如果增加注释,用来向人类阅读者解释代码。比如,上面的注释解释了自变量的值:

CAN_VOLUME = 0.355 # 12USDJPY易拉罐有多少升

这个注释为人类阅读者解释了位数0.355的含义。解释器根本不会继续执行注释,它会忽略从#符号开始到行尾的任何东西。

提供注释是两个好的习惯。这会帮助阅读你的代码的流程员理解你的意图。因此,你会发现注释对回顾和检验自己的代码也是非常有帮助的。

现在你已经了解了表达式、自变量、表达式句子和注释的内容,他们就能开始撰写化解本章开始难题的流程了。流程显示两个6绿水易拉罐包的容积和两个6罐包和两个2升绿水的总容积。他们采用自变量则表示易拉罐和瓶子的容积,表达式totalVolume被初始化为易拉罐的容积。采用表达式句子把瓶子的容积增加上去。正如流程输入所显示,6罐包装包涵2升以上的绿水。

##

# 这个流程排序两个6绿水包绿水易拉罐的容积(以升为基层单位)和1个6绿水包和1个2升绿水的总容量。

#

# 1个12USDJPY的易拉罐和1个2升瓶有多少升

CAN_VOLUME = 0.355

BOTTLE_VOLUME = 2.0

# 每包的易拉罐数目

cansPerPack = 6

# 排序易拉罐的总容积

totalVolume = cansPerPack * CAN_VOLUME

print(“A six-pack of 12-ounce cans contains”, totalVolume, “liters.”)

#排序易拉罐和2升绿水的总容积

totalVolume = totalVolume + BOTTLE_VOLUME

print(“A six-pack and a two-liter bottle contain”, totalVolume, “liters.”)

流程运行结果

A six-pack of 12-ounce cans contains 2.13 liters.

A six-pack and a two-liter bottle contain 4.13 liters.

关于译者: 凯·霍斯特曼(Cay Horstmann) ,圣何塞州立大学排序机科学系教授,Java的倡导者,经常在开发人员会议上发表演讲。他是《Java核心技术》的译者,同时也关注Python、Scala、C++等语言,为专业流程员和排序机科学专业学生撰写过数十本图书。

贝尔·尼贝尔(Rance Necaise) 兰道尔夫-麦肯学院排序机科学系副教授,撰写了《Data Structures and Algorithms Using Python》和《Python for Java Programmers》等技术书籍。

责任编辑摘编自《Python程序设计(原书第2版)》,经出版方授权发布。

零基础入门:一文看懂Python变量和赋值语句

延伸阅读《Python流程设计(原书第2版)》

推荐语:专为Python初学者打造的进阶教材,讲解清晰实用,案例丰富有趣。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务