python 문법 기교 소결
a = 10
b = 100
c = 0
a,c,b = c,b,a
print a
print b
print c
2. lambda 표현 식
f = lambda x,y:x**y
print f(2,3)
그 중에서 x, y 는 매개 변수 이 고 x * y 는 되 돌아 오 는 결과 입 니 다.lambda, python 의 익명 함수, python 에서 coding 에 꼭 필요 한 것 은 아 닙 니 다.그러나 그 는 코드 를 간소화 하여 더욱 아름 답 게 할 수 있다.
3.yield
def yieldTest(arr):
for i in arr:
print i,
msg = yield i
print msg,
def my_iter(arr):
i = 1
yt = yieldTest(arr)
yt.next()
while i < len(arr):
yt.send(",")
i+=1
arr = [1,3,5,7,9,11,13,15,17,19]
my_iter(arr)
yield 는 쉽게 말 하면 생 성기 입 니 다. 생 성 기 는 이러한 함수 입 니 다. 지난번 에 돌아 올 때 함수 체 에 있 었 던 위 치 를 기억 합 니 다.생 성기 함수 에 대한 두 번 째 (또는 두 번 째) n 회) 이 함수 중간 으로 호출 되 었 으 며, 마지막 으로 호출 된 모든 부분 변 수 는 변 하지 않 습 니 다.
생 성 기 는 함수 입 니 다. 함수 의 모든 매개 변 수 는 유 지 됩 니 다.
두 번 째 로 이 함 수 를 호출 할 때 사용 하 는 매개 변 수 는 지난번 에 보 존 된 것 입 니 다.
생 성 기 는 흐름 제어 구조 생 성 기 를 기억 할 뿐만 아니 라 데이터 상 태 를 기억 할 수 있 습 니 다. 생 성 기 는 스 트림 제어 구조 (명령 식 프로 그래 밍 에서 이 구 조 는 데이터 값 만 있 는 것 이 아니 라) 의 위치 도 기억 했다.연속 성 으로 인해 프레임 워 크 를 임의로 뛰 어 넘 을 수 있 습 니 다. 직접 호출 자의 컨 텍스트 (생 성기 처럼) 로 돌아 가지 않 기 때문에 일반적인 것 입 니 다.
4.wraper
def timeit(fn):
import time
def wrap(n):
time.clock()
fn(n)
print "time used:" + str(time.clock())
return wrap
@timeit
def fab(MAX):
n, a, b= 0, 0, 1
while n < MAX:
print b
a, b = b, a+b
n+=1
fab(5)
참조 링크:
http://www.cnblogs.com/coderzh/archive/2010/04/30/python-cookbook-lambda.html(lambda) http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/?cmp=dwnpr&cpb=dw&ct=dwcon&cr=cn_51CTO_dl&ccy=cn(yield) http://www.jb51.net/article/15717.htm(yield) http://blog.jobbole.com/28506/(yield) http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html(wraper) http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html(wraper)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.