Python入门-语法篇
最近整理了一份Python教材,比较基础的部分,放到网上分享下。
程序的基本组成
无论任何语言,程序基本上都是由如下部分组成的:
注释 、缩进、变量、表达式、输入、输出、分支、循环
下面以一段Python程序为例进行说明:
# -*- coding:utf-8-*-
name =
input("输入你的名字:")
if len(name) == 0:
print("Hello world!")
else:
print("Hello {}".format(name))
注释
注释是代码中的说明信息,计算机不执行
注释方法:
单行注释以#开头
多行注释以'''开头和结尾
'''This is comment'''
其实严格来说,Python语言中没有多行注释,三个单引号(或三个双引号)括起来是声明了一个字符串对象。
缩进
Python语言不使用java/c语言中的{} ; ,主要靠缩进表示代码的层次关系
通常一个缩进=4个空格
变量
变量是用于引用对象的标识符
1.变量的主要作用,就是用来存储信息,然后在计算机程序中使用这些信息。
2.通过给变量赋值,将数据与一些能够描述的名字连接起来。
3.变量的值,最终是存储在内存中。
赋值
语法:变量名 = 对象(数值,表达式等)
pi = 3.14
radius = 4
area = pi * radius**2
print(area)
增量赋值运算符
x+=2
x-=2
x*=2
x/=2
x%=2
x**=2
同步赋值
同时给多个变量赋值(先运算右侧N个表达式,然后同时将表达式结果赋给左侧)
<变量1>,......,<变量N> =
<表达式1>,......,<表达式N>
perimeter,area = 2*pi*radius, pi*radius**2
变量命名规则(函数/模块)
任意长度
包含数字、字母、下划线
首字母必须是字母或下划线
大小写敏感
标识符不能是关键字
Python关键字(3.7版)
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
表达式
程序中产生或计算新数据值的一行代码
Python语言的关键字或操作符可产生符合语法的表达式
不改变缩进的前提下,适当增加空格可提高程序可读性。
例如:
name = 'Python'
PI = 3.14
PI*5**2
输入输出函数
标准(键盘)输入
input()函数
input([prompt]) prompt提示语,可以没有
name = input("please input your name:")
标准(控制台)输出
print()函数
print()
print("HelloWorld!")
分支语句
控制程序运行,根据判断条件选择程序执行路径。
if <表达式1成立>:
<表达式组1>
elif <表达式2成立>:
<表达式组2>
......
elif <条件N成立>:
<表达式组N>
else:
<表达式组N+1>
循环语句
控制程序运行,根据判断条件或计数条件确定一段程序的运行次数。
for循环
通用序列迭代器,可遍历任何有序的序列对象内的元素。可用于字符串、列表、元组、其他内置可迭代对象以及我们通过类创建的新对象。
for in :
<表达式组1>
else:
<表达式组2>
sum = 0
for i in range(5):
print(i**2)
sum += i**2
else:
print(sum)
while循环
只要顶端测试一直计算得到真值,就会重复执行一个语句快。当顶端测试为假时,控制权传递给while块后的语句。就是循环主体在顶端测试为真时会重复执行,而如果测试一开始就是假,主体就不会执行。
格式如下:
while <测试条件>:
<语句组1>
else:
<语句组2>
break、continue、pass和循环else
上面介绍了Python中的两种循环结构for和while,下面介绍下几个与循环相关的简单语句:break、continue、 pass和循环else。
break语句的作用是跳出最近所在的循环(跳过整个循环语句)。
continue语句的作用是跳到最近所在循环的开头处(来到循环的首行)。
pass语句什么也不做,只是空占位语句。当语法需要,并且没有任何实用的语句可写时,就用这个。
循环else块只有当循环正常离开时才会执行(也就是没有碰到break语句)。
循环else分句是Python语言特有的,c和java中都没有这种语法。
使用break和continue的循环通常是这样的:
while<循环测试条件>:
if<测试条件1>: break #符合条件就结束循环,跳过else语句块,执行语句组3
if<测试条件2>: continue #符合条件就跳过语句组1,回到while测试循环条件
<语句组1>
else:
<语句组2> #如果while循环结束,并未执行break语句,执行这段
<语句组3>