파일 입출력을 알기 전에 파일 입출력을 알기 전에 알아야 하는 개념이 있다. 파일의 논리적 구조 파일 안에는 byte들이 순차적으로 저장되어 있다. 파일의 맨 끝에는 EOF(end-of-file)마커가 있다. 파일 포인터 파일의 입출력 동작이 발생하는 위치를 파일 포인터라고 한다. 파일을 처음 열면, 파일 포인터는 파일의 첫 번째 바이트를 가리킨다. 파일의 내용을 읽거나 쓰면 파일 포인터는 자동으로 업데이트(다음 바이트를 가리킴)된다. 파일 열고 닫기 파일 열기 open()함수를 이용하여 파일을 열 수 있다. close()함수를 이용하여 파일을 닫을 수 있다. open() : 파일의 이름을 받아서 파일 객체를 생성한 후 이를 반환 close() : 파일 객체가 가지고 있는 close()메소드 호출 시 파..
모듈이란? 여러 개의 변수와 함수를 지니고 있는 집합체를 모듈이라고 한다. -자바의 라이브러리와 유사한 개념 모듈은 표준 모듈과 외부 모듈로 나뉜다 표준 모듈 : 파이썬이 기본적으로 내장하고 있는 모듈 외부 모듈 : 개발자가 만들어서 공개한 모듈 여러 개의 변수와 함수를 지닌 집합체를 모듈이라고 하고 이러한 모듈이 합쳐진 것을 패키지라고 한다. -모듈을 디렉토리 형식으로 구조화한 것이 패키지 모듈을 사용하는 이유 코드 재사용에 유리 코드를 기능별로 구분하고 관리에 편리 복잡하고 어려운 기능을 포함하는 프로그램을 간단한 코드로 제작 가능 모듈 사용하기 import문으로 모듈을 가져올 수 있다. import random #랜덤 모듈 가져오기 print(random.randint(0,10)) from문으로 특..
문자열 문자열도 시퀀스 자료구조에 속함 리스트에서 사용했던 인덱싱, 슬라이싱, 내장함수 모두 문자열에서 쓸 수 있음 문자열 내장 함수 함수 설명 chr() 정수를 문자로 변환 ord() 문자를 정수로 변환 len() 문자열의 길이를 반환 str() 객체의 문자열 표현을 반환 하지만 문자열은 불변객체이기 때문에, 리스트와는 달리 문자열을 바꿀 수 없다. word = "abcdef" word[0]="A" #TypeError: "str" object does not support item assignment 문자열 변경을 위해서는 새로운 사본 생성이 필요하다. ( 대부분 알아서 사본을 생성해주니 크게 신경 안 써도 된다) word = "abcdef" word = "A" + word[1:] print(word)..
딕셔너리란? 다수의 값을 저장하는 구조 값(value)과 관련된 키(key)도 저장됨 키를 통해 값에 접근 순서가 없음 딕셔너리의 생성 딕셔너리_이름 = {키1 : 값1, 키2 : 값2, 키3 : 값3, ........} capitals = {} #공백 딕셔너리 생성 capitals = {"Korea" : "Seoul", "USA" : "Washingtom", "UK" : "London"} #키와 값을 정의 키는 반드시 불변 객체이며 유일해야 함 -유일한 문자열, 숫자 또는 튜플 항목 탐색하기 capitals ={"Korea":"Seoul","USA":"Washington","UK":"London"} print( capitals["Korea"]) # 해당 딕셔너리 키가 없을 경우 예외 발생 #출력 결과 ..
세트의 개념 세트는 우리가 수학에서 배웠던 집합의 개념과 똑같음 세트는 리스트와 다르게 요소는 특정 순서로 저장되지 않으며 위치별로 액세스 할 수 없음 순서 유지의 필요가 없어 속도가 빠름 순서가 없기에 중복 항목은 지원하지 않음 세트의 생성 세트의 생성 세트_이름 = {항목1, 항목2, 항목3, ...} numbers = {1,2,3} #초기화된 세트 생성 values = set() #공백 세트 생성 리스트와 문자열을 사용한 세트의 정의 리스트로 세트 정의 numbers =set([1,2,3,1,2,3]) print(numbers) #출력 결과 : {1,2,3} 중복 데이터는 하나로 전환 문자열로 세트 정의 letters = set("abcab”) 리스트와 세트 간 전환을 활용한 예제 -리스트의 중복..
튜플이란 튜플은 리스트와 동일한 형태 다른 점은 리스트와 다르게 변경이 불가능하다(read-only) 나머지 기능(인덱싱, 슬라이싱 등)은 리스트와 동일함 튜플은 소괄호()를 사용하여 정의 fruits = () #공백 튜플 생성 fruits = ("apple","banana","grape") #초기값을 가진 튜플 생성 result = fruits[1] # 인덱스를 사용해서 요소 접근 가능 튜플은 괄호 없이 항목을 쉼표로 분리하여도 자동으로 튜플을 생성함 fruits = ("apple","banana","grape") fruits = "apple", "banana", "grape" #괄호 없이 튜플 생성 튜플 생성 시 주의할 점 요소가 하나뿐인 튜플을 만들 때는 요소의 끝에 반드시 쉼표를 추가해야 함 쉼표..
이전 리스트에 관한 글을 읽고 싶다면 2022.12.06 - [Language/Python] - [Python] 리스트(1) [Python] 리스트(1) 리스트의 개요 리스트란? - 리스트는 항목들을 저장하는 컨테이너로서 그 안에 항목들이 순서를 가지고 저장됨 - 리스트의 크기는 항목의 개수가 증가(감소)하면 자동으로 증가(감소)함 -> 동적 rebugs.tistory.com 리스트 합병, 복제, 비교 리스트의 합병 및 복제 +연산자를 활용하여 2개의 리스트를 하나로 합병 가능 heroes1 = [ "아이언맨", "토르" ] heroes2 = [ "헐크", "스칼렛 위치" ] avengers = heroes1 + heroes2 # avengers는 ['아이언맨', '토르', '헐크', '스칼렛 위치']가..
리스트의 개요 리스트란? - 리스트는 항목들을 저장하는 컨테이너로서 그 안에 항목들이 순서를 가지고 저장됨 - 리스트의 크기는 항목의 개수가 증가(감소)하면 자동으로 증가(감소)함 -> 동적 할당 - 리스트는 어떤 타입의 항목이라도 저장할 수 있음 - 파이썬에서 리스트는 가장 많이 사용되는 데이터 구조 리스트 항목 접근하기 인덱스(index) : 리스트에서의 항목의 위치(번호) 0부터 시작(메모리 주소 계산의 편의성) 리스트의 항목 변경 list1 = ["가", "나", "다", "라", "마"] list1[2] = "안녕" #2번째 인덱스의 값 변경 print(list1) 출력 결과는 ['가', '나', '안녕', '라', '마']이다. 음수 인덱스 마지막 데이터에 대한 빠른 접근 허용 리스트의 마지막..