목록전체 글 (86)
에르노트
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CgI7b/btq4rIPdpTd/VmLMPkrCJzKVxHTKcaaKt0/img.jpg)
return문은 함수의 실행을 끝맺는 문장이다. 기본 기능은 수식을 계산해서 그 결과값을 돌려주는 것으로, 함수 내용물 안 어디서나 사용할 수 있다. 함수의 내용물 중간에서 return문이 실행되면 결과값이 반환되며 함수는 중단된다. return문과 비교되는 문장이 break문이다. return문이 함수의 실행을 중단하기 위해 쓰인다면, break문은 반복문의 실행을 중단하기 위해 쓰인다. 보통은 함수의 내용물로 반복문이 들어가기에 return의 조금 더 국소적인 버전이라 볼 수도 있다. 반복을 구성하는 조건문에서, if부분에서 이미 조건이 충족되어 원하는 실행이 모두 완료된다면 굳이 else부분이 없어도 된다는 것이다. if문의 실질적인 내용물 아래에 break를 적어줌으로써 반복문을 아예 탈출할 수 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cGs1MN/btq4s2NscLP/141BWBElWWrMeEKDnJo0wk/img.jpg)
파이썬 코드에서 사용되는 연산자는 매우 다양하다. 그러면 이러한 연산자들을 중첩해서 쓸 일도 많이 생기기 마련이고, 어떤 것들을 먼저 계산할지에 대한 사전 논의가 필요할 것이다. 그래서 Python에서는 연산자의 우선순위가 정해져있다. 여기(파이썬 공식사이트)로 들어가면 Operator precedence라고 명시된 연산자 우선순위를 확인할 수 있다. 표를 유심히 관찰해보면 다음과 같은 결론을 이끌어낼 수 있다. +,- 보다 *, / 연산자가 더 아래칸에 위치한 것으로 보아 우선순위가 높다. 일반적으로 수학에서 곱셈을 먼저 계산하고 덧셈을 생각하는 것과 같은 원리가 그대로 적용되는 것이다. 하지만 같은 +,- 연산자라도, +x, -x 등의 단항으로 쓰일 때는 *보다도 우선순위가 높다. 이러한 규칙들은 비..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bz8NCd/btq4spa08G2/8v0qCnwXrBXUbxLgRcNwcK/img.jpg)
숫자 형식에 int, float 등이 있었다면 시퀀스 형식에는 str과 더불어 list가 있다. 시퀀스 형식을 다룰 때는 [ ] 연산자를 사용한다. 우선 기존에 익숙한 str 형식으로 시험을 해보자면, msg = 'hello' 라는 할당문을 적은 후, msg[3]을 치면 'l'이라는 결과를 볼 수 있다. 이 'l'의 의미는 바로 'hello'라는 문자열에서 3번째 문자에 해당하는 것을 출력한 것이다. >>> msg = 'hello' >>> msg[3] 'l' 정리하면, [ ] 연산자는 시퀀스의 내용물 중 하나를 꺼내기 위해서 사용하는 것이다. 여기서 [ ]안에 들어있던 3을 index 값이라고 한다. 시퀀스 형식에서 정확히 한 칸만을 골라서 쓰고 싶을 때, 그 칸에 해당하는 index값을 말하자면 위의 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kywLu/btq4q3sLZC4/U8WxsbkeB0zS3Qut9yb7Hk/img.jpg)
코드를 작성할 때 고려해야할, 실행의 3요소는 바로 순차, 분기, 그리고 반복이다. 실행을 구성하는 가장 중요한 한가지 요소를 고르라고 한다면 아마 '순차' 일 것이다. 왜냐하면 파이썬에서 기본적으로 모든 문장들은 '순차대로, 즉 적어놓은 순서대로' 실행되기 때문이다. 할당문을 먼저 적고 print문을 적는다면 먼저 변수에 값을 담아둔 다음 출력을 실행한다는 것이다. 순차 개념이 깨진다면, 코드의 유기성이 무너지는 것이고, 이렇게되면 프로그램이 정상적으로 작동하지 않을 가능성이 매우 높아진다. 다만 우리가 코드를 적을 때도 무의식적으로라도 순차적으로 적기 때문에 따로 굳이 신경쓰거나 주의해야할 요소는 아니다. 그런 의미에서 '분기'와 '반복'이 나름의 의미를 갖는다. 우선 분기는 어떤 문장들을 실행할 수..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cAijmH/btq4p7vqkCh/Ii6UDxLr9PxuZChSHmuie1/img.jpg)
raw_input을 통해 얻을 수 있는 값은 '날것 그대로의 입력'이기 때문에, 기본적으로는 str형식이라 할 수 있는 메시지의 형태이다. 때로는 메시지가 아닌 숫자의 형태로 데이터를 처리해야 할수도 있다. 그 때는 str형식을 토대로 int 혹은 float 등의 숫자 형식을 만들 수 있어야 한다. 이럴 때는 새 값을 만들고자하는 형식 이름 바로 옆에 ( )를 붙임으로써 마치 함수를 호출하듯이 형식의 변환이 가능하다. 이를테면, 나이차를 계산해주는 함수를 구성한다면, 숫자 형식끼리만 - 연산자로 계산이 가능하므로, raw_input()으로 입력받은 str 형식의 데이터를 int 형식으로 바꿔줘야 한다는 것이다. def age_differs(): my_age = 20 age = raw_input("나이를 ..