본문 바로가기

function31

Flutter 플러터에서 'yield' 키워드는 무엇을 하는가요?, What does 'yield' keyword do in flutter? 질문 yield 키워드는 Dart에서 실제로 무엇을 하는가요? 답변 yield는 주변의 async* 함수의 출력 스트림에 값을 추가합니다. 이는 return과 유사하지만 함수를 종료하지 않습니다. https://dart.dev/guides/language/language-tour#generators을(를) 참조하세요. Stream asynchronousNaturalsTo(n) async* { int k = 0; while (k < n) yield k++; } yield 문이 실행되면, 표현식을 평가한 결과를 스트림에 추가합니다. 이는 필요에 따라 중단되지 않을 수 있습니다 (현재 구현에서는 중단됩니다). 2023. 6. 23.
Python 파이썬 코드가 함수에서 더 빠르게 실행되는 이유는 무엇인가요?, Why does Python code run faster in a function? 질문 def main(): for i in xrange(10**8): pass main() 이 파이썬 코드는 다음과 같습니다. (참고: 시간 측정은 리눅스의 BASH에서 time 함수를 사용합니다.) real 0m1.841s user 0m1.828s sys 0m0.012s 그러나 for 루프가 함수 내에 없으면, for i in xrange(10**8): pass 그러면 훨씬 더 오랜 시간 동안 실행됩니다: real 0m4.543s user 0m4.524s sys 0m0.012s 이유는 무엇인가요? 답변 함수 내부에서 바이트코드는 다음과 같습니다: 2 0 SETUP_LOOP 20 (to 23) 3 LOAD_GLOBAL 0 (xrange) 6 LOAD_CONST 3 (100000000) 9 CALL_FUN.. 2023. 6. 10.
Python 사전에서 값으로 키 가져오기, Get key by value in dictionary 질문 나는 Dictionary에서 나이를 찾아 일치하는 이름을 보여줄 함수를 만들었다: dictionary = {'george' : 16, 'amber' : 19} search_age = raw_input("나이를 입력하세요") for age in dictionary.values(): if age == search_age: name = dictionary[age] print name 나는 비교하고 나이를 찾는 방법을 알고 있지만, 그 사람의 이름을 표시하는 방법을 모르겠다. 또한, 5번째 줄 때문에 KeyError가 발생한다. 이것이 올바르지 않다는 것을 알고 있지만, 역으로 검색하는 방법을 찾을 수 없다. 답변 mydict = {'george': 16, 'amber': 19} print mydict.k.. 2023. 6. 9.
Python 리스트 컴프리헨션 대 맵, List comprehension vs map 질문 map()를 사용하는 것이 리스트 컴프리헨션보다 나은 이유가 있나요? 그리고 그 반대의 경우도 마찬가지인가요? 어느 것이 일반적으로 더 효율적이거나 Pythonic하다고 생각되나요? 답변 map는 경우에 따라 (람다를 만드는 대신 map과 리스트 컴프리헨션에서 동일한 함수를 사용할 때) 미세하게 더 빠를 수 있습니다. 리스트 컴프리헨션은 다른 경우에 더 빠를 수 있으며 대부분의 (모든 것이 아닌) Pythonista는 더 직접적이고 명확하다고 생각합니다. 동일한 함수를 사용할 때 map의 미세한 속도 이점의 예: $ python -m timeit -s'xs=range(10)' 'map(hex, xs)' 100000 loops, best of 3: 4.86 usec per loop $ python -.. 2023. 6. 6.