Python
[Python] 기초 문법 - 예외처리
예외처리 - 코드의 에러를 처리하는 문법 - try : 에러가 발생할 것으로 예상되는 부분 - except : 에러 발생 시 진행되는 부분으로 에러를 처리할 코드를 작성 - finally : 에러 발생 여부와 상관없이 무조건 실행되는 부분 try : print('connect database') # 리소스 사용 print(1/0) except Exception as e: print(e) finally: # try 구문에 에러가 있던 없던 항상 코드 실행 print('disconnect') # 리소스 반납 print('python') - raise : 강제로 에러를 발생시킴 class LowNumber(Exception): def __str__(self): return 'insert number grate..
[Python] 기초 문법 - 모듈, 패키지
모듈 - 변수, 함수, 클래스를 하나의 파일(.py)로 모아서 코드 작성 모듈 만들기 %%writefile ai_school.py data = 'python' def echo(msg): print('ai school : ', msg) 모듈 사용하기 import ai_school from ai_school import echo from ai_school import data, echo from ai_school import * 또한 아래와 같이 alias를 사용하여 간단히 사용 가능 import ai_school as ais print(ais.data) ais.echo('fighting!') 패키지 - 여러개의 모듈을 디렉토리 구분하여 코드를 작성 디렉토리 구조를 확인하기 위한 우분투 패키지인 tree 설..
[Python] 기초 문법 - 입출력
입출력 - 입력 : RAM > SSD(HDD), 출력 : RAM 직렬화(byte()) > SSD(HDD) pickle - 텍스트 상태의 데이터가 아닌 파이썬 객체 자체를 바이너리 파일로 저장하는 것 - 장점 : 이미 필요한 형태로 저장이 되어있기 때문에(직렬화) 입출력 속도가 빠르다 Msg class를 pickle 을 통해 입출력 해보자! class Msg: def __init__(self, data): self.data = data msg = Msg('AI School') msg.data >> 'AI School' 입력 import pickle # RAM > SSD with open('msg.pkl', 'wb') as file: pickle.dump(msg, file)..
[Python] 기초 문법 - 클래스(2)
getter, setter - 객체의 내부 변수에 접근할 때 특정 메서드를 거쳐서 접근할 수 있도록 하는 방법 1. decorator 사용 class Person: def __init__(self, pw): self.hidden_pw = pw @property def pw(self): print('getter') return self.hidden_pw[:2] + '****' @pw.setter def pw(self, new_pw): print('setter') input_pw = input('insert password : ') if input_pw == self.hidden_pw: new_pw = input('insert new password : ') self.hidden_pw = new_pw els..
[Python] 기초 문법 - 클래스(1)
클래스 - 변수, 함수를 묶어서 코드를 작성하는 방법 - 객체지향을 구현하는 문법 객체지향 : 실제세계를 모델링하여 프로그램을 개발하는 개발 방법론 : 협업을 용이하게 하기 위함 계산기 설계하여 클래스 작성 1. 클래스 선언 : 코드작성 class Calculator: number1, number2 = 1, 2 def plus(self): return self.number1 + self.number2 def minus(self): return self.number1 - self.number2 2. 객체 생성 : 메모리사용 calc1 = Calculator() calc2 = Calculator() dir() : 객체에 들어있는 변수를 출력 [data for data in dir(calc1) if data[..
[Python] 네이버 파파고 번역 API 사용하기
파파고 번역기 API 사용하기 [사전준비] 1. https://developers.naver.com/ 로그인한다. NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음 developers.naver.com 2. Application - 어플리케이션 등록 colab에서 코드만 작성하여 확인할것이기 때문에 서비스 환경은 중요하지 않아 아래와 같이 설정함 3. Application - 내 어플리케이션에서 Client ID 값과 Client Secret 값 확인 [코드작성] 0. 통신과 데이터값을 다루기 위한 requests, js..
[Python] 기초 문법 - 함수
함수 - 반복적으로 사용되는 코드를 묶어서 사용하는 방법 > 코드의 유지보수가 쉬워짐 - def, return, argument, parameter, docstring, scope, lambda def - 함수 선언 parameter : 매개변수, 함수를 선언할때 나열되는 변수 argument : 전달인자, 함수를 호출할 때 전달되는 실제 값 import random # 함수선언 def display_lotto(count): # count : parameter lotto = [] while True: random_number = random.randint(1, 45) lotto.append(random_number) lotto = list(set(lotto)) if len(lotto) >= count: ..
[Python] 기초 문법 - 연산자, 조건문, 반복문
연산자 - CPU를 사용하는 방법 1. 산술연산자 : +, - > (10, 3, 2, 16, 2.0) 데이터 타입에 따라서 수행되는 연산이 다르다. d1, d2, d3, d5 = 1, 2, '3', '4' d1 + d2, d3 + d4 >> (3, '34') 데이터 타입의 형변환 함수 int(), float(), bool(), str(), list(), tuple(), dict() 2. 할당연산자 - 누적해서 산술연산을 수행한다. - 식별자 = 데..