728x90
반응형

파이썬 10

파이썬 - 내장 DB(SQL), 서버 DB(SQL)

•파이썬 DB모듈 파이썬에는 서버에서 사용하는 목적이 아닌 개인이 사용하기 위한 SQL 모듈을 지원한다. 바로 'sqlite3'이라는 모듈로 개인용으로 사용하거나 모바일 기기, 임베디드 시스템 또는 소규모의 웹사이트 제작에 효과적이다. 사용하는 방법은 그리 어렵지 않다. DB와 관련된 명령어는 SQL 명령어와 동일하다. (예시1) import sqlite3 # print(sqlite3.sqlite_version_info) # sqlite3의 버전을 알 수 있다. # SQL문과 명령어가 동일하다. # 일반적인 db 생성 방법 con_1 = sqlite3.connect('ex.db') # 예시 DB파일이 현재 모듈과 같은 경로에 저장된다. 연결 객체 생성 con_2 = sqlite3.connect(':mem..

파이썬(Python) 2023.03.04

파이썬 - 파일(I/O)

•파일의 읽고 쓰기 2023.01.19 - [파이썬] - 파이썬 - 읽고 쓰기와 모듈(Module) 모듈에 대한 내용을 다룰 때 모듈 기능에 파일을 만들고 저장하는 것을 모듈화 한 적이 있다. 이번에는 파일을 다루는데 좀 더 초점을 두고 정리하려고 한다. 프로그램을 만들 때 예외 사항이 발생해도 동작을 멈추지 않고 매끄럽게 진행되기 위해 사용하는 'try', 'except' 형태로 예시를 보자. (예시1 - 기본적인 파일 관리) import os # 현재 작업하고 있는 경로 확인 # print(os.getcwd()) try: location = 'C:/Users/Jo/OneDrive/Desktop/' # 읽기 letter = open(location + "Test.txt", mode = 'r', enco..

파이썬(Python) 2023.02.25

파이썬 - 클래스(3)

2023.01.25 - [파이썬] - 파이썬 - 클래스(1) 2023.02.08 - [파이썬] - 파이썬 - 클래스(2) 이전 게시글과 이어지는 내용이므로 참고 •추상 메서드 추상 메소드(abstractmethod)는 스스로는 객체 생성이 불가능하고, 부모 타입으로만 의미가 있다. 또 abs 메타를 상속 받아야만 사용할 수 있다. 전에 다뤘던 오버라이딩은 강제적으로 적용하는 강제성은 없지만 추상 메서드는 부모로부터 자료를 강제로 오버라이딩하는 것이라고 볼 수 있다. 즉, 강요(강조)하고 싶은 메서드를 하위 클래스에게 떠넘기는 것이라고 보면 된다. (예시) from abc import ABCMeta, abstractmethod class abs(metaclass = ABCMeta): # 추상 클래스 @ab..

파이썬(Python) 2023.02.18

파이썬 - 클래스(2)

2023.01.25 - [파이썬] - 파이썬 - 클래스(1) 파이썬 - 클래스(1) •클래스(Class) 클래스는 새로운 타입(Type)을 만드는 설계도라고 할 수 있다. 클래스의 작동 구성요소(멤버)로는 멤버 변수(속성), 메서드(행위)로 볼 수 있다. 클래스를 통해서 만들어진 것을 객 bluenoa.tistory.com 이전 게시글 내용에 이어서 작성되는 내용이므로 참고 •클래스(Class) 클래스는 또 다른 클래스를 불러서 사용할 수 있다. 전에 설명했듯이 다른 클래스에서 현재 클래스를 멤버로 사용할 수 있다. 즉, 클래스를 객체로 만들어서 사용할 수 있다는 것이며 이는 곧 객체지향적인 프로그램의 조립식 프로그래밍을 의미한다. 클래스의 포함 관계에 대한 예시를 보자. (예시1) 로또 번호를 뽑는 클..

파이썬(Python) 2023.02.08

파이썬 - 클래스(1)

•클래스(Class) 클래스는 새로운 타입(Type)을 만드는 설계도라고 할 수 있다. 클래스의 작동 구성요소(멤버)로는 멤버 변수(속성), 메서드(행위)로 볼 수 있다. 클래스를 통해서 만들어진 것을 객체(object)라고 한다. 이 객체들은 객체들 각각의 고유의 특징을 갖고 있고, 다른 객체에게 영향을 주지 않는다는 특징이 있다. 이전 게시글에서 작성한 모듈 같은 경우 파일 단위로 이름 공간을 갖지만, 클래스의 경우 생성하는 인스턴스로 이름 공간을 갖는다. 여기서 인스턴스는 클래스로 인해 만들어진 것이다. 그렇다면 여기서 '인스턴스 = 객체'인가 라는 생각이 들게 되는데 엄밀히 구분을 하면 다음과 같이 설명할 수 있다. x는 변수, Test_Class라는 클래스가 존재한다고 가정 x = Test_Cl..

파이썬(Python) 2023.01.25

파이썬 - 읽고 쓰기와 모듈(Module)

•Python의 읽고 쓰기 파이썬에서는 외부 파일을 가져와서 읽거나 작성한 내용을 저장하는 기능을 지원한다. # 기본적인 파일 생성 방법은 객체명 = open("파일명.txt", 'w') 프로그램이 작동되는 구간 객체명.close() 의 형태다. 여기서 open 명령어의 열기모드만 변경해 주면 읽기와 쓰기가 가능하다. 파일 open 명령어 설명 r 읽기 - 파일의 내용을 가져올 때 사용 w 쓰기 - 작성한 내용을 파일로 만들어 저장할 때 사용 a 추가 - 파일의 마지막 내용에 추가적인 내용을 저장할 때 사용 •모듈(Module) 모듈은 소스 코드를 재사용이 가능하게 해주는 공간으로 구분하고 관리하는 실행 단위이다. 모듈들은 하나의 물리적인 파일로 처리되며 표준 모듈, 사용자 정의 모듈, Third Par..

파이썬(Python) 2023.01.19

파이썬 - 함수 추가 내용(4)_Decorator & 재귀 함수

•Decorator(데코레이터) Decorator(데코레이터, 함수 장식자, Function Decorator)란 하위 클래스를 직접 사용하지 않고도 함수나 메소드 또는 클래스의 기능을 사용할 수 있다. 즉 Meta(데이터의 데이터) 기능이 있다는 것이다. 더 와닿을 수 있게 말을 하면 함수 장식자는 또 다른 함수를 감싼 함수라고도 표현할 수 있다. 메인 함수가 호출되면 그 반환값이 장식자에게 전달된다. 이 때 함수 장식자는 포함한 함수로 교체하여 함수를 반환한다. 글로만 표현하면 잘 와닿지 않기 때문에 다음 코드와 함께 보자. # 예시용 함수 3개 def mark_1(fn): return lambda: "이것은 " + fn() def mark_2(fn): return lambda: "함수를 " + fn..

파이썬(Python) 2023.01.14

파이썬 - 함수 추가 내용(3)_일급 함수와 축약 함수(lambda)

•일급 함수 임의의 함수를 다른 변수들처럼 동일하게 사용(다루는)할 수 있는 것을 의미한다. 일급함수로 정의되기 위해서는 조건이 있는데 함수 안에 함수(변수처럼)를 선언할 수 있어야 한다. 인자(argument)를 함수로 전달할 수 있어야 한다. 그리고 반환되는 값이 함수여야 한다. ※ 인자(argument)와 매개변수(parameter)의 차이점 인자와 매개변수는 서로 비슷하면서 엄밀히 따지면 다르다. 그 차이점을 만드는 것이 쓰임새다. 함수 정의에 직접적으로 사용되는 변수를 매개변수, 실제 함수에서 넘겨주는 어떤 값을 인자라고 할 수 있다. 간단한 예시를 통해 보면 다음과 같다. def anything(num1, num2): # 매개변수(Parameter) print(num1+num2) # 결과창에서..

파이썬(Python) 2023.01.11

파이썬 - 함수 추가 내용(2)

·Closure 클로저란 Scope에 제약을 받지 않는 변수들을 포함하고 있는 코드 블록을 뜻한다. 여기서 스코프(Scope)란 사전적인 의미를 찾아보면 '(주체조직활동 등이 다루는) 범위'라고 한다. 즉, 정리하자면 내부함수의 주소를 변환해 함수 밖에서도 함수의 내부 변수를 계속 참조하는 기술이다. 예를 들어서 다음과 같은 함수를 지정해서 함수 내부의 변수를 출력하려 하면 다음과 같은 결과가 출력된다. def Fn(a, b): c = a * b return c print(Fn(3, 5)) print(c) # 함수 내부에서 선언한 변수이기 때문에 오류가 발생한다. 15 NameError: name 'c' is not defined 이렇듯 함수 내부에서 선언된 변수는 외부에서 사용할 수 없다. 그와 관련된..

파이썬(Python) 2022.12.14

파이썬 - 함수 추가 내용(1)

·입력값이 여러 개인 경우의 함수 형식 def 함수이름(*매개변수): 수행할 문장 ... 예시 - 매개변수에 여러 값을 넣으면 해당 값들을 전부 더해주는 함수다. def plus_num(*args):#여러개의 값을 받아올 매개변수 지정 result = 0 for i in args: #매개변수를 i에 순차적 할당 result += i #result = result + i print(result) plus_num(1,2,3,4,5,6,7,8,9,10) #여러값을 넣어준다. 55 ※ 매개변수 자리에 args=28 등으로 초기값을 미리 설정해줄 수도 있다. ·키워드 파라미터 키워드 파라미터는 **를 이용해서 표현한다. 키워드 파라미터는 입력값을 모두 딕셔너리(사전형 자료)로 만들어서 출력한다. def key_v..

파이썬(Python) 2022.10.25
728x90
반응형