NAN/Python
-
[NumPy_1] 소개 / 배열 만들기 / 원소 다루기NAN/Python 2021. 6. 29. 14:00
소개 이제까지 파이썬 기초 문법에 대해 공부했다면, 데이터를 효과적으로 다룰 수 있는 라이브러리에 대해 공부해보자 파이썬을 효율적인 언어로 부상시킨 요인은 객체 지향적인 문법으로 인한 낮은 진입 장벽과 데이터를 효율적으로 사용할 수 있게 만든 라이브러리의 역할이 컸는데 그 라이브러리가 'NumPy'이다. 파이썬은 c언어에 비해 느린 속도로 인해 사용이 많지 않았으나 NumPy가 c언어를 기반으로 만들어져 아쉬웠던 속도가 빨라져 자연스럽게 많은 사용자의 선호를 얻게 되었다. NumPy 이는 ndarray 객체를 통해 1차원이 아닌 n차열 배열이 사용 가능한데, 언뜻 보기에 파이썬의 list와 비슷하지만, 동적 할당인 list와 다르게 정적 할당이라는 점에서 가장 큰 차이를 갖는다. (튜플과 비슷한 성질을 ..
-
[Python] 모듈NAN/Python 2021. 6. 24. 19:25
'모듈'이란 변수, 함수, 클래스 등등 특정 성질을 가진 요소의 모음이다. math 모듈에는 수학과 관련된 여러 변수와 함수들이 저장되어있고, 프로그래밍 언어에는 이런 기능들을 필요할 때 언제든 가져와 사용할 수 있다. 모듈 전체를 가져올 수도 있고, 사용하고자 하는 식만을 불러오기도 한다. import '모듈명' 모듈을 가져오는 첫번째 방법으로 import가 있는데, import math의 형태로 불러오며 이후부터는 math 모듈을 사용할 수 있다. form '모듈명' import '사용하고자 하는 식' 두 번째 방법은 사용하고자 하는 식만을 불러와 사용한다. import math math.sin(1) 0.84147... from math import sin sin(1) 0.84147... math ..
-
[Python] ClassNAN/Python 2021. 6. 20. 20:46
클래스란 메서드와 멤버의 집합체를 말한다. 다른 언어를 배우게 된다면 위의 두 단어를 자주 접하게 되는데 메서드는 함수, 멤버는 변수로 이해하자 우리는 반복되는 코드를 보다 편리하게 이용하기 위해 함수를 사용했는데, 클래스는 그러한 함수의 집합이라는 말이다. 비유하자면 음료는 변수와 같은 자료, 함수는 자판기, 이 자판기를 만드는 공장이 클래스이다. 공장에서 제품을 생산할 때 매 번 같은 모양의 틀을 만들어 제품을 생산하지않듯이 클래스 역시 이미 만들어둔 메서드를 통해 값을 출력해내는데 이를 인스턴트(instance)라고 부른다. class new_class: def welcome(): print('hello') a = new_class a.welcome() 'hello' 먼저 클래스를 선언하고 이름을 ..
-
[Python] 외부 모듈NAN/Python 2021. 6. 20. 20:44
프로그래밍 언어에 조금이라도 관심이 있는 사람이라면 numpy, Django, Tensor flow... 와 관련된 책이나 키워드를 보았을것이다. 이런 항목들이 바로 외부 모듈이다. 요즘 흔히들 말하는 인공지능, 머신러닝들을 공부하기 위해선 외부 모듈의 공부 역시 필수적으로 행 해져야 한다. 외부 모듈 설치 window + R 키를 눌러 프로그램 실행 창을 띄우고 cmd를 입력하면 나타나는 명령 프롬프트 창에서 pip install 모듈 이름을 통해 모듈을 설치할 수 있다. pip는 여러 가지 기능을 가지고 있는 예약어이고 이와 관련된 내용은 pip 문서를 참고하자 https://pip.pypa.io/en/stable/user_guide/#installing-packages User Guide - pip..
-
[Python] 예외 처리 고급NAN/Python 2021. 6. 20. 20:44
Exception 지난 포스팅에 가볍게 에러 코드의 종류를 살펴보았는데, 이는 try 구문에도 사용할 수 있다. 모든 예외 정보는 예외 객체 exception object에 저장되는데 이를 활용 할 수 있다. 예외 객체의 기본 형태는 다음과 같다. try: 예외가 발생할 가능성이 있는 구문 except 에러 코드 as 예외 객체를 활용할 변수 이름: 예외가 발생했을 때 실행할 구문 기본적으로 try except 구문과 큰 차이는 없지만, 여러 가지 예외 상황을 예상하고 미리 대처할 수 있다는 점으로 규모가 큰 프로젝트에 자주 사용되곤한다. list_number = [52,273,32,72,100] try: number = int(input("숫자를 입력하세요 : ")) print(f"{number}번째 ..
-
[Python] 예외 처리 try, except, finallyNAN/Python 2021. 6. 20. 20:42
프로그래밍을 시작하고, 꾸준히 공부하고 코드를 치게 된다면 몇 달, 몇 년이든 우리는 오류에서 벗어날 수 없다. 문법적 오류이거나 코드끼리 충돌을 한다던지 등등 여러가지 이유로 오류를 접하게 되는데 실력 향상을 위해서는 이런 오류 코드 역시 천천히 읽어보고 분석할 필요가 있다. 오류 코드는 크게 두 가지 종류가 있는데, 첫번째 문법적인 오류 Syntax Error로 이런 에러를 만날 경우 코드가 실행조차 되지 않고 멈추기 때문에 반드시 문법을 교정하고 실행해야한다. 두 번째 런타임 에러 혹은 예외는 코드가 실행 중에 만난 에러에 대한 경고를 나타내 준다. 문법적인 오류는 코드 자체가 실행되지 않기 때문에 코드가 실행 중 다운되어 프로그램이 종료되는 일이 없지만, 런타임 오류의 경우 실행 도중 갑작스럽게 ..
-
[Python] 함수 고급 (튜플,map,filter,lambda)NAN/Python 2021. 6. 20. 20:26
튜플 우리는 이미 파이썬을 공부하면서 튜플 형태의 자료형을 공부했는데, 튜플만이 가지는 특이한 성질이 밑바탕이 되어 함수에서도 많이 사용되곤 한다. 튜플의 특징 기본적인 사용법은 리스트와 동일 단, 한 번 지정한 자료의 변동은 불가하다. 만약 변수에 새로운 요소를 추가하고 싶다면 변수를 다시 생성해야 한다. 튜플을 생성할 때 변수와 값이 수 일치된다면 소괄호를 생략할 수 있다. 여기서 주목해야 할 건 값의 변동이 불가능하다는 점과 새로운 요소를 추가하기 위해서는 변수를 재생성해야 한다는 점이다. a,b = (10, 20) print(a) print(b) ti = b,a = 10, 20 print(a) print(b) print(type(ti)) 10 20 20 10 이처럼 값의 수정이 아닌 변수 위치 변..
-
[Python] 함수의 활용NAN/Python 2021. 6. 20. 20:25
프로그래밍 언어를 접하면 필수적으로 배우게 되는 for, while 반복문이 있는데, 이와 같은 반복문을 사용하지 않고 같은 구문을 반복하는 함수를 '재귀 함수'라고 부른다. 재귀 함수 def count_up(n): if n == 10: print('10을 달성했습니다.!') else: print(n) count_up(n+1) count_up(1) 1 2 3 4 5 6 7 8 9 10을 달성했습니다.! 간단한 예로 카운트를 세고 목표 카운트에 도달하면 종료되는 함수를 작성하였는데, if 조건을 만족하지않는동안 계속해서 작동되는 것을 확인할 수 있었다. 물론 for문을 사용하여 함수를 구성 할 수 있지만 프로그래밍을 하다 보면 이래저래 필요한 경우가 많다고 하니 지금은 이런게 있구나 하고 짚고 넘어가도록 ..