break语句
>>> i=1
>>> while i%3:
print(i,end='')
if i>=10:
break
i+=1
12
continue语句
自定义函数
#输出素数
from math import sqrt
def isprime(x):
if x == 1:
return False
k = int(sqrt(x))
for j in range(2, k+1):
if x % j == 0:
return False
else:
return True
for i in range(2,201):
if isprime(i):
print(i,end=' ')
#默认参数
def f(x,y=True):#默认参数要放到参数最后
'vb'
if y:
print(x,'fg')
print(x,'ok')
>>> f(68)
68 fg
68 ok
>>> f(68,False)#默认参数可以改
68 ok
#关键字参数
def f(x,y):
'vb'
if y:
print(x,'fg')
print(x,'ok')
>>> f(68,False)
68 ok
>>> f(y=False,x=68)#允许改变参数列表中的参数顺序
68 ok
>>> f(y=False,68)
SyntaxError: positional argument follows keyword argument
传递函数
>>> def addMe2Me(x):
'vdfb'
return x+x
>>> addMe2Me(5)
10
lamdba函数
#lambda函数是匿名函数
>>> r=lambda x:x+x
>>> r(5)
10
递归函数
#斐波那契数列
def fib(n):
if n==0 or n==1:
return n
else:
return fib(n-1)+flb(n-2)
#模拟加法实现乘法
>>> def f1(a,b):
if b==1:
return a
else:
return a+f1(a,b-1)
>>> 3+f1(3,4)
15
#十进制转成二进制
>>> def f2(n):
if n>=2:
f2(n//2)
print(n%2,end=' ')
>>> f2(8)
1 0 0 0
变量作用域
>>> globle_str='he'#全局变量
>>> def foo():
local_str='wo'#局部变量
return globle_str+local_str
>>> foo()
'hewo'
#更改全局变量
>>> def f(x):
global a
print(a)
a=5
print(a+x)
>>> a=3
>>> f(8)
3
13
>>> print(a)
5