10.7 延伸与讨论
1.延伸1.Python的保留关键字
在Python中有一类东西不能作为函数或变量名称来使用,它被称为保留关键字。本章已经介绍了一些保留关键字。在Python3中还有以下保留关键字,我们可以在结果窗口直接输入以下两行命令进行查看:
>>> import keyword
>>> keyword.kwlist
[‘False’,‘None’,‘True’,‘and’,‘as’,‘assert’,‘async’,‘await’,‘break’,‘class’,‘continue’,‘def’,‘del’,‘elif’,‘else’,‘except’,‘finally’,‘for’,‘from’,‘global’,‘if’,‘import’,‘in’,‘is’,‘lambda’,‘nonlocal’,‘not’,‘or’,‘pass’,‘raise’,‘return’,‘try’,‘while’,‘with’,‘yield’]
2.延伸2.Python的基本运算
在Python中存在着不同类型的运算,其优先等级为:算术运算符>位运算符>比较运算符>逻辑运算符。在算术运算过程中,优先顺序为乘方(**)、正负号(+、-)、乘除(*、/)、整除(//)、取余(%)、加减(+、-);在比较运算中,如果是数值则按值比较大小,如果是字符串则按ASCII码值大小进行比较。逻辑运算符有三个,分别是:not、and、or。
3.延伸3.Python的内置函数
本章已经介绍了一些内置函数,如想查看Python的所有内置函数,可以在结果窗口输入dir(__builtins__)进行查看,在其显示结果中,所有以小写字母开头者为Python的内置函数:
[‘abs’,‘all’,‘any’,‘ascii’,‘bin’,‘bool’,‘breakpoint’,‘bytearray’,‘bytes’,‘callable’,‘chr’,‘classmethod’,‘compile’,‘complex’,‘copyright’,‘credits’,‘delattr’,‘dict’,‘dir’,‘divmod’,‘enumerate’,‘eval’,‘exec’,‘exit’,‘filter’,‘float’,‘format’,‘frozenset’,‘getattr’,‘globals’,‘hasattr’,‘hash’,‘help’,‘hex’,‘id’,‘input’,‘int’,‘isinstance’,‘issubclass’,‘iter’,‘len’,‘license’,‘list’,‘locals’,‘map’,‘max’,‘memoryview’,‘min’,‘next’,‘object’,‘oct’,‘open’,‘ord’,‘pow’,‘print’,‘property’,‘quit’,‘range’,‘repr’,‘reversed’,‘round’,‘set’,‘setattr’,‘slice’,‘sorted’,‘staticmethod’,‘str’,‘sum’,‘super’,‘tuple’,‘type’,‘vars’,‘zip’]
4.延伸4.try/except条件执行结构
之前我们看到过一段代码,使用input()和int()函数读取和解析用户输入的整数。想想看其可能的潜在危险是什么?我们并没有强制性的方法保证用户一定输入的是阿拉伯数字。一旦用户输入的不是阿拉伯数字,则计算机在运行到int()时就会出错。因此Python内置了“try/except”条件执行结构,用来解决意料之中和意料之外的错误。当你知道程序可能存在问题时,可以通过try和except进行规避,使程序可以顺利运行结束,而非中断。如果没有出错,这些额外的语句(except语句)则会被计算机忽略掉。以下为华氏度转摄氏度的try/except示例:
inp=input(‘请输入华氏温度:’)
try:
F=float(inp)
C=(F - 32.0)*5.0/9.0
print(C)
except:
print(‘请只输入阿拉伯数字’)
5.延伸5.变量命名规则
变量名不限长度,可以同时包含字母和数字,但是必须以字母开头。可使用大写字母、小写字母或它们的混合,但使用小写字母会更好。下划线可以出现在变量名中,一般用来分割多个单词。下划线也可以出现在变量名的开头,但一般要避免这样使用。另外,不可以使用Python的保留关键字作为变量名称。如果使用不合法的变量名称,程序会做出如下错误提示:SyntaxError:invalid syntax。
6.讨论1.拼接游戏:将下列语句重组成一段逻辑正确的代码:
else:
print(“你怎么猜到的?”)
print(“Game Over!”)
else:
if guess> 5:
print(“真不走运,猜小了”)
print(“但即使对了也没用”)
if guess==5:
print (“真倒霉,猜大了”)
7.讨论2.编写一个程序,让用户输入工时和时薪,如果员工工作时间超过40小时,超出部分按平常薪水的1.5倍支付。然后计算出工资总额。
8.讨论3.尝试将本章温度转换实例中温度数值与温度标识之间的呈现变为:
-标识改变放在温度数值之前:如C12、F78此类
-标识字符改变为多个字符:12Ce、78Fa此类
想一想对应转换代码需要做哪些修改?