2.3 Python基本语法
2.3.1 第一个Python程序
本节我们以两个简单的实例程序,介绍Python程序的构成和基本语法规则。
【例2.1】 计算圆的面积。
# example1.1
pi=3.1415926 #定义常量pi
r=int(input("请输入圆的半径:")) #输入圆的半径
s=pi*r*r #计算圆的面积
print("半径为",r,"圆的面积为:",s #输出计算结果
程序运行结果如下:
>>>
==== RESTART: C:\Users\Python\example1.1.py ====
请输入圆的半径:25
半径为 25 圆的面积为: 1963.4953750000002
>>>
说明:
(1)程序的功能是输入圆的半径,计算圆的面积;
(2)代码中input()是输入函数,返回用户输入并赋值给变量r;
(3)int()函数用来将输入的字符转换为数值;
(4)s=pi*r*r,用表达式计算圆的面积,这里的“=”是赋值运算;
(5)print()是输出函数,用来显示计算结果。
2.3.2 基本语法规则
1.注释
注释用来在程序中对语句、运算等进行说明和备注。适当的添加注释语句可以很好地增加程序的可读性,同时也便于代码的调试和纠错。
Python中用“#”符号表示单行注释,用“'''”(3个单引号)表示多行注释。注释语句仅是说明性文字,不会作为代码而被执行。在IDLE窗口中,注释语句以红色或绿色文字标出,用以区别代码部分。
2.标识符
标识符用来表示常量、变量、函数、对象等程序要素的名字。【例1.1】中变量r用来存放圆的半径,变量s用来存放圆的面积,它们都是表示变量名字的标识符。
给变量命名时,可以使用任何能够明确说明该数据特征、用途、性质的标识符,可以包括由字母、数字、下划线或汉字组成的字符串。标识符要符合下面的命名规则:
(1)首字符必须是字母或下划线;
(2)中间可以是字母、下划线、数字或汉字,不能有空格;
(3)区分大小写字母(大写S和小写s代表了不同的两个变量);
(4)不能使用Python的关键字。
3.关键字
关键字(Keyword)又称保留字,是Python系统内部定义和使用的特定标识符。每种程序设计语言都有自己的关键字。Python 3中关键字如下:
>>> import keyword
>>> print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', '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']
>>>
4.强制缩进
Python最具特色的就是使用缩进来表示代码块,不需要使用大括号“{}”。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
如【例1.2】中的if分支语句:
if d>=0: #判断是否有实根
x1=(-b+d**0.5)/(2*a)
x2=(-b-d**0.5)/(2*a)
print('方程的根:x1=%f,x2=%f'%(x1,x2))
else:
print('input data Error!')
以下代码由于最后一行语句缩进的空格数不一致,将会导致程序的运行错误:
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False") # 缩进不一致,会导致运行错误
以上程序由于缩进不一致,执行后会出现类似下面的错误:
File "test.py", line 6
print ("False")
IndentationError: unindent does not match any outer indentation level
5.多行语句
Python 通常是一行写完一条语句,但如果语句过长,可以使用反斜杠“\”来实现多行语句。例如:
total=item_one + \
item_two + \
item_three
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠“\”,例如:
total=['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
6.同一行显示多条语句
Python可以在同一行中使用多条语句,语句之间使用分号“;”分割。例如:
>>> import sys; x='runoob'; sys.stdout.write(x + '\n')
相当于分别执行了三行命令,代码输出结果为:
goodday
8
章节测验:

