귀속
귀속
def sum_number(n):
total = 0
for i in range(0,n+1):
total += i
sum_number(100)
반복적으로 쓰는 경우:
def sum_number(n):
if n<=0:
return 0
return n+sum_number(n-1)
sum_number(100)
귀속
def facttail(n,res):
if n < 0:
return 0
elif n == 0:
return 1
elif n == 1:
return res
else:
return facttail(n-1,n*res)
귀속보다 매개 변수res가 더 많을 뿐입니다.res (초기화 1) 유지보수 귀속 차원의 깊이입니다.
익명 함수
Python은 lambda 키워드를 사용하여 익명 함수를 만듭니다.익명이란 def 문장으로 표준 함수를 정의하지 않는 것이다.lambda는 하나의 표현식일 뿐 코드 블록이 아니다. 함수체는 def보다 간단하다.lambda 표현식에서만 유한한 논리를 봉인할 수 있다.lambda 함수는 자신의 명명 공간을 가지고 있습니다 4.형식: lambda 매개 변수: 표현식 5.익명 함수는 변수에 값을 부여할 수 있으며, 변수를 이용하여 이 함수를 호출할 수 있다
>>>f = lambda x:x*x
>>>f(6)
36
6. 익명 함수를 다른 함수로 되돌려줄 수 있다
유도식
1. 목록 유도식
lis = [x*x for x in range(1,11)]
다음과 같습니다.
lis = []
for x in range(1,11):
lis.append(x*x)
>>>[x*x for x in range(1,11) if x%2 == 0]
[4,16,36,64,100]
>>>[a+b for a in '123' for b in 'abc']
['1a','1b','1c','2a','2b','2c','3a','3b','3c']
2. 사전 유도식
>>> dic = {x:x**2 for x in (2,4,6)}
{2:4,4:16,6:36}
>>> type(dic)
중간
:
은 왼쪽이 키이고 오른쪽이value임을 나타낸다.집합 유도식 대괄호는 사전 유도식 외에 집합 유도식으로도 쓸 수 있다.미세한 차이 >>> a = {x for x in 'abcrabiaac' if x not in 'abc'}
>>> a
{'r','i'}
>>> type(a)
4. 원조 유도식이 없고 원조 유도식이 없고 원조 유도식이 없다
면접문제: 다음 코드 출력 결과가 무엇인지 보시겠어요?왜?
result = [lambda x:x+i for i in range(10)]
print(result[0](10))
결과:result0~9의 결과는 모두 19 함수가 호출될 때만 변수를 찾는 특성을 가지고 있다.그것을 호출하기 전에 내부 변수의 구체적인 값을 저장하지도 않고 관심도 없습니다.네가 그것을 호출할 때만 돌아가서 변수의 구체적인 값을 하나하나 찾아라.result[0]가 호출되었을 때 변수 i는 이미 순환이 끝났고 9가 되었다.
result = [lambda x,i=i:x+i for i in range(10)]
교체기
교체기는 범람할 수 있는 대상이며,next () 함수와 작용할 수 있다.교체기 대상은 집합의 첫 번째 요소부터 모든 요소가 다 접근될 때까지 접근합니다.교체기는 뒤로 옮길 수 있을 뿐 거슬러 올라갈 수 없다.두 가지 방법:
iter()
및 next()
lis = [1,2,3]
it = iter(lis) //
next(it) //
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.