본문 바로가기

프로그래밍/Python17

Fedora 37 + Visual Studio Code환경에서 Python패키지 설치와 가상환경 사용하기(feat. matplotlib, tkinter) Fedora 37 + Visual Studio Code 환경에서 가상환경을 만들고 패키지를 설치하는 방법을 알아봅니다. 예제로 matplotlib를 설치하고 그래프를 그려보겠습니다. Linux에서 실행되는 Visual Studio Code는 WSL(Windows Subsystem for Linux)을 사용해서 터미널을 실행하고 프로그램들을 실행합니다. WSL 내에서 실행되는 matplotlib은 WSL의 UI 지원 부족으로 그래프를 보여줄 수 없습니다. 그래서 tkinter를 설치해서 그래프를 출력합니다. tkinter는 Python interface to Tcl/Tk로 Tcl/Tk GUI 툴킷을 사용할 수 있도록 해 줍니다. 1. tkinter를 설치합니다. sudo dnf install python3.. 2023. 6. 5.
Python 3.10.2와 PyScripter 설치하기 오랜만에 파이썬을 다시 보니 파이썬 버전도 많이 올라 갔네요. 이전에는 파이썬 3.6과 Eclipse + PyDev 조합을 사용했었습니다. 이번에는 파이썬 새버전과 좀 더 가벼운 IDE로 PyScripter를 사용해볼까 합니다. 파이썬 공식 홈페이지는 https://www.python.org/ 입니다. 파이썬 윈도우용 바이너리 다운로드 페이지는 https://www.python.org/downloads/windows/ 설치해볼것은 64bit 윈도우용 인스톨러 버전 입니다. 다운로드한 파일은 python-3.10.2-amd64.exe 이고, 크기는 26.9MB 정도 입니다. 인텔 CPU를 사용하더라도 이 파일을 사용해서 설치하면 됩니다. 다운로드 받은 파일을 더블클릭하여 설치합니다. 파이썬이 PATH환경변.. 2022. 2. 24.
파이썬 웹프로그래밍 - 장고(Django) 데이터베이스 API 사용하기 이 글은 앞의 글 "파이썬 웹프로그래밍 - 장고(Django) 튜토리얼 1(MySQL, MariaDB 연동)" 에 이어집니다. 대화식 Python Shell 에서 Django 데이터베이스 API를 테스트 해봅니다. 명령창을 열어서 앞에서 만든 샘플 프로젝트의 src 폴더에 들어가서 다음 명령을 실행합니다. D:\workspace\mysite\src\python manage.py shell 단순히 python만 실행하여 쉘을 띄우지 않는 이유는 manage.py 에 설정된 DJANGO_SETTINGS_MODULE 환경변수를 사용할 수 있게 하기 위해서 입니다. 이 환경에는 샘플 프로젝트에서 만든 데이터베이스 연결정보 객체 정보를 바로 사용할 수 있습니다. 1. 모델 임포트하고 Question 객체 생성하기.. 2018. 4. 21.
파이썬 문법 9 - 클래스(class) 만들기 파이썬은 객체지향 프로그래밍(Object Oriented Programming)을 할 수 있는 클래스 (class)를 지원합니다. 지금까지 봐왔던 데이터를 정의하고, 함수를 이용해서 데이터를 변형하여 원하는 결과를 얻는 형태의 프로그래밍 방식을 절차지향 프로그래밍 이라고 합니다. >>> data = [4,1,5,3,2] >>> data = sorted(data) >>> data [1, 2, 3, 4, 5] >>> 객체 지향 프로그래밍은 먼저 객체를 정의합니다. 객체는 멤버 변수(데이터)와 멤버 메소드(자신의 상태(데이터)를 변경하는 함수) 로 구성되어 집니다. 이러한 객체들이 서로 상호작용하여 객체의 상태가 바뀌어 원하는 결과를 얻는 프로그램 방식이 객체지향 프로그래밍 입니다. >>> data = [4,.. 2018. 4. 9.
파이썬 문법 8 - 모듈(module)과 패키지(package) 사용하기 지금까지 파이썬 프로그램을 실행해 볼 때 인터프리터를 사용해서 실행을 시켜봤습니다. 이 경우 인터프리터를 종료하면 작성한 내용이 모두 사라져 버립니다. 작성된 프로그램을 보존하기 위해서 프로그램의 내용을 텍스트 파일에 적어 보존 할 수 있는 방법이 모듈입니다. 이런 모듈들이 많아지면 모듈들을 잘 분류해서 모아둔 패키지를 만들어서 사용하게 됩니다. 파이썬 내에서 이미 만들어서 제공되는 유용한 패키지들이 많이 있습니다. 하지만 자신이 만들어서 써야할 경우도 많이 있습니다. 모듈과 패키지를 만들고 사용하는 방법을 알아보겠습니다. 1. 모듈 파이썬 모듈은 전역변수, 함수등 을 모아둔 파일 입니다. 1.1 모듈 만들기 food 라는 모듈명으로 cook(), eat() 라는 함수를 가지는 모듈을 food.py 파일.. 2018. 4. 9.
파이썬 웹프로그래밍 - 장고(Django) 튜토리얼 1(MySQL, MariaDB 연동) 이 내용은 장고(Django) 튜토리얼 https://docs.djangoproject.com/en/1.11/intro/ 을 정리한 내용 입니다. 이전 "파이썬 웹프로그래밍 - 장고(Django)설치" 에서 Django 를 설치하고, 명령행으로 사이트를 작성하고 실행하는 방법을 보았습니다. 이제부터 튜토리얼 내용을 하나씩 따라해 볼텐데, 여기서는 Eclipse와 PyDev 를 사용해서 애플리케이션을 작성하고 실행해 보겠습니다. 1. 프로젝트를 생성하고 실행해 봅니다. 프로젝트 생성까지의 이미지는 "장고(Django)설치"를 참조해 주십시오. 1.1. 이클립스 메뉴에서 File -> New -> Project... 를 선택합니다. PyDev -> PyDev Django Project를 선택하고 "Next".. 2018. 4. 9.
파이썬 문법 7 - 자료 구조 앞에서 리스트, 튜플, 셋과 같은 파이썬에서 특징적인 자료형에 대해서 알아 보았습니다. "Python 문법 2 - 식별자, 데이터 타입, 형변환, 연산자"를 참조하세요. 이번에는 이미 알아보았던 자료형들에 대해서 몇가지 새로운 사항에 대해서 알아보겠습니다. 1. 리스트의 메소드들 list.append( x ) : 리스트의 끝에 항목을 추가하십시오. ( a[len(a):] = [x] ) list.extend( iterable ) : iterable의 모든 항목을 추가하여 목록을 확장 해당합니다. ( a[len(a):] = iterable ) list.insert( i, x ) : 주어진 위치에 항목을 삽입합니다. 첫 번째 인수는 삽입하기 전에 요소의 인덱스이므로 a.insert(0, x)는 목록의 앞에 삽.. 2018. 4. 9.
파이썬 문법 6 - 이터레이터(Iterator) 와 제너레이터(Generator) 이글은 파이썬 튜토리얼의 Iterator를 정리한 것 입니다.(https://docs.python.org/3/tutorial/classes.html#iterators) 1. 이터레이터(Iterator) 파이썬에서 반복자는 여러개의 요소를 가지는 컨테이너(리스트, 튜플, 셋, 사전, 문자열)에서 각 요소를 하나씩 꺼내 어떤 처리를 수행하는 간편한 방법을 제공하는 객체 입니다. >>> for element in [1,2,3]: print(element) >>> for element in (1,2,3): print(element) >>> for element in {1,2,3}: print(element) >>> for key in {"a":1,"b":2,"c":3}: print(key) >>> for cha.. 2018. 4. 8.
파이썬 GUI - wxPython Phoenix 설치하기 파이썬으로 GUI(Graphic User Interface)를 사용할 수 있는 프로그램을 만들수 있습니다. Python용 GUI 라이브러리로 가장 잘 알려진게 wxPython 이 아닐까 생각합니다. wxPython은 Python용 GUI toolkit 입니다. 이것은 C++로 작성된 크로스 플랫폼 GUI 라이브러리인 wxWidgets를 랩핑하는 Python 확장 모듈로 만들어 졌습니다. 현재 정식 릴리즈는 Python 2용 버전이고, Python 3용은 아직 개발버전으로 wxPython Phoenix 라고 불립니다. Windows 10 + Phthon 3.6.0 + wxPython 4.0.0a2 를 설치하고 테스트 해보겠습니다. 윈도우즈 10에 Python 3.6.0을 설치하는 것은 "Python 설치하.. 2018. 4. 8.
파이썬 웹프로그래밍 - 장고(Django)설치 Python으로 웹프로그래밍을 하려면 많은 web framework(https://wiki.python.org/moin/WebFrameworks)가 있는것 같습니다. 이들중에 가장 잘 알려진 것이 장고(Django)인것 같습니다. 이 글에서는 Django의 설치 및 간단한 샘플을 실행해 보도록 하겠습니다. Django는 신속한 개발과 깨끗하고 실용적인 디자인을 부추기는 고수준의 Python 웹 프레임 워크입니다. 라고 공식 사이트에 나와 있습니다. (https://www.djangoproject.com/) Django는 BSD 라이센스 하에 오픈 소스로 제공 됩니다 이글을 작성하는 현재 Django 의 최신 버전은 1.11.1 버전입니다. Django는 를 설치하기 전에 먼저 Python이 설치되어 있어.. 2018. 4. 4.
파이썬 가상환경(virtualenv)만들기 파이썬을 사용할 때 기본으로 제공되는 라이브러리만 사용되지 않고 많은 기능을 제공하는 라이브러리들을 추가 하여 사용하게 됩니다. 이러한 라이브러리가 특정 프로젝트에서만 사용되거나 프로젝트를 배포할 때 필요한 라이브러리만 포함시켜 배포하고 싶을 경우가 있을 것입니다. 이럴때 사용할 수 있는것이 가상환경(virtualenv) 입니다. 가상환경을 만들고, 그 가상환경에서 라이브러리를 추가하면 추가된 라이브러리는 그 가상환경에서만 사용 되어집니다. 이 글에서는 Python 3.6 버전을 사용하여 테스트해 봅니다. Python의 설치는 이전에 작성된 글 "Python 설치하기" 를 참고 하세요. 설치 운영체제는 Windows 10 입니다. 파이썬 프로그램은 C:\util\Python36-32 폴더에 설치되어 있다.. 2018. 4. 4.
파이썬 문법 5 - 람다(lambda) 함수 파이썬에서 "lambda" 는 런타임에 생성해서 사용할 수 있는 익명 함수 입니다. 이것은 함수형 프로그래밍 언어에서 lambda와 정확히 똑같은 것은 아니지만, 파이썬에 잘 통합되어 있으며 filter(), map(), reduce()와 같은 전형적인 기능 개념과 함께 사용되는 매우 강력한 개념입니다. lambda는 쓰고 버리는 일시적인 함수 입니다. 함수가 생성된 곳에서만 필요합니다. 즉, 간단한 기능을 일반적인 함수와 같이 정의해두고 쓰는 것이 아니고 필요한 곳에서 즉시 사용하고 버릴 수 있습니다. 람다의 정의는 간단합니다. lambda 인자리스트: 표현식 >>> g = lambda x: x**2 >>> print(g(8)) 64 >>> >>> f = lambda x, y: x + y >>> pri.. 2018. 4. 4.
파이썬 문법 4 - 함수(function) 파이썬에서 함수를 정의하고 사용하는 방법에 대해서 알아 봅니다. 함수를 코드를 모아 두었다가 재사용할 수 있는 방법입니다. 이미 앞에서도 함수를 사용했었습니다. 바로 글을 출력하기 위한 print() 함수 입니다. >>> print('Hello, Python!') Hello, Python! >>> 이러한 미리 만들어져 있는 많은 유용한 함수들이 많이 있습니다. 이번에 해볼 것은 자신이 필요한 함수를 정의해서 사용하는 것입니다. 두 값을 더하는 간단한 함수를 하나 만들어보겠습니다. >>> def add(arg1, arg2): c = arg1 + arg2 return c >>> print(add(2, 3)) 5 >>> - 함수 정의의 시작을 def 로 시작합니다. - 그 뒤에 공백으로 띄우고 함수명이 나옵니.. 2018. 4. 4.
Python 문법 3 - Flow Control(흐름 제어) 파이썬에서 프로그램의 흐름을 제어할 수 있는 제어문에 대해 알아보겠습니다. 1. if 문 if 문장은 조건에 따라 흐름을 분기 할 수 있는 문장 입니다. 다음 예처럼 if 조건:, elif 조건:, else: 을 사용할 수 있습니다. >>> x = int(input("정수를 입력해 주세요: ")) 정수를 입력해 주세요: 42 >>> if x >> 음수가 입력되면 if x < 0: 구문이 실행되고 0 이나 1일 입력되면 elif 부분이 실행됩니다. 2이상의 값이 입력되면 eslse: 부분이 실행됩니다. elif.. 2018. 4. 3.
Python 문법 2 - 식별자, 데이터 타입, 형변환, 연산자 파이썬(Python) 언어는 기본적으로 인터프리터(interpreter)를 통해 실행되는 스크립트 언어 입니다. (로딩 속도를 높이기 위해 바이트코드로 컴파일 해서 사용하는 것도 가능합니다.) 파이썬은 변수를 선언할 때 타입을 지정하지 않습니다. 값을 할당하면 그때 동적으로 타입이 정해집니다. >>> a = 1 >>> a = '1234' >>> a = True 일단 값이 할당되어 타입이 정해지면 연산시 타입검사가 이루어집니다. >>> a = '1234' >>> b = 4 >>> c = a + b Traceback (most recent call last): File "", line 1, in c = a + b TypeError: must be str, not int 타입이 다를 경우 형변환을 해줘야 연산.. 2018. 4. 3.