Programming 45

객체와 인스턴스의 차이

클래스로 만든 객체를 인스턴스라고도 한다. 그렇다면 객체와 인스턴스의 차이는 무엇일까? 이렇게 생각해 보자. a = Cookie() 이렇게 만든 a는 객체이다. 그리고 a 객체는 Cookie의 인스턴스이다. 즉 인스턴스라는 말은 특정 객체(a)가 어떤 클래스(Cookie)의 객체인지를 관계 위주로 설명할 때 사용한다. "a는 인스턴스"보다는 "a는 객체"라는 표현이 어울리며 "a는 Cookie의 객체"보다는 "a는 Cookie의 인스턴 스"라는 표현이 훨씬 잘 어울린다.

Programming/Python 2022.01.04

파일 읽고 쓰기

파일 생성하기 아래 코드는 실행 시, 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성된다. f = open("새파일.txt", 'w') f.close() 파일을 생성하기 위해서는 파이썬의 내장 함수인 open을 사용한다. open 함수는 "파일 이름"과 "파일 열기 모드"를 입력값으로 받고 결과값으로 파일 객체(f)를 돌려준다. 파일 열기 모드 설명 r 읽기 모드 - 파일을 읽기만 할 때 사용 w 쓰기 모드 - 파일에 내용을 쓸 떄 사용 a 추가 모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용 쓰기모드(w)로 파일을 열면, 해당 파일이 이미 존재할 경우, 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일이 생성된다. 위 코드에서, f.close()는 열려있는 파일 객..

Programming/Python 2022.01.03

함수

여러 개의 입력값을 받는 함수 만들기 - *args def add_many(*args): result = 0 for i in args: result = result + i return result *args처럼 매개변수 이름 앞에 *을 붙이면 입력값을 전부 모아서 튜플로 만들어 준다. 또한, 입력값이 몇 개든 상관없다. *args는 임의로 정한 변수이며, *pey, *python처럼 아무 이름이나 써도 된다. ※ args는 매개변수를 뜻하는 영어 단어 arguments의 약자이며 관례적으로 자주 사용한다. 위 코드 실행시 결과는 아래와 같다. result = add_many(1,2,3) print(result) 6 result = add_many(1,2,3,4,5,6,7,8,9,10) print(resu..

Programming/Python 2022.01.03

리스트 내포 사용하기

리스트 내포(List comprehension) 리스트 안에 for문을 포함하는 리스트 내포(List comprehension)를 사용하면 편리한 프로그램을 만들 수 있습니다. 아래 코드는 리스트 a에서 짝수에만 3을 곱하여 리스트에 담는 것입니다. 짝수라는 if 조건을 사용했습니다. >>> a = [1,2,3,4] >>> result = [num * 3 for num in a if num % 2 == 0] >>> print(result) [6, 12] 리스트 내포의 일반적인 문법입니다. 이런 리스트 내포을 여러 개 사용하는 것도 가능합니다. [표현식 for 항목 in 반복가능객체 if 조건문]

Programming/Python 2021.12.27

자주 사용되는 딕셔너리 함수

key 리스트 만들기(keys) a.keys()는 딕셔너리 a의 key만을 모아서 dict_keys 객체를 돌려줍니다. >>> a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'} >>> a.keys() dict_keys(['name', 'phone', 'birth']) 파이썬 2.7 버전까지는 a.keys() 함수를 호출할 때 반환 값으로 dict_keys가 아닌 리스트를 돌려주었는데, 리스트를 돌려주기 위해서 메모리 낭비가 발생해, 파이썬 3.0 이후 버전에서는 이러한 메모리 낭비를 줄이기 위해 dict_keys 객체를 돌려줍니다. dict_values, dict_items 역시 파이썬 3.0 이후 버전에서 추가된 것들입니다. 만약 3.0 이후 버..

Programming/Python 2021.12.27

자주 사용되는 문자열 함수

문자열 자료형은 자체적으로 함수를 가지고 있습니다. 이 함수들을 문자열 내장 함수라고 하는데요, 이 내장 함수를 사용하려면 문자열 변수 이름 뒤에 ' . ' 콤마를 붙인 다음에 함수 이름을 써주면 됩니다. 문자 개수 세기(count) count(x)는 문자열 중 'x'의 개수를 돌려줍니다. >>> a = "hobby" >>> a.count('b') 2 위치 알려주기1(find) find(x)는 문자열 중 문자 'x'가 처음으로 나온 위치를 반환합니다. 만약, 찾는 문자나 문자열이 없다면 -1을 반환합니다. >>> a = "Python is the best choice" >>> a.find('b') 14 >>> a.find('k') -1 위치 알려주기2(index) index(x)는 문자열 중 'x'가 맨..

Programming/Python 2021.12.27

자주 사용되는 리스트 함수

리스트 변수 이름 뒤에 ' . ' 콤마를 붙여서 관련 함수들 사용할 수 있습니다. 리스트에 요소 추가(append) append(x)는 리스트의 맨 마지막에 x를 추가하는 함수입니다. >>> a = [1, 2, 3] >>> a.append(4) >>> a [1, 2, 3, 4] 리스트 안에는 어떤 자료형도 추가가 가능합니다. 다음 예는 리스트에 다른 리스트를 추가한 결과입니다. >>> a.append([5,6]) >>> a [1, 2, 3, 4, [5, 6]] 리스트 정렬(sort) sort()는 리스트의 요소를 순서대로 정렬합니다. >>> a = [1, 4, 3, 2] >>> a.sort() >>> a [1, 2, 3, 4] >>> a = ['a', 'c', 'b'] >>> a.sort() >>> a ..

Programming/Python 2021.12.27

삼중 리스트에서 인덱싱/슬라이싱하기

삼중 리스트에서 인덱싱하기 아래와 같이 삼중 구조의 리스트가 있습니다. >>> a = [1, 2, ['a', 'b', ['Life', 'is']]] 리스트 a 안에 ['a', 'b', ['Life', 'is']] 리스트가 포함되어 있고, 그 리스트 안에 다시 ['Life', 'is'] 리스트가 포함되어 있습니다. >>> a[2][2][0] 'Life' a[2][2][0] 위 예는 리스트 a의 세 번째 요소인 리스트 ['a', 'b', ['Life', 'is']]에서 세 번째 요소인 리스트 ['Life', 'is']의 첫 번째 요소를 나타냅니다. 삼중 리스트에서 슬라이싱하기 아래와 같이 삼중 구조의 리스트가 있습니다. >>> a = [1, 2, 3, ['a', 'b', 'c'], 4, 5] >>> a[2:..

Programming/Python 2021.12.27

2. SQL 기초 (SELECT문)

SELECT문 SELECT문은 SQL문의 가장 기본이 되는 구문입니다. 구문 형식을 살펴본다면, SELECT select_list [ INTO new_table ] [ FROM table_source ] [ WHERE search_condition ] [ GROUP BY group_by_expression ] [ HAVING search_condition ] [ ORDER BY order_expression [ ASC | DESC ] ] ------------------------------------------------------------------------------------------------------------------------------ - WHERE 조건절 : 대상이 되는 데이터..

3. SQL 기초 (CASE문, DISTINCT, WHERE, LIKE)

CASE문 아래 코드와 같이 사용합니다. select 컬럼명 case when '조건 then '조건에 만족할 때 출력할 데이터' else '조건에 만족하지 않을 때 출력할 데이터' END FROM 테이블 명; When과 Then을 여러 개 입력하여 다중 조건으로 설정할 수 있습니다. 아래 예제는 emp 테이블에서 급여에 조건을 설정하였습니다. select ename, sal, case when sal