파이썬 공부를 하며 간단해보이지만, 개인적으로 헷갈리는 내용을 정리해보려한다.
파이썬은 html이나 css 처럼 문장이 길어질 경우 별다른 장치 없이 줄바꿈 하는 것을 허용하지 않는다.
별 거 아니지만 이러한 부분은 꽤나 까다롭다고 생각했다.
기억하기 위해 남겨두는 것이기 때문에 간단하게 적어보면
print("안녕하세요. 저는 김광일입니다.")
# 안녕하세요. 저는 김광일입니다.
안녕하세요. 후에 줄바꿈을 하고싶은데 html이나 css처럼
print("안녕하세요.
저는 김광일입니다.")
위와 같이 입력했을 때, 오류가 발생한다.
이 때에 해결할 수 있는 두가지의 방법이 있다.
print("안녕하세요.\n저는 김광일입니다.")
# 안녕하세요
# 저는 김광일입니다.
print("""안녕하세요
저는 김광일입니다.""")
# 안녕하세요
# 저는 김광일입니다.
(파이썬 내에서 괄호 없이 그냥 따옴표를 3개씩 써서 감싸는 것은 보통 여러 줄을 주석처리할 때 사용한다.)
어떤 것이 더 편한가는 본인 판단이지만 개인적으로는 줄바꿈이 많지 않다면 1번 방법이 좀 더 편한 것 같다.
return
에도 많은 내용이 있겠지만, 지금 다룰 내용은 if
문에서 return("@")
에 관한 내용이다.
먼저 문제를 살펴보면
첫번째 숫자(num1)가 두번째 숫자(num2)보다 더 큰 경우 "First one is greater!" 리턴
여기에서 기초가 부족하여 생긴 나의 오해
: 리턴이라는 부분이 return
이 아닌 print
로 출력한다는 의미라고 생각함.
def find_greater_num(num1, num2):
if num1 > num2:
return("First one is greater!")
elif num1 < num2:
return("Second one is greater!")
elif num1 == num2:
return("Same!")
output = find_greater_num(11, 10)
print(output) # --> "First one is greater"
기초가 부족하여 생긴 나의 오해2
: return
에 어떤 값을 넣고 run
을 돌려도 아무런 결과 값이 없음.
return
대신 print
를 넣게 되면 output = find_greater_num(11, 10)
만 넣어도 결과값이 도출 되는데 return
을 쓰게 되면 보이는 것이 없어 그냥 의미없이 날아가는 값이 아닐까 생각했함.
하지만 그런 것이 아니고 함수에서 해당 함수를 호출한 주체에게 결과값을 보내주는 것(값을 저장하는 것)이었다.
해서 아래에서 output = find_greater_num(11, 10)
, print(output)
을 했을 때 그 값을 가져와 보여주는 것이다.
그리고 이 내용과는 별개로 어떤 언어든 마찬가지겠지만 오타관리를 정말 잘해야겠다는 생각이 들었다.