교체기, 생성기, 귀속
교체기 및 생성기
교체 가능 객체
__iter__
방법이 있는 대상은 바로 교체 가능한 대상이다.교체 가능한 대상이 되돌아오는 값은 __next__
방법을 가진 대상을 교체기 대상이라고 한다In [2]: a = [1,2]
In [3]: it = a.__iter__()
In [4]: it
Out[4]:
In [5]: it.__next__()
Out[5]: 1
교체 대상은str,list,tuple,dict,set,file
, `__next__`
In [5]: it.__next__()
Out[5]: 1
In [6]: it
Out[6]:
In [7]: for i in it:
...: print(i)
...:
2
In [8]: it2 = it.__iter__()
In [9]: it2
Out[9]:
삼원식
In [11]: print(1) if 1<2 else print(2)
1
목록 유도식
In [15]: b = (i for i in range(8))
In [16]: b
Out[16]: at 0x000001E69BE82CA8>
In [20]: lst = list(b)
In [21]: lst
Out[21]: [0, 1, 2, 3, 4, 5, 6, 7]
사전 생성식
In [23]: keys = ["a", "b", "c"]
In [24]: values = (1,2,3)
In [25]: d = dict(zip(keys, values))
In [26]: d
Out[26]: {'a': 1, 'b': 2, 'c': 3}
In [27]: z = zip(keys, values)
In [28]: z
Out[28]:
In [29]: z.__iter__()
Out[29]:
In [30]: z.__next__()
Out[30]: ('a', 1)
생성기
키워드
함수에 yield 키워드가 나타나면 함수는 실행을 멈추고 값을 되돌려줍니다
In [31]: def func():
...: yield 1
...: yield 2
...:
In [32]: a = func()
In [33]: a
Out[33]:
In [34]: a.__iter__()
Out[34]:
In [35]: a.__next__()
Out[35]: 1
생성기는 특수한 교체기로서 생성기는 자동으로'교체기 프로토콜'(즉 iter 와next 방법)을 실현하고 두 가지 방법을 수동으로 실현할 필요가 없다.
귀속
특수한 플러그인 호출은 함수를 호출하는 과정에서 직접 또는 간접적으로 자신을 호출하는 것을 말한다.
귀속 만족의 특징:
In [36]: lis = [1, [2, [3, [4, [5, [6, ]]]]]]
...:
...:
...: def tell(lis):
...: for i in lis:
...: if type(i) is list:
...: tell(i)
...: else:
...: print(i)
...:
In [37]: tell(lis)
1
2
3
4
5
6
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.