一团网资讯
一团资讯 > python > python学习笔记(二)流程控制 函数
python学习笔记(二)流程控制 函数
2017-08-16 12:05:32 发布者:来源网络
python学习笔记(二)
流程控制
if...else...elif
例子:
if 1>2:
print 'AAAA'
-------------------------------
if 1>2:
print 'AAAA'
else:
print 'BBBB'
--------------------------------
if 1>2:
print 'AAAA'
elif 1>0:
print 'BBBB'
else:
print 'CCCC'
----------------------------------
if 2>1:
print 'AAAA'
print 'BBBB'
输出:AAAA
BBBB
-----------------------------------
if 2<1:
print 'AAAA'
print 'BBBB'
输出:BBBB
if中缩进代表运行的范围
逻辑运算符
and / or / not
for
for x in 'abcde':
print x
输出:
a
b
c
d
e
range(start, stop[, step]) 生成序列
range(10) 产生 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
range(5,9) 产生 [5, 6, 7, 8]
range(1,10,2) 2为步进,产生 [1, 3, 5, 7, 9]
例子:
for x in range(10):
print x,'AAAA'
会输出10次x+AAAA
python中与c语言不一样循环也可以加else
for x in range(5):
print x
else:
print 'end'
输出完后输出 end
for x in range(5):
print x
if x>2:
break
else:
print 'end'
但这样end不会输出
break返回,continue继续,pass占位,代码庄
便利序列及字典
便利序列
例子:
a=['a','b','c','d','d']
for x in range(len(a)):
print a[x]
或者
for x in a:
print x
便利字典:
a={1:'a',2:'b',3:'c',4:'d',5:'d'}
for x in a:
print x
会输出字典的key
for x in a:
print a[x]
可以输出value
for x,y in a.items():
print x,y
用items()生成键值对的序列
x就是key,y就是value
while
例子:
i=0
while i<10:
print i
i+=1
输出0到9
while也可以加else
i=0
while i<10:
print i
i+=1
else:
print 'end'
输出0~9后会输出end,同样break出来else的内容不会执行
函数
函数的定义
定义实现a+b
例子:
def add(a=1,b=2):
return a+b
print add()
输出5
可以定义默认形参
def add(a=1,b=2):
print a+b
add()
输出3
* 与 **
*表示是元组或者列表
**表示是字典
def add(a,b):
return a+b
t=(1,2)
print add(t)
这样会出错
如果改成 print add(*t) 不会出错
如果add(1,2,3,4)多写了两个参数也会出错
定义成
def add(a,b,*args):
return a+b
就不会出错,args就是一个元组存放多余的参数这里args就是(3,4)
def f(name='name',age='0'):
print "name:%s, age:%s" %(name,age)
f(*('wang','18'))
f(*('18','wang'))
会输出:
name:wang, age:18
name:18, age:wang
def f(name='name',age='0'):
print "name:%s, age:%s" %(name,age)
f(name='wang',age='18')
f(age=18,name='wang')
这两个f函数都会输出name:wang, age:18 而不会输出name=18, age=wang
这样就
def f(name='name',age='0'):
print "name:%s, age:%s" %(name,age)
a={'age':'18','name':'wang'}
f(**a)
可显示name:wang, age:18
def f(name='name',age='0',*args,**kwargs):
#print "name:%s, age:%s" %(name,age)
print kwargs
f(x='x',y='y')
可显示 {'y': 'y', 'x': 'x'}
lambda表达式
def add(x,y):
return x+y
g = lambda x,y:x+y # lambda表达式,等价于add
print add(1,2)
print g(1,2)
reduce
用reduce实现阶乘
def f(x,y):
return x*y
l=range(1,6)
print reduce (f,l) #reduce每次取2个
[ 责任编辑:来源网络 ]