본문 바로가기
728x90
반응형

파이썬18

Python만으로 어플을 만들어보자 A SimplePaint App with kivy 그림판 어플을 만들어보자 1. Adding Behaviour (touch -> new color) from random import random from kivy.app import App from kivy.uix.widget import Widget from kivy.graphics import Color, Ellipse, Line class MyPaintWidget(Widget): def on_touch_down(self, touch): color = (random(), random(), random()) #1 with self.canvas: Color(*color) #2 d = 30. Ellipse(pos=(touch.x - d / 2, touch.y - d / 2), size=(d, d)) tou.. 2023. 2. 8.
파이썬 언더스코어(_)에 대하여 파이썬에서 언더스코어(underscore, _)는 특별하다. 타 언어에서 언더스코어(_)는 단지 스네이크 표기법의 변수나 함수명을 위해서만 사용되어지는 반면 (물론 그렇지 않은 언어도 있다), 파이썬에서는 이 문자의 의미가 다양하다. 아마 파이썬 프로그래머라면 for _ in range(10)나 __init__(self)등의 문법들이 굉장히 익숙할 것이다. 이번 포스트에서는 이 언더스코어(_)가 언제 어떤 의미로 쓰이는지에 대해 다루어보려고 한다. 크게 기술적인 내용은 아니지만 파이썬 프로그래머로서 알아두면 좋을 것 같아 정리해보려고 한다. 파이썬에서 언더스코어(_)는 다음과 같은 상황에서 사용되는데 크게 5가지의 경우가 있다. 인터프리터(Interpreter)에서 마지막 값을 저장할 때 값을 무시하고 .. 2023. 1. 26.
Python만으로 어플을 만들어보자 (create an application) kivy 실행해보기 kivy도 설치했으니 이제 kivy공식문서를 따라 어플리케이션 개발을 진행해보고자 합니다. kivy에서는 kivy를 익히기 위한 튜토리얼로 단순한 형태의 핑퐁게임개발을 제공하고 있습니다. 초창기 컴퓨터에 들어가는 게임처럼 생겼군요 그런데 시작 하기 전에 먼저 Create an application 을 보고 오라고 하는군요! 그럼 보고옵시다. Create an application 여기서는 더욱 간단한 형태의 어플리케이션 구동을 설명하고 있습니다. 우선 가이드의 코드를 그대로 따라해 보겠습니다. kivy_venv를 생성했던 디렉토리에 main.py 파일을 생성한 뒤, 공식문서에 있는 코드를 그대로 복사해 넣어보겠습니다. import kivy kivy.require('2.1.0') # r.. 2023. 1. 20.
파이썬 type hints 파이썬은 동적으로 입력되는(dynamically typed)언어입니다. 그래서 다음과 같은 코드도 동작이 됩니다. name = '딥러닝 마스터' name = 26 name = True 'name'변수는 1. 'string(문자열)'로 시작하여 2. 'number(숫자)'가 되고 3. 마지막엔 boolean이 됩니다. 이러한 코드는 동작이 될지는 몰라도 유저 장치에서 실행되는 도중에 발생하는 수많은 런타임 에러의 원이이 되기도 합니다. def add(a, b, c): return a + b + c add(1, 2, 3) => 6 'a', 'b', 'c'를 취하고 'a+b+c'를 리턴하는 함수가 있습니다. 사람은 그 함수를 숫자로만 불러야 한다는 것을 알지만 파이썬은 그 사실을 알지 못합니다!!! 파이썬은 .. 2023. 1. 16.
Mypy를 사용한 타입 힌팅 Mypy는 파이썬에서 가장 일반적으로 사용하는 정적 타입 검사 도구입니다. mypy를 설치하면 프로젝트의 모든 파일을 분석하여 타입 불일치를 검사해줍니다. 버그를 조기에 발견할 수 있기 때문에 유용하지만 가끔 잘못 탐지하는 경우도 있습니다. pip를 사용해 설치할 수 있으며 프로젝트 셋업 파일에 종속성을 추가하는 것이 좋습니다. 1 $ pip install mypy cs 가상환경에 mypy를 설치하고 mypy [파일명]을 입력하면 타입 검사 결과를 제공합니다. 여기서 보고된 대부분의 내용은 가능한 준수하는 것이 좋습니다. 왜냐하면 실제 상용화 시 문제가 재현될 수 있기 때문입니다. 잘못된 탐지를 하는 경우가 인쓴데, 문장 끝에 다음과 같이 주석을 추가하여 mypy가 무시하도록 할 수 있습니다. Mypy .. 2023. 1. 16.
[Python] 정적 메소드 staticmethod, classmethod 파이썬 클래스의 코드들을 보면 종종 메서드 위에 데코레이터로 다음과 같은 것들이 붙어있을 때가 있다. @staticmethod @classmethod 오늘은 파이썬의 정적 메서드를 만드는 방법인 staticmethod, classmethod에 대해서 알아보도록 하자 본격적인 글에 앞서서 정적메서드(static method)란 무엇일까? 정적 메서드는 클래스가 생성되지 않아도 즉 인스턴스 없이도 사용할 수 있는 함수로 인스턴스에서는 호출 할 수 없는 함수를 가리킨다. 1. staticmethod staticmethod는 메서드를 정적 메소드로 바꿔주는 것으로 데코레이터를 이용해 바꿔준다. 일반적으로 메서드에는 맨 앞의 argument로 self를 넣어주지만 staticmethod에는 넣어주지 않는다. cl.. 2023. 1. 10.
[Python] OpenCV 웹캠 연결 문제 cv2.VideoCapture 해결 방법 윈도우 기본 카메라 앱에서는 출력되지만, opencv에서 특정 웹캠 연결 문제가 발생하여 영상이 출력되지 않는 경우가 가끔 발생합니다. 다양한 이유가 있지만, 동영상 프레임을 불러오는 과정을 결정짓는 apiPreference 문제로 발생하기도 합니다. 일반적으로 opencv가 알아서 최적값을 찾아주지만 영상 출력이 되지 않는다면 한 번 시도해보길 바랍니다. VideoCaptureAPIs 열거형 함수 CAP_ANY 자동 선택 CAP_V4L, CAP_V4L2 V4L/V4L2(리눅스) CAP_FIREWIRE, CAP_FIREWARE, CAP_IEEE1394 IEEE 1394 드라이버 CAP_DSHOW 다이렉트쇼(DirectShow) CAP_PVAPI PvAPI, Prosilica GigE SDK CAP_OPE.. 2023. 1. 5.
[파이썬 스킬업 #1] PEP8 스타일 가이드 핵심 정리 파이썬 코딩의 기술 정리 #1 출판사 Github >> https://github.com/gilbutITbook/080235 저자 Github >> https://github.com/bslatkin/effectivepython PEP8 스타일 가이드를 따릅시다 ! 파이썬은 코딩 스타일을 친절히 설명해주고 있습니다. 자기 멋대로 코딩해도 코드는 잘 돌아갑니다 하지만.... 다음과 같은 이유로 스타일 가이드를 지키는 것을 권장합니다. 스타일 가이드를 준수하고, 알고 있다면 어떤 코드든 접근하기 쉬워진다. 가독성이 높아지기 때문에 쉽게 이해하고 분석할 수 있다. 다른 프로그래머 혹은 오픈 소스를 활용할 때, 협력을 용이하게 해준다. 따라서, 파이썬을 무기로 사용하고자 하는 개발자라면, 언젠가 보게될 문서라고 .. 2023. 1. 5.
728x90
반응형