본문 바로가기
반응형

언어/PYTHON6

[Python]임의 순환체의 요소 나누기 / 언패킹(Unpacking) 심화 / 별 표현식 '*' 문제 : 순환체를 언패킹(unpacking)하려는데, 요소가 너무 많아 예외가 발생하고 일일이 작성할 필요가 없을 때 해결 : 별 표현식 (*) 을 사용한다. 예시 1 (처음과 끝을 제외한 모든 값) def drop_first_last(grades): first, *middle, last = grades return sum(middle) 첫번째와 마지막번째 성적을 무시하고 나머지의 총 합을 구하는 함수이다. 요소가 단순히 네 개였으면 네 개를 모두 언패킹해도 되겠지만, grades의 값이 97개라면(...) 이 '*'를 사용하여 편리하게 구현이 가능하다. 예시 2 (n번째 이후의 모든 값) record = ('hanlim', 'hanlim@naver.com', '010-1234-5678', '010-00.. 2022. 11. 21.
[Python] 시퀀스를 개별 변수로 나누기 / 언패킹(unpacking) 문제 : N개의 요소를 가진 튜플이나 시퀀스가 있다. 이를 변수 N개로 나누어야 한다. 해결 : 모든 시퀀스는 개별 변수로 나눌 수 있다. 한 가지 주의 할 점은 변수의 개수와 시퀀스가 일치해야 한다는 것이다. 예시 1 p = (4, 5) x, y = p print(x) print(y) p의 요소인 4와 5를 개별 변수인 x와 y로 나누어 저장하는 코드이다. 예시 2 (에러) p = (4, 5) x, y, z = p print(x) print(y) 만약, 요소의 개수가 일치하지 않으면 다음과 같은 에러가 발생한다. Traceback (most recent call last): File "/Users/hanlim_air/python/PythonCookbook/01_01.py", line 2, in x, y.. 2022. 11. 16.
[Python] pass의 역할 | 널 연산 Null Operation | IndentationError 아래 사진은 text -> json형태 변환 프로그램 중 일부입니다. def 끝자락마다 보이는 이 pass는 무슨 역할을 하는 것일까요? 직감적으로, 리턴 할 것 없이 그냥 통과하라는 느낌이 딱 들었습니다. 실제로 그 당시 구글링 했을 때에도 ^딱 이 정도로 이해하고 넘겼던 것 같은데요. (빨리 코드를 수정해서 넘겨야 했기에...) 파이썬 책을 읽다가 제대로 된 해답을 알게 되어 기록할 겸 포스팅합니다. 코딩을 할 때 전체 골격을 먼저 잡아 놓고 코딩하는 경우가 있습니다. class MyClass(object): def method_a(self): def method_b(self): print("Method B") c = MyClass() 이렇게 말이죠 ! 그러나 이 클래스는 실행되지 않습니다. 아래처럼.. 2022. 9. 26.
[Python 오류] ImportError: cannot import name __ 개요 텍스트 데이터를 json 형태로 만들어서 각각 파일로 추출하는 코드를 짰다. 다 만들어진 긴 코드에서 함수들을 패키지와 모듈로 빼서 import 하라는 과제를 받았다. 패키지, 모듈 만들어서 import 하는건 포스팅도 해 뒀으니 식은 죽 먹기라 생각하고 (참고) [Python/초보를위한] 파이썬 패키지와 모듈 만들기, 임포트하는 방법(import, from import, import as) 모듈 : 이미 만들어져 있고 안정성이 검증된 함수들을 성격에 맞게 하나의 파이썬 파일에 묶어 만들어 놓은 것 쉽게 말해서 함수들을 미리 만들어 한데 모아둔 것. 이 모듈을 가져와 쓰는 것을 gksruf2848.tistory.com 코드들을 열심히 수정해서 돌려보았는데,,, __ 오류 (ImportError.. 2022. 8. 24.
반응형