程序由模块构成
模块包含语句
语句包含表达式
表达式建立并处理对象
一、Python语句
语句 角色 列子
赋值 创建引用 a,b,c='good','bad','ok'
调用 执行函数 log.write('diege,test\n')
print 打印对象 print 'the shell is python!'
if/elif/else 选择动作 if "python" in text:
print text
for/else 序列迭代 for x in mylist:
print x
while/else 一般循环 while X > Y:
print 'hello'
pass 空占位符 while Ture:
pass
break,continue 循环跳跃 while True:
if not line: break
try/except/finally 扑捉异常 try:
action()
except:
print 'action error'
raise 触发异常 raise endSearch,location
import,from 模块读取 import sys
from sys import stdin
def,return,yield 创建函数 def f(a,b,c=1,*d):
return a+b+c+d[0]
def gen(n):
for i in n,yield i*2
class 创建对象 class subclass(Superclass)
staticData=[]
global 命名空间 def function():
global x,y
x='new'
del 删除引用 del data[k] del data[i:j] del obj:attr del variable del 函数
exec 执行代码字符串 exec "import sys"
exec cod in gdict,ldict
assert 调试检查 assert X > Y
with/as 环境管理(2.6) with open('data') as myfile
process(myfile)
二、语法
1、相对其他语言减少了什么
减少小括号()
减少;
减少大括号 {}
2、相对其他语言增加了什么 ?
增加强制缩进 ,让代码更加具有可读写性
一般使用四个空格或者一个tabn缩减。
一层次的语句,具有相同的缩进 。
3、代码块特殊实例
1)使用;
>>> x=2
>>> y=1
>>> if x>y:print x
只有当复合语句本身不包含任何复合语句才可以使用;
或者简单的赋值 打印 函数调用
>>> a=1;b=2;print a+b
2)使用反向跨行
只要使用括号把扩行语句扩起来 {},[],()
>>> mylist=[
... [1,2,3],
... [4,5,6],
... [7,8,9]]
>>> a,b,c=1,2,3
>>> d=(a+
... b
... +c)
>>> d
6
3、一个简单的循环
while True:
reply=raw_input('Enter text:')
if reply == 'stop':break
print reply.upper()
4、对用户输入做数学运算
终端输入 raw_input后数据是字符,需要转换为数字
while True:
reply=raw_input("Enter text:")
if reply=='stop':break
print int(reply) ** 2
5、用测试输入数据来处理错误
上一个例子输入数字会报错 ,需要对输入的数据进行判断
while True:
reply=raw_input("Enter text:")
if reply=='stop':
break
elif not reply.isdigit():
print "Bad!"*8
else:
print int(reply) ** 2
print "Bye!"
输入的的数据不是数字类型会提示bad
6、使用try处理错误
使用try语句,用它来捕捉并完全复原错误。
while True:
reply=raw_input("Enter text:")
if reply=='stop':break
try:
num=int(reply)
except:
print "Bad!"*8
else:
print int(reply) ** 2
print "Bye!"
try关键字后面跟代码主要代码块(我们尝试运行的代码),再跟except部分,给异常处理器代码。再给else部分,如果try部分没有引发异常
,就运行else部分的代码。
Python会先运行try部分,然后运行except部分(如果有异常),
或else部分(如果没有异常发生)