首先给出实例——温度转换的代码:
#TempConvert.py
TempStr = input("请输入带有符号的温度值:”)
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32 )/1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C','c']:
F = 1.8*eval(TempStr[0:-1]) + 32
print("转换后的温度是{:.2f}F".format(F))
else:
print("输入格式错误")
针对这10行代码,下面进行语法分析,并且尽量同我之前学过的C/C++语法进行对比:
1 .缩进
与C/C++不同的是,缩进在python中是严格规定的,是语法的一部分。而且要求程序中的同层级的缩进空格数相同,通常可以用一个tab键进行缩进。
2.注释(以上述实例的注释为例)
- 单行注释:以#开头
python | C/C++ |
---|---|
#TempConvert | //TempConvert |
- 多行注释:以’‘’开头和结尾
(这个用表格表示不太明显,我就用代码表示了。)
#python
'''TempConvert'''
// C/C++
/*TempConvert*/
3.命名(标识符)
- 组成
python | C/C++ |
---|---|
大小写字母、数字、下划线、汉字 | 大小写字母、数字、下划线 |
- 首字符:二者首字符都不能是数字
4.保留字(关键字)
注意一个位置:True、False、None三个都是首字母大写,其他均为小写。
5.语句和函数
对于语句:python中的语句结尾没有;
(分支语句和循环语句在第二章再总结。)
对于函数:针对上述出现的三个函数进行分析。
-
输入函数input
格式:<变量> = input(<提示信息字符串>)
需要注意的是,input返回的是字符串。 -
输出函数print
格式:print(<拟输出字符串或字符串变量>)
(print函数的格式化后面再总结) -
评估函数eval:去掉参数最外侧引号并执行余下语句的函数
下面给出几个实例:
eval(“1”)=>1
eval(“1+2”)=>3
eval(’“1+2”‘)=>‘1+2’
我目前的理解是,需要将字符串进行运算的时候是需要用到eval函数的。
6.其他
下面看这两行代码:
if TempStr[-1] in ['F','f']:
C = (eval(TempStr[0:-1]) - 32 )/1.8
在python中里对于字符串来说,可以用单引号或双引号表示字符串,而C/C++中单引号只表示字符。
- 字符串的序号
则:TempStr[0]表示这个字符串的第一个字符,Tempstr[-1]表示这个字符串的倒数第一个即最后一个。
- 字符串切片
如上述TempStr[0:-1]表示从第一个字符到倒数第二个字符的切片
设有i,j两个变量,则:
[i:j]表示从i->j-1的切片
[i:]表示i到末尾的切片
[:j]表示从第一个到j-1的切片
可以看成是一个左闭右开的区间 - 列表数据类型
[‘f’,‘F’]即为两个字符组成的一个列表数据类型。
if TempStr[-1] in [‘f’,‘F’]:用于判断这个字符是否与列表中的一个字符相同,相同则为True,否则为False。