#e1.3TempConvert.py def tempConvert(ValueStr): if ValueStr[-1] in ['F','f']: C = (eval(ValueStr[0:-1]) - 32) / 1.8 print("转换后的温度是{:.2f}C" .format(C)) elif ValueStr[-1] in ['C','c']: F = 1.8*eval(ValueStr[0:-1]) + 32 print("转换后的温度是{:.2f}F" .format(F)) else: print("输入格式错误") TempStr = input("请输入带有符号的温度值:") tempConvert(TempStr)
实例代码1.1和1.2都是由一个序列表达式组成,程序按照顺序执行方式从头到尾执行。实际编程中,一般将特定功能代码编写在一个函数里面,便于阅读和复用,也使得程序模块化更好。函数可以理解为对一组表达特定功能表达式的封装,它与数学函数类似,能够接收变量并输出结果。input()、print()、eval()都是Python解释器的内置函数。经过函数改造后的温度转换程序如上述实例代码1.3所示。
实例1.3第2行用def保留字定义了一个名为tempConvert()的函数,它使用一个参数ValueStr。tempConvert()函数所属代码是第二行后与之有缩进关系的代码,即第3到10行。在这些代码中,ValueStr变量作为输入函数的字符串使用。由def保留字定义的函数在程序中不被直接执行,需要使用函数名称调用才能执行。
由于第11行没有缩进,它与第2行是平行关系,程序第1行到第10行不直接执行,而从第11行开始执行,并接收用户输入存到变量TempStr中。第12行调用tempConvert()函数,并将TempStr当作参数传递给函数内部变量ValueStr。接下来,程序根据tempConvert()函数定义执行函数内容,完成温度转换功能。
简单来说,程序代码1.3通过def语句定义了tempConvert()函数,并将原有功能封装在这个函数中,语句调用tempConvert()函数函数执行这些功能。函数是代码编写者最重要的封装方式,可以辅助代码按照功能划分模块,有利于代码之间进行语句块级别的复用。