Programming Language 98

[Python] 17. 모듈(module)

모듈(module) 모듈이란? 함수나 변수 또는 클래스를 모아 놓은 파일 다른 파이썬 프로그램에서 불러와 사용할 수 있게 만든 파일이기도 하다. 이미 만들어 놓은 모듈을 사용할 수도 있고, 직접 만들 수도 있다. 모듈 만들기 mod1.py에 덧셈, 뺄샘 함수를 만들었는데, 이 파일을 모듈이라 할 수 있다. 모듈 불러오기 import 대화형 인터프리터 사용 시 디렉토리를 모듈 파일이 존재하는 곳으로 이동시켜야만 import 할 수 있음. 환경변수나 sys.path모듈을 이용하여 모듈을 이동시키지 않고 import 할 수 있다. 형식 : import 모듈이름 (.py 쓰면 안됨!!) import mod1 print(mod1.add(3,4)) res : 7 print(mod1.sub(3,4)) res : -1..

[Python] 16. 클래스(Class), 상속(inheritance)

클래스, 상속 클래스와 객체 과자를 만드는 틀 -> 클래스 틀을 이용해 만든 과자 -> 객체 객체와 인스턴스의 차이 a = Cookie() 에서 a는 객체, a 객체는 Cookie의 인스턴스이다. 인스턴스 : 특정 객체가 어떤 클래스의 객체인지 관계 위주로 설명할 때 사용하는 말 사칙연산 클래스 만들기 class FourCal: def setdata(self, first, second): self.first = first # a.first = first, a 객체에 객체변수 first가 생성되고 값이 저장된다. self.second = second # a.second = second, a 객체에 객체변수 second가 생성되고 값이 저장된다. def add(self): return self.first +..

[Python] 15. 파일 입출력(FILE Input/Output)

파일 입출력(FILE I/O) 파일 다루기 : open() 함수 open 함수 원형 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) file 매개변수는 반드시 명시적으로 밝혀줘야 함 file : 파일 Directory 파일 열기 모드 r : 읽기 모드 파일을 읽기만 할 때 사용 w : 쓰기 모드 파일에 내용을 쓸 때 사용 해당 파일이 이미 존재하는 경우 내용이 모두 사라지고(truncate) 파일이 없으면 새로 생성됨 특정 경로에 생성하고 싶으면 디렉토리까지 적어주자. a : 추가 모드 파일의 마지막에 새로운 내용을 추가할 때 사용 x : 베타적 생성 모..

[Python] 14. 사용자 입력

사용자 입력 input() 사용자가 입력한 문장(string)을 a에 대입 숫자를 입력해도 string으로 저장됨 정수를 변수에 저장하고 싶으면 따로 int형으로 형변환을 해주자 a = input() b = int(input()) 프롬프트 값을 띄워서 사용자 입력 받기 input()의 argument로 문자열을 입력하여 프롬프트를 띄우면 된다. number = input("숫자를 입력하세요: ") 여러개의 정수 입력 받기 map 함수를 이용한다 a, b, c = map(int, input().split()) 입력받은 문자열을 공백을 기준으로 split 하고 분할된 문자열 마다 int형으로 형변환을 한다 2, 3, 4를 입력하면, a = 2, b = 3, c = 4가 된다. map함수에 대해선 추후 따로 설명

[Python] 13. 함수(function)

함수(function) 함수란? 수학에서 1차함수, 2차함수, 3차함수..., 다변수 함수, 등등 --> 미지수를 통해 나타낸 수식 프로그래밍에서 함수는 미지수(argument)를 전달해서 수식(코드)를 통해 나온 결과를 반환하는 것 파이썬 함수의 구조 def 함수 이름(매개변수): 수행할 문장 1 수행할 문장 2 # 호출하는 경우 함수 이름(argument) 변수 = 함수 이름(argument) # return value가 있는 경우 example def add(a, b): return a + b # 함수 add a = 3 b = 4 print(add(a, b)) # 7 매개변수가 없을 수도 있다. 결괏값(return value)이 없는 함수도 있다. def add(a, b): print(f'{..

[Python] 12. for 문(for statements)

for 문(for statements) for문의 기본 구조 for 변수 in 리스트(또는 튜플, 문자열): 수행문장 ... 정확히는 리스트나 튜플, 문자열과 같은 반복 가능한(iterable) 객체에서 for문을 사용할 수 있다. example test_list = ['one', 'two', 'three'] for i in test_list: print(i) # one, two, three a = [(1, 2), (3, 4), (5, 6)] for (first, last) in a: print(f'({first}, {last})') # (1, 2) (3, 4) (5, 6) marks = [70, 30, 100, 65, 59] number = 0 ..

[Python] 10. if 문(if statements)

if 문 (if statements) if문의 기본구조 if 조건문: 수행할 문장 1 수행할 문장 2 else: 수행할 문장 A 수행할 문장 B 들여쓰기를 할 때 공백 4개, 탭 중 하나만 선택해서 사용하자.(혼용할 시 에러 발생) 조건문 다음에 반드시 콜론을 붙히자. 조건문 : 어떤 조건이 주어질 때 True(참) 인지 False(거짓) 인지 판단하는 문장 비교 연산자 bool 값을 반환한다 (C와 동일) and, or, not x or y # x와 y 둘 중 하나만 참이여도 참 x and y # x와 y 둘다 참이어야 참 not x # x가 거짓이면 참 x in s, x not in s s 객체가 x 객체를 포함하고 있는지 판단 1 in [1, 2, 3] res : true 'j' no..

[Python Advanced] Object(객체) 저장 구조에 대한 탐구

Object(객체) 저장 구조 심화) 파이썬의 Objects 저장 구조 C를 공부해보신 분들이라면 Python의 변수가 낯설게 느껴질 수 있다 파이썬에는 포인터의 개념이 따로 존재하지 않음 Python과 달리 C에선 대입 연산 시 값을 복사하는게 기본 C의 객체가 메모리에 저장되는 구조와 Python의 객체가 메모리에 저장되는 구조의 차이점이 궁금한 분이라면 아래 내용을 읽어보시길 추천합니다. Python에서 mutable vs immutable 많은 분들이 immutable object 하면 tuple, str 만 생각할 것 같습니다. (혹은 complex, frozenset 까지) 하지만 int, float, bool 도 immutable한 Object 입니다. Why? a = 1하고 a = 2로 수..

[Python] 09. 변수(Variable)

변수(Variable) 변수 : 자료형의 값을 저장하는 공간 파이썬에서 변수는 객체라고 봐도 무방함 변수가 생성되는 과정 a = [1, 2, 3] [1, 2, 3] 값을 가지는 리스트 자료형(객체)가 자동으로 메모리에 생성됨 a는 [1, 2, 3]이 저장된 메모리 주소를 가리킨다. a 변수가 가리키는 주소 a = [1, 2, 3] id(a) res : 4304411776 # 변수의 주소 변수의 주소는 실행될 때 마다 다름 리스트를 복사할 때 a = [1, 2, 3] b = a b 와 a 는 완전히 동일하다. b가 a의 주소를 받은거다. (C의 포인터에서 얕은 복사느낌) id(a) == id(b) # 또는 a is b (a와 b가 가리키는 객체가 동일하나요?) res : true a[1] = 4 b[1] ..