튜플(tuple)은 리스트와 거의 유사하지만 다음과 같은 차이점이 있다.
- 대괄호 []가 아닌, 소괄호 ()를 사용
- 리스트는 요소의 변경이 가능하지만, 튜플은 변경이 불가능 (immutable)
얼핏 보면 리스트보다 튜플이 나은 점이 없어 보이는데, 언제 사용하는 걸까?
튜플은 변경이 불가능하다는 속성 자체가 가치있다.
Make stuff people want
튜플(tuple)은 리스트와 거의 유사하지만 다음과 같은 차이점이 있다.
얼핏 보면 리스트보다 튜플이 나은 점이 없어 보이는데, 언제 사용하는 걸까?
튜플은 변경이 불가능하다는 속성 자체가 가치있다.
요즘따라 몸이 많이 피곤함을 느낀다.
커피를 마셔도 예전같이 빠릿빠릿하지 않고.. 격일로 운동을 간지 1달 조금 넘었는데 체력이 길러지기는 커녕 더 떨어진 것 같다.
그 와중에 와디즈를 보다가 무심코 발견한 아이템이 바로 마시는 링거, 링티
군의관들이 개발한 것이란다. 열사병으로 쓰러지는 군인들을 위해 개발했는데, 기사를 보니 군 장성들이 그렇게 좋아한단다. 좋은 건 바로 알아보는 그들이니.. 정말 괜찮을 것 같다는 생각이 ㅋㅋㅋ
리스트 (list)란 특정 값들을 순서 있게 저장하는 자료형이다.
C와는 달리, 하나의 리스트 안에 숫자와 문자가 공존할 수 있더라.
앞서 배운 문자열처럼 리스트 또한 인덱싱과 슬라이싱을 할 수 있다.
하지만, 각각의 결과물에 대해 조심해야 할 필요가 있다.
1 | >>> lst = ["Python",2,3,4,5] |
파이썬에서 내가 편하다고 느끼는 부분 중 하나가 바로 Format 함수.
원하는 문자열을 참조하여 출력할 때 많이 사용하고, 출력물을 보기 좋게 정렬하고 싶을 때도 종종 사용한다.
Code | Feature |
---|---|
{:k>10} | 10칸 공간, 오른쪽 정렬, 공백을 k로 채우기 |
{:k<10} | 10칸 공간, 왼쪽 정렬, 공백을 k로 채우기 |
{:k^10} | 10칸 공간, 가운데 정렬, 공백을 k로 채우기 |
예전에 C로 코딩할때는 %d, %f 등을 잘 찍어줘야 하는데, 파이썬은 format 함수를 사용하면 편하다.
기본적인 포맷은 아래와 같다.
1 | '{} {}'.format('one', 'two') |
이렇게 치면 결과값이 “one two”로 나온다. (string)
내가 앞에서 순서를 지정할 수도 있다.
1 | '{1} {0}'.format('one', 'two') |
결과값은 “two one” 이다.
자세한 내용은 PyFormat에서 확인할 수 있다.
이외에도 주로 문자열 자료형에 대해서 다루었다. 내용을 간단히 열거하면 아래와 같다.
Github를 사용해서 블로그를 시작하려는데, 문제가 생겼다.
왜 이미지 업로드가 안되지?
분명히 source를 확인하고, deploy_git에 정상적으로 image가 업로드 되었음에도, 내 페이지는 그대로..
이것저것 해보다가 다시 블로그를 새로고침했더니, 정상적으로 image가 올라가 있었다 -_-
어떻게 하면 좋은 취미를 찾을 수 있을까?
재미만 있는 것이 아니라, 무언가 도움이 되는 지속가능한 취미를 가지고 싶다.
주중에 계속 일을 하며 학교도 다니고 있으니 시간이 많이 촉박하다.
그러나 주말에 조금 쉬는 시간을 가져도 막상 그 시간이 닥치면 할 것이 마땅찮다.
그래서 늦잠을 자다가 툴툴대며 카페 와서 다시 일을 하거나.. 책을 읽는다.
이 생활도 나쁘다고는 할 수 없지만, 주중에 받는 스트레스를 상쇄할 수가 없어서 계속 쌓이는 것 같은 느낌이다.
나 자신에 대해 어떻게 보상을 해야 할지 모르겠다.
신제품 개발 프로세스에서 아마존 (Amazon)은 새로운 접근법을 고안했다.
아마존의 임원인 Ian McAllister은 이를 소비자로부터 출발하여 거꾸로 일하기 (Working backwards from the customer) 라고 부른다.
먼저 새로운 계획을 세울 때, 내부에서는 이 잠재적인 프로젝트를 마치 막 끝낸 것처럼 공표하는 것으로 시작한다.
이것은 고객들에게도 전달되어, 새롭게 제공하는 기능이 고객들이 가지고 있던 문제를 얼마나 흥미진진하고 설득력 있는 방법으로 해결하는지 설명한다.
만약 공표한 내용이 실현되지 못하면 실현할 수 있을 때까지 초기 계획을 계속해서 수정한다.
이러한 프로세스는 팀이 신제품의 역량이 어디에 있어야 하는지, 특별한 장점이 무엇인지에 대해 정확히 집중할 수 있도록 한다.
이를 내가 현재 생각하는 분야의 사업에 대해 똑같은 프레임워크로 접근해 보자.
우리가 A라는 기능을 가진 App을 만들기로 계획한다고 하자.
우리는 A가 기존의 고객들이 가지고 있는 문제를 얼마나 흥미진진하고 설득력 있는 방법으로 해결할 수 있는지 설명할 수 있어야 할 것이다.
하지만, 설명만 할 수 있다고 해서 A가 정말 좋은 기능이라고 말하기에는 어렵지 않은가?
이론적으로 이해는 하지만, 실제 프로젝트 수행에 있어 얼마나 도움이 되는지는 잘 모르겠다.