我心中的王者:Python-第2章 认识变量与基本数学运算
本章将从基本数学运算开始,一步一步讲解变量的使用与命名,接着介绍Python的算术运算。
2-1 用Python做计算
假设读者到麦当劳打工,一小时可以获得120元时薪,如果想计算一天工作8小时,可以获得多少工资?我们可以用计算器执行“120 ×8”,然后得到执行结果。在Python Shell,可以使用下列方式计算。
如果一年实际工作天数是300天,可以用下列方式计算一年所得。
如果读者一个月花费是9000元,可以用下列方式计算一年可以存储多少钱。
上述笔者先计算一年的花费,再将一年的收入减去一年的花费,可以得到所存储的金额。本章笔者将一步一步推导应如何以程序观念,处理一般的运算问题。
2-2 认识变量
变量是一个暂时存储数据的地方,对于2-1节的内容而言,如果你今天获得了调整时薪,时薪从120元调整到125元,如果想要重新计算一年可以存储多少钱,你将发现所有的计算将要重新开始。为了解决这个问题,我们可以考虑将时薪设为一个变量,未来如果有调整薪资,直接更改变量内容即可。
在Python中可以用“=”等号设定变量的内容,在这个实例中,我们建立了一个变量x,然后用下列方式设定时薪。
如果想要用Python列出时薪资料可以使用print( )函数。
如果今天已经调整薪资,时薪从120元调整到125元,那么我们可以用下列方式表达。
注 在Python Shell环境,也可以直接输入变量名称获得执行结果。
一个程序是可以使用多个变量的,如果我们想计算一天工作8小时,一年工作300天,可以赚多少钱,假设用变量y存储一年工作所赚的钱,可以用下列方式计算。
如果每个月花费是9000元,我们使用变量z存储每个月花费,可以用下列方式计算每年的花费,我们使用a存储每年的花费。
如果我们想计算每年可以存储多少钱,我们使用b存储每年所存储的钱,可以使用下列方式计算。
上述我们很顺利地使用Python Shell计算了每年可以存储多少钱,可是上述使用Python Shell做运算潜藏最大的问题是,只要过了一段时间,我们可能忘记当初所有设定的变量是代表什么意义。因此在设计程序时,如果为变量取个有意义的名称,未来看到程序时,可以比较容易记得。下列是笔者重新设计的变量名称:
- 时薪:hourly_salary,用此变量代替x,每小时的薪资。
- 年薪:annual_salary,用此变量代替y,一年工作所赚的钱。
- 月支出:monthly_fee,用此变量代替z,每个月花费。
- 年支出:annual_fee,用此变量代替a,每年的花费。
- 年存储:annual_savings,用此变量代替b,每年所存储的钱。
如果现在使用上述变量重新设计程序,可以得到下列结果。
相信经过上述说明,读者应该了解变量的基本意义了。
2-3 认识程序的意义
延续上一节的实例,如果我们时薪改变、工作天数改变或每个月的花费改变,所有输入与运算皆要重新开始,而且每次皆要重新输入程序代码,这是一件很费劲的事,同时很可能会输入错误,为了解决这个问题,我们可以使用Python Shell打开一个档案,将上述运算存储在档案内,这个档案就是所谓的程序。未来有需要时,再打开重新运算即可。
程序实例ch2_1.py: 使用程序计算每年可以存储多少钱,下列是整个程序设计。
# ch2_1.py
hourly_salary = 125
annual_salary = hourly_salary * 8 * 300
monthly_fee = 9000
annual_fee = monthly_fee * 12
annual_savings = annual_salary - annual_fee
print(annual_savings)
执行结果
192000
未来我们时薪改变、工作天数改变或每个月的花费改变,只要适度修改变量内容,就可以获得正确的执行结果。
2-4 认识注释的意义
上一节的程序ch2_1.py,尽管我们已经为变量设定了有意义的名称,其实时间一久,常常还是会忘记各个指令的内涵。所以笔者建议,设计程序时,适度地为程序代码加上注释。在1-9节已经讲解注释的方法,下列将直接以实例说明。
程序实例ch2_2.py: 重新设计程序ch2_1.py,为程序代码加上注释。
# ch2_2.py
hourly_salary = 125 # 设定时薪
annual_salary = hourly_salary * 8 * 300 # 计算年薪
monthly_fee = 9000 # 设定每月花费
annual_fee = monthly_fee * 12 # 计算每年花费
annual_savings = annual_salary - annual_fee # 计算每年储存金额
print(annual_savings) # 列出每年储存金额
执行结果 与ch2_1.py相同。
相信经过上述注释后,即使再过10年,只要一看到程序也可轻松了解整个程序的意义。
2-5 Python变量与其他程序语言的差异
许多程序语言变量在使用前需要先定义,Python对于变量的使用则是可以在需要时,再直接设定使用。有些程序语言在定义变量时,需要设定变量的数据类型,Python则不需要设定,它会针对变量值的内容自行设定数据类型。
2-6 变量的命名原则
Python对于变量的命名有一些规则要遵守,否则会造成程序错误。
- 必须由英文字母、_(下画线)或中文字开头,建议使用英文字母。
- 变量名称只能由英文字母、数字、_(下画线)或中文字所组成。
- 英文字母大小写是敏感的,例如,Name与name被视为不同变量名称。
- Python系统保留字(或称关键词)或Python内置函数名称不可当作变量名称。
注 虽然变量名称可以用中文字,不过笔者不建议使用中文字,是怕将来也许有兼容性的问题。
下列是不可当作变量名称的Python系统保留字。
下列是不可当作变量名称的Python系统内置函数,若是不小心将系统内置函数名称当作变量,程序本身不会错误,但是原先函数功能会丧失。
实例1: 下列是一些不合法的变量名称。
sum,1 # 变量不可有“,”
3y # 变量不可由阿拉伯数字开头
x$2 # 变量不可有“$”符号
and # 这是系统保留字不可当作变量名称
实例2: 下列是一些合法的变量名称。
SUM
_fg
x5
总和
实例3: 下列3个代表不同的变量。
SUM
Sum
sum
2-7 基本数学运算
2-7-1 四则运算
四则运算是指加( + )、减( - )、乘( × )和除( / )。
实例1: 下列是加法与减法运算实例。
实例2: 乘法与除法运算实例。
2-7-2 余数和整除
余数(mod)所使用的符号是“%”,可计算出除法运算中的余数。整除所使用的符号是“//”,是指除法运算中只保留整数部分。
实例1: 余数和整除运算实例。
2-7-3 次方
次方的符号是“ ** ”。
实例1: 平方、次方的运算实例。
2-7-4 Python语言控制运算的优先级
Python语言碰上计算式同时出现在一个指令内时,除了括号“ (”、“)”最优先外,其余计算优先次序如下。
①次方。
②乘法、除法、求余数(%)、求整数(//),彼此依照出现顺序运算。
③加法、减法,彼此依照出现顺序运算。
实例1:Python语言控制运算的优先级的应用。
2-8 赋值运算符
常见的赋值运算符如下:
实例1: 赋值运算符的实例说明。
2-9 Python等号的多重指定使用
使用Python时,可以一次设定多个变量等于某一数值。
实例1: 设定多个变量等于某一数值的应用。
Python也允许多个变量同时指定不同的数值。
实例2: 设定多个变量,每个变量有不同值。
当执行上述多重设定变量值后,甚至可以执行更改变量内容。
实例3: 将2个变量内容交换。
上述原先x, y分别设为10, 20,但是经过多重设定后变为20, 10。
2-10 删除变量
程序设计时,如果某个变量不再需要,可以使用del指令将此变量删除,相当于可以收回原变量所占的内存空间,以节省内存空间。删除变量的格式如下:
del变量名称
实例1: 验证变量名称回收后,将无法再使用。此例,尝试输出已删除的变量,然后程序出现错误信息。
2-11 Python的断行
2-11-1 一行有多个语句
在Python是允许一行有多个语句,彼此用“;”隔开即可,尽管Python有提供此功能,不过笔者不鼓励如此撰写程序代码。
程序实例ch2_3.py: 一行有多个语句的实例。
# ch2_3.py
x = 10
print(x)
y = 20;print(y) # 一行有2个叙述不过不鼓励这种写法
执行结果
10
20
2-11-2 将一个语句分成多行
在设计大型程序时,常会碰上一个语句很长,需要分成2行或更多行撰写,此时可以在叙述后面加上“\”符号,Python解释器会将下一行的语句视为这一行的语句。特别注意,在“\”符号右边不可加上任何符号或文字,即使是注释符号也不允许。
另外,也可以在语句内使用小括号,如果使用小括号,就可以在语句右边加上注释符号。
程序实例ch2_4.py: 将一个语句分成多行的应用。
# ch2_4.py
a = b = c = 10
x = a + b + c + 12
print(x)
# 续行方法1
y = a +\
b +\
c +\
12
print(y)
# 续行方法2
z = ( a + # 此处可以加上批注
b +
c +
12 )
print(z)
执行结果
42
42
42
标签:运算,王者,Python,annual,实例,下列,变量
From: https://blog.csdn.net/andyyah/article/details/140585655