문자열 자료형-문자 표시하기: Format을 이용한 포매팅
Neural Network 의 일부를 예제로 하여 문자열 자료형의 문자표시 방법을 알아보자.
parameters라는 딕셔너리(Dictionary)의 구조는 다음과 같이 되어있다고 하자.
parameters = {"W1": W1, "b1": b1, "W2": W2, "b2": b2, "W3": W3, "b3": b3, "W4": W4, "b4": b4}
parameters의 값을 불러올 때 우리는 parameters["W1"] 이라는 식으로 불러올 수 있을 것이다. 그런데 우리가 W에 해당하는 값들을 모두 불러와야 하는 상황이라면, 어떻게 표현할 수 있을까?
Format 함수를 이용하는 방법
다음과 같이 for문과 문자열 자료형의 포매팅(Format)을 이용할 수 있다.
위 이미지 중에서도 for문의 문단을 보자. linear_activation_forward의 매개변수로 parameters를 가져오고 있는데, 여기서 L은 parameters의 길이(lenth)/2이기 때문에 위에 parameters를 정의한대로라면 4가 된다. for문은 range(1, L)만큼 반복하라고 지시하고 있으므로 l=1~3까지를 반복한다.
그래서 여기서 문자열 포매팅을 이용해 "Wl"의 형태로 표현해 줄 것인데, 이때는 두 가지 방법이 있다. 하나는 위의 그림처럼 .format함수를 사용하는 것이다. 데이터를 표시할 부분에 { } 로 표시해주고 "(따옴표) 바깥쪽에 .format(표시할데이터) 형태로 써주면 된다.
숫자 0을 넣은 이유는 여러가지 데이터를 표현할 경우 인덱스(index)를 표현한다. 예를 들어 다음과 같은 문장이 있다고 치자.
"가장 높은 등수는 {0}등이고 가장 낮은 등수는 {1}등이다.".format(1, 10)
그렇다면 위 문장은 아래와 같이 표시된다.
"가장 높은 등수는 1등이고 가장 낮은 등수는 10등이다."
포맷코드를 이용하는 방법
이번에도 for문 문단을 보자. 이번에는 좀 형태가 바뀌었다. W옆에 %d(정수타입)이라고 표시해주고 "(따옴표)를 닫고 나서 곧바로 %와 함께 해당 위치에 표시할 데이터를 표시해준다. 여기서는 l이다.
이 경우에는 표시하고 싶은 데이터 'l'이 정수타입이기 때문에 %d를 썼지만 만약 표시하고 싶은 데이터가 다른 데이터 타입일 경우는 아래의 표를 참고해 적절히 바꿔가며 사용해야 한다.
코드 | 설명 |
%s | 문자열(String) |
%c | 문자 1개(Character) |
%d | 정수(Integer) |
%f | 부동소수(Floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (% 자체) |
'IT > Python' 카테고리의 다른 글
[python openCV, cv2] src.emtpy() in function ... (0) | 2021.05.27 |
---|---|
Fatal error in launcher: Unable to create process using ... (0) | 2021.05.12 |
[Deeplearning] LOGISTIC REGRESSION CODE REVIEW-1 (0) | 2021.05.05 |
Python Package, Module, Library 차이 (0) | 2021.04.14 |
Numpy(작성중) (0) | 2021.04.14 |