오늘은 하루종일 파이썬만 했다..
sql은 손도 대지 못함.
내일은 그래도 오전에 sql 코드카타는 풀어야겠다. 주말에 풀려다가 못 푼게 있어서.
오늘의 파이선--
def는 함수를 만들어주는 것이다. 함수 지정.
문자열을 숫자열로 바꾸려면 int()함수를 써주면 된다. '2'는 문자열이다.
리스트는 순서가 중요하게 값을 담는 것. 딕셔너리는 key:value 값을 담는 자료형.
print 들여쓰기는 for, if 구문처럼 콜론(:)이 있을 때 들여쓰기를 하는 것이다. 만약 콜론이 없다면 들여쓰기 안 해야 함.- 콜론이 있고 없고 차이다.
딕셔너리에서는 , 은 구분하는 용도이다. 딕셔너리 이름을 계속 줘야 함. -> 약간 sql에서 like 구문과 같은 느낌이다.
name like .. , name like// 이런식으로 name 이라는 컬럼이름을 계속 줬던 것처럼. 이것 저것 뽑아내려면 이름을 계속 명시해줘야 한다. 컴퓨터는 생각보다 멍청하다.. 그냥 알아듣지 못하기 때문에 하나하나 다 알려줘야 한다.
파이선에서 딕셔너리에 있는 값을 가져오려고 할 때, print(person['name'],['age'])라고 하면 name은 value값이 나오는데, age는 그냥 'age' 가 나와버린다. age에 대응하는 value값이 나오려면 age앞에 딕셔너리 이름을 꼭 주어야 한다.
그래서 수정을 하면:
print(person['name'],person['age'])
이렇게 된다.
라이브세션에서 알고리즘 코드카타보다는 판다스가 훨씬 중요하다고 하셨다. 음.. 파이선과 판다스.. 아직도 나에게는 생소하게 느껴진다.
파이썬은 대소문자를 빡세게 구분한다.
그래도 파이썬 코드카타도 풀어봐야겠다고 오늘 조원분이랑 이야기하면서 다짐을 하게 되었다. 매일 sql코드카타 푸는것처럼 파이썬도 코드카타는 하나씩 풀어봐야겠다.(솔직히 첫문제부터 어려움)
들여쓰기도 계속 헷갈렸는데, 오늘 좀 그래도 확실히 알게된것은. 들여쓰기는 특정구문에 속해야 들여쓰기를 한다는 것이다. 속해져 있는지의 여부가 들여쓰기를 판가름한다는 것이다.
그냥 for문 그 반복문 쓸 때 들여쓰기 하고 쓰면 에러난다..
들여쓰기 하지 않고 그냥 첫줄에서 바로 써야 한다.
그리고 파이썬 작성할 때 진짜 이해가 안되고 해석도 안되고 어려웠는데 계산 전에 리스트랑 for문 또는 if문 써서 지정해주는거는 선언부 라고 위에 지정해주는 것이다.
그 다음에 밑에서 계산하는 것.
max()함수는 리스트나 튜플처럼 여러 값을 포함하는 데이터 구조에서 가장 큰 값을 찾을 때 사용한다. 그래서 리스트가 있을 때 거기서의 최댓값을 찾으려면 max(리스트 이름) 을 그냥 넣으면 된다. 리스트 전체에 대해 적용해야 한다는 점 잊지 말기. min함수도 동일하다.
그 방법 외에도 이런식으로 최댓값을 구해줄 수도 있다.
num_list = [1, 2, 3, 6, 3, 2, 4, 5, 6, 2, 4]
max = 0
for num in num_list:
if max < num:
max = num
print(max)
max라는 함수에 0을 넣어준다. 아직 어떤 값이 가장 큰 지 모르고 계산해보지 않았기 때문에.
그리고 반복문을 설정해준다. 그런다음에 조건문을 써서 이미 max의 값이 0이기 땜에 리스트에 있는 값이 무조건 0보다 크게 된다. 이 조건을 충족할 때 max의 값이 num이 된다. 리스트에 있는 값 하나하나가 된다는 뜻이다. 이렇게 하나씩 비교해가면서 가장 큰 값이 결국 max에 남게 된다.
그래서 print(max) 를 하게 되면 최댓값이 나오게 된다.
+그리고 위 로직을 보면 들여쓰기를 for문은 하지 않았고, for문 써 준 이후로는 계속 들여쓰기 한 것을 발견할 수 있다. 들여쓰기 구문이 계속 속해져 있기 때문에 들여쓰기를 하는 것이다. print는 그에 비해 그 구문에 속하지 않았다는 것을 발견할 수 있다. 그렇기에 들여쓰기를 하지 않고 print를 쓴 것을 볼 수 있다.
오늘에서야 파이선에 대해서 좀 이해할 수 있게 된 것 같다.
다른 동기분한테도 파이선에 대해서 도움을 요청하기도 했고, 튜터님도 찾아가고 오픈 에이아이를 통해서 공부할 수 있다는 것도 알게 되었다. 도움이 솔직히 많이 되었다. 뭔가 드디어 파이선 시작한 느낌이다. 조금만 길어져도 아직 잘 모르겠지만 이제서야 기본을 시작한 느낌.. 이제서야 for문이 뭔지 이해가 된다. 오늘을 시작할 때 아예 갈피가 안 잡혀서 약간 눈앞이 깜깜했다. 뭔가 대충 알겠는데 모르겠고 이런 느낌이라서. 아무리 그 코드를 보면서 해석할려고 해도 안되는 느낌이었다.
튜터님이 이것도 기초를 잘 잡고 가야한다고 하셨다. 이런 규칙들을 하나하나 잘 익혀야 한다고. 튜터님들 너무 친절하시고 좋다..ㅠㅠ 격려 받고 나왔다. 포기하지 않고 계속 하면 언젠간 해낼 수 있다는 것. 계속 위기가 오고 진도는 계속 나가서 스트레스 받고 압박감이 있지만 중요한 것은 꺾이지 않는 마음인 것 같다. 화이팅!!
드디어 속이 80%~90% 나았다..감격.. 드디어 아픈게 거의 다 끝나가는건가,,!!! 한달동안 아프면서 공부한 나 고생했다 진짜로. 이제 약물로 인한 알레르기 반응만 나으면 끝! 당분간은 그래도 먹는거 조심하자