Python 공부 의 날 4
교체 기: 교체 기 는 집합 요 소 를 방문 하 는 방식 이다.교체 기 대상 은 모든 요소 가 접근 이 끝 날 때 까지 집합 하 는 첫 번 째 요소 부터 접근 합 니 다.교체 기 는 앞으로 만 후퇴 하지 않 을 수 있 지만, 이것 도 아무것도 아니다. 왜냐하면 사람들 은 교체 도중에 후퇴 하 는 일이 매우 적기 때문이다.또 교체 기의 큰 장점 은 전체 교체 과정 에서 모든 요 소 를 미리 준비 하 라 고 요구 하지 않 는 다 는 것 이다.교체 기 는 특정한 요소 로 교체 할 때 만 이 요 소 를 계산 하 는데 그 전이 나 그 후에 요 소 는 존재 하지 않 거나 소 멸 될 수 있다.이 특징 은 몇 개의 G 파일 과 같은 거대 하거나 무한 한 집합 을 옮 겨 다 니 는 데 특히 적합 하 다.
특징:
>>> a = iter([1,2,3,4,5,])
>>> a
<list_iterator object at 0x0000013D1A8082E8>
>>> a.__next__()
1
>>> a.__next__()
2
>>> a.__next__()
3
생 성기: 한 함수 가 호출 될 때 교체 기 를 되 돌려 줍 니 다. 이 함 수 는 생 성기 라 고 합 니 다. 함수 에 yield 문법 이 포함 되 어 있 으 면 이 함 수 는 생 성기 가 됩 니 다.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
def cash_money(amount):
while amount>0:
amount -= 100
yield 100
print(' !')
a = cash_money(500)
print(type(a))
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
print(a.__next__())
실행 결과:
< class' generator '> 100 왔 어!100 왔 어?100 왔 어?100 왔 어?100
장식 기:
장식 기 라 는 부분 은 어떻게 사용 하 는 지 대충 알 수 있 지만 어떤 것 인지 정리 하기 어렵 습 니 다. 제 이해 로 는 원 코드 를 바 꾸 지 않 고 원 함 수 를 포장 하고 확장 하 며 수요 에 따라 원 함수 에 더 많은 기능 을 추가 하 는 것 으로 정의 합 니 다.
단순 장식 기 구현:
def login(func):
def inner(arg):
print("passed user verification...")
func(arg)
return inner
def home(name):
print("welcome %s to home page"%name)
@login # @ , login ,
def tv(name):
print("welcome %s to TV page"%name)
def movie(name):
print("welcome %s to movie page"%name)
tv("alex")
실행 결과:
passed user verification...welcome alex to TV page
복잡 장식 기 구현:
def Before(request,kwargs):
print('before')
def After(request,kwargs):
print('after')
def Filter(before_func,after_func):
def outer(main_func):
def wrapper(request,kargs):
before_result = before_func(request,kargs)
if(before_result != None):
return before_result;
main_result = main_func(request,kargs)
if(main_result != None):
return main_result;
after_result = after_func(request,kargs)
if(after_result != None):
return after_result;
return wrapper
return outer
@Filter(Before, After)
def Index(request,kargs):
print('index')
Index("alex","abc")
실행 결과:
beforeindexafter
재 귀: 재 귀 알고리즘 은 자신의 알고리즘 을 직접 또는 간접 적 으로 호출 하 는 과정 이다.컴퓨터 컴 파일 러 에서 재 귀 알고리즘 은 큰 문 제 를 해결 하 는 데 매우 효과 적 입 니 다.
귀속 알고리즘 이 문 제 를 해결 하 는 특징:
(1) 재 귀 는 과정 이나 함수 에서 자신 을 호출 하 는 것 이다.
(2) 재 귀 전략 을 사용 할 때 반드시 명확 한 재 귀 종료 조건 이 있어 야 하 며 재 귀 출구 라 고 부른다.
(3) 재 귀 알고리즘 은 문 제 를 푸 는 것 이 간결 해 보이 지만 재 귀 알고리즘 은 문 제 를 푸 는 운행 효율 이 비교적 낮다.그래서 일반적으로 귀속 알고리즘 으로 프로그램 을 설계 하 는 것 을 제창 하지 않 는 다.
(4) 재 귀적 호출 과정 에서 시스템 은 각 층 의 반환 점, 부분 변수 등 을 위해 스 택 을 열 어 저장 했다.재 귀 횟수 가 너무 많 으 면 스 택 이 넘 치기 쉽다.그래서 일반적으로 귀속 알고리즘 으로 프로그램 을 설계 하 는 것 을 제창 하지 않 는 다.
요청:
1. 매번 호출 할 때마다 규모 가 줄어든다 (보통 반 으로 줄어든다).
2. 서로 인접 한 두 번 의 반복 사이 에 밀접 한 관 계 를 가진다. 첫 번 째 는 다음 을 위해 준비 해 야 한다 (보통 앞의 출력 은 다음 의 입력 으로 한다).
3. 문제 의 규모 가 매우 큰 시간 에 재 귀적 호출 을 하지 않 고 직접 해답 을 제시 해 야 하기 때문에 매번 재 귀적 호출 은 조건 이 있다 (규모 가 직접 해답 의 크기 에 이 르 지 못 하 는 것 을 조건 으로). 무조건 재 귀적 호출 은 순환 에 들 어가 정상적으로 끝나 지 못 한다.
재 귀 알고리즘 으로 피 보 나치 목록 인쇄:
def func(arg1,arg2):
if arg1 == 0:
print(arg1)
print(arg2)
arg3 = arg1 + arg2
print(arg3)
if arg3 > 100:
pass
else:
func(arg2, arg3)
func(0,1)
실행 결과:
01123581321345589144
정규 표현 식:
, 、 ( :Regular Expression, regex、regexp RE), 。 、 。 , 、 。
정규 표현 식 용법 은 블 로 그 를 참고 할 수 있 습 니 다.
http://www.runoob.com/python/python-reg-expressions.html
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.