목록IT_Python (11)
veggie의 기술기록
● 튜플과 리스트 : 튜플은 리스트와 비슷한 기능을 하는 시퀀스이다. 그러나 튜플은 저장된 내용을 변경할 수 없다! (sort(), append(), reverse() 등 변경작업들은 전부 불가) 수정할 수 없는 이유는 효율성 때문이다. 용량도 적고 접근속도도 빠른 등의 장점이 있다. so 그냥 값을 저장하고 접근만 할 것 이라면 리스트 보다 는 튜플을 쓰는게 낫다.(임시 변수를 선언하거나) ● 딕셔너리의 items() 메소드는 (key, value)를 튜플의 형태로 리턴하고, 이는 리스트에 담긴다. 1 2 3 4 5 6 7 8 9 10 11 12 d = dict() d['apple'] = 2 d['banana'] = 4 for (k,v) in d.items() : print(k,v) apple 2 ba..
● 컬렉션 : 컬렉션은 여러개의 값을 하나의 변수에 담을 수 있음. 변수 안에 공간을 여러개 가짐. 변수 안에서 서로 다른 공간을 찾는 방법이 있음. - 리스트 : 순서를 유지하는 값들의 선형 컬렉션 - 딕셔너리 : 고유의 라벨을 갖고있는 값을 넣는 가방. 파이썬의 가장 강력한 데이터 컬렉션. 파이썬에서 빠르게 데이터베이스 같은 연산을 가능케 함. 다른 언어에서는 다른 이름으로 불림. Java - Properties / Map / HashMap 순서가 있어, 원소의 위치를 기반으로 인덱스를 매기는 리스트와 달리 딕셔너리는 순서가 없음. 따라서 딕셔너리에 넣는 대상은 '조회 태그'(키로 값을 찾음)를 달아 인덱스를 매긴다. 중괄호로 표현하며, 키:값 쌍 목록을 가진다. 1 jjj = { 'chuck' : ..
● 알고리즘 : 문제를 해결하는 데 사용하는 일련의 규칙 또는 단계 ● 자료 구조 : 컴퓨터에서 자료를 구성하는 특별한 방법 ● 컬렉션 자료형 : 컬렉션 자료형이란 여러 가지 요소를 하나로 묶어 사용하는 데이터 타입이다. 컬렉션은 하나의 변수에 많은 값을 넣을 수 있고 그래서 유용하다. ● 리스트 : 리스트는 컬렉션의 일종이다. 리스트 상수는 대괄호로 둘러싸여있고 리스트의 원소는 반점으로 구분된다. 리스트는 파이썬의 어떤 객체도 원소로 넣을 수 있다. (심지어 다른 리스트를 넣는 것도 가능하다!) 당연히 빈 리스트도 생성 가능하다. 1 2 3 4 5 6 7 8 9 10 11 >>> print([1, 24, 76]) [1, 24, 76] >>> print(['red', 'yellow', 'blue']) [..
● 파일 처리 : 텍스트 파일은 일련의 줄이 나열된 것으로 여길 수 있다. 파일의 내용을 읽기 전에 파이썬에게 작업할 파일과 파일로 어떤 작업을 할지 알려줘야 한다. open()함수가 해당 기능을 수행한다. open()함수는 handle을 반환한다. (handle:파일에 대한 작업을 수행하기 위해 사용하는 변수) => handle = open(파일명, 모드:파일읽기는 r ,파일쓰기는 w) ● 개행 문자 : 각 줄이 끝날 때 이를 알리기 위해 개행문자를 사용. '\n' 텍스트 파일은 각 줄 끝에 개행 문자가 있다. ● 시퀀스로써 파일 핸들 : 읽기용으로 열린 파일 핸들은 파일의 각 줄에 대한 문자의 시퀀스(정렬된 집합)로 볼 수 있다. 따라서 for문을 이용해서 각 줄을 읽을 수도 있다. 1 2 3 4 5..
파이썬 코드를 짜다가 마주한 오류. 1 2 3 4 for i in range(0,len(ans)): if ans[i] == str(a[i]): score = score + 10 scores = scores.append(score) cs 코드는 이것이었는데.. 어찌하여 scores에 append를 하면 저 오류가 나는지 이해가 안됐다. 리스트에 추가하는 메서드가 append 아닌가?! 맞는데.. 원인은 list.append()가 None을 반환하기 때문이었다. 즉, scores.append(score)가 list에 추가함과 관계없이 항상 NoneType을 반환하기 때문에 당연히 변수에 대입할 수도 이를 출력할 수도 없었던 것이다. 내가 원하는 결과를 도출하려면 밑의 코드와 같이 단계를 나눠서 짜야했다. 1..
●문자열 자료형 : 문자열은 문자 시퀀스. 따옴표를 사용해서 표기. 문자열에서 + 연산자는 병합을 의미. 문자열이 숫자를 포함하고 있어도 여전히 문자열. int() 함수를 이용해 문자열 안의 숫자를 정수형으로 변경 가능하다. ● 문자열 파악하기 : 문자열에 있는 어떤 문자든지 대괄호 안에 지정된 인덱스를 이용해서 가져올 수 있다. 인덱스 값은 정수이고 0부터 시작한다. 인덱스로 계산 가능한 표현식을 사용할 수 있다. 문자열 크기를 넘어선 인덱스에 접근할 시 에러가 발생하니 주의. ● 문자열의 길이 : 파이썬 내장함수 len()을 이용해 문자열의 길이를 알 수 있다. ● 문자열을 통한 루프 : while구문, 반복 변수, len 함수를 이용해서 문자열 안에 있는 각 문자를 독립적으로 확인하는 루프를 만들 ..
● 반복 단계 : 루프(반복 단계)는 각 루프마다 변하는 반복 변수를 가지고 있음. 종종 반복 변수는 연속된 숫자를 차례로 받음. 1 2 3 4 5 6 n = 5 while n > 0: print(n) n = n - 1 print('Boom!') print(n) cs n 이 반복변수가 됨 ● 무한 루프 : 프로그램이 일련의 명령을 무한히 반복하는 것. 빠져나오기 위해서는 break, continue 문을 사용해서 특정 조건이 만족되면 반복문을 종료시키는 방법이 있다. - break문 : 현재 루프를 끝내고 루프 다음에 있는 구문으로 바로 건너뛴다. 1 2 3 4 5 while True: line = input('>') if line == 'done': break print('Boom!') cs 해당코드는..
sep(separation) 분리하여 출력한다. 분리할 문자를 지정할 수가 있는데 이를 '구분자' 라고 부른다. 예를들어 이런식으로 사용할 수 있는데, 이 경우 구분자는 '/'가 된다. print('S','E','P', sep='/') 출력 >>>>> S/E/P end 그 다음에 오는 출력값과 이어서 출력한다. 쉽게 말해서 개행하지 않기 위해 사용하는 옵션이다. print("I love ", end=" ") print("you") 출력 >>>>> I love you 하지만 end="이 사이에 문자를 넣어" 구분자로 사용할 수도 있다! print("I love ", end="~ ") print("you") 출력 >>>>> I love ~ you
이번 챕터에서는 함수의 인자와 매개변수의 차이에 대해 정확히 깨달았다! 항상 업무를 하면서 인자와 매개변수를 거의 동일시 하던 나였는데, 이번 강의를 들으며 그 차이점을 깨달았다. 모든 순간마다 느낀다. 배움이 없는 순간은 없다. ● 함수의 정의 : 파이썬에서 함수는 인자를 입력 받고, 계산을 하고, 결과를 반환하는 재사용 가능한 코드 함수를 정의할 때 def 예약어를 이용 함수 이름, 괄호 그리고 인자를 이용해 함수를 호출함 ● 함수 만들기 : def 키워드, 괄호, 그리고 선택적으로 매개 변수를 적어서 새로운 함수를 만들 수 있음. 함수 본문은 들여쓰기를 함. 이는 함수를 정의하지만 함수의 본문을 실행하지는 않음. ● 정의와 사용 : 함수를 한 번 정의하면, 원하는 만큼 호출(또는 실행) ..
● 비교 연산자 : boolean 표현식은 네/아니오 질문을 통해 프로그램의 흐름을 결정. 파이썬 의미 크다 != 같지 않다 ● 한 갈래 분기 : if 조건 하나만 있을 경우. ● 들여쓰기 : if문과 for문 : 콜론 다음에 들여쓰기를 함 / 들여쓰기를 유지해서 블록의 범위를 표시 / 빈 줄, 주석은 들여쓰기 상관없이 무시됨. ● 중첩된 분기 : if문 안에 또다른 if문이 있을 경우. ● 두 갈래 분기 : 논리식이 참일 경우와 거짓일 경우 각각 다른 결과를 도출할 수 있음 / 갈림길과 같이 둘 중 하나만 선택 가능. ● 여러 갈래 : elif 사용, 다른 경우일 때를 나타냄. ex) x = 5 if x < 2 : print('small') elif x < 10 : print('Mediu..