반응형

파이썬 111

[Python] 로그 그래프 그리기, numpy log1p, log, log10 함수 비교

목차 파이썬 numpy log1p vs log vs log10 함수 차이 사실 이부분은 코드와 결과를 수식으로 보여주면 정말 쉽게 이해가 됩니다. 하나씩 예제 코드와 함께 수식으로 정리하겠습니다. 전체 코드는 글 하단에서 다운 받을 수 있습니다. 예제 코드1>> import numpy as np x = np.exp(3) y= np.log(x) print(y) 결과>> 3.0 주석>> 위 수식은 x에 e 지수 값을 넣고 y는 ln으로 출력을 받습니다. 그래서 e^3이므로 y는 3이 출력 됩니다. 예제 코드2>> import numpy as np x = np.exp(3) y= np.log1p(x) print(y) 결과>> 3.048587351573742 주석>> log1p 함수는 입력값에 1을 추가로 더한 ..

[Python] Numpy where 함수란? 예제 실습

목차 파이썬 Numpy where 함수란? 파이썬 numpy.where() 함수는 조건에 맞는 입력 어레이(array) 값의 인덱스(index) 값을 알려줍니다. Syntax는 아래와 같습니다. numpy.where(condition[, x, y]) 조건문이 만족(True)할 경우 x값을 False 일 경우 y를 출력 해줍니다. 조건만 있을 경우 조건의 입력 값에 index를 출력 해줍니다. 파이썬 Numpy where 예제 실습#1 예제 코드>> import numpy as np a_var = np.array([[1, 2, 3], [4, 5, 6]]) print("raw_data") print(a_var) print ("5와 같거나 작은 index 값") indices = np.where(a_var> ..

[라즈베리파이]웹 제어로 LED켜고 끄기(web server, remote control, flask)

목차 Raspberry Pi 웹서버에서 LED 제어하기 이번에는 보드의 GPIO23번 핀에 LED를 연결하고 flask를 사용해서 웹서버를 구동합니다. 외부에 노트북을 사용해서 해당 웹서버(Web server)에 접속하고 브라우저에 나온 버튼을 클릭하여 LED를 켜고 끄는 시험을 해보겠습니다. 하드웨어 연결은 아래와 같이 합니다. 원래 GPIO23번 핀과 GND 사이에 1kohm 저항(Resistor)을 둬서 LED를 보호해야 하나 귀찮아서 다이렉트로 연결했습니다. LED를 오래 쓰실려면 꼭 저항을 직렬로 연결해주세요 전체 코드>> #!/usr/bin/python3 from flask import Flask, render_template_string import RPi.GPIO as GPIO GPIO.s..

[라즈베리파이] Polling과 Interrupt로 입력 신호 받기(폴링, 인터럽트)

Raspbeery Pi Polling으로 입력 신호 받기 폴링(Polling) 방식은 지속적으로 해당 입력 신호쪽에 값을 기다리면서 값이 들어올때 값을 처리하는 방식입니다. 그렇기 때문에 비효율적인 방식입니다. 아래는 폴링(Polling) 방식의 특징입니다. 폴링을 시행하면 보드의 다른 코드를 진행할 수 없음 지속적으로 모니터링하여서 전력을 상대적으로 많이 사용 실제 폴링으로 동작하는 예제 코드를 통해 쉽게 이해해 보도록 하겠습니다. 해당 코드는 라즈베리파이 보드에서 나가는 5V신호와 접지(Ground) 신호를 저항 10kohm으로 GPIO23번 핀에 연결했다가 떨어뜨렸다가 하는 식으로 마치 버튼을 동작하는 것처럼 조작해서 이를 카운트하는 코드 입니다. 카운트 값은 print로 보드에서 확인할 수 있습니..

[Python] Pyside 메뉴바 만들기(Menu bar)

목차 파이썬 Pyside 메뉴바 만들기(Menu bar) GUI 프로그램을 보면 파일 저장, 불러오기 등 이러한 기능을 위쪽 상단에 메뉴 선택으로 만들어져 있음을 볼 수 있습니다. 이번 포스트는 Menu drop을 어떻게 만드는지를 알아보겠습니다. 우선 전체 코드로 결과와 함께 보여 드리고 주석으로 설명 드리겠습니다. 전체 코드>> from PySide6.QtWidgets import QMainWindow, QApplication, QLabel, QToolBar, QStatusBar, QCheckBox from PySide6.QtGui import QAction, QIcon, QKeySequence from PySide6.QtCore import Qt, QSize import sys class Qt_Ex..

[Python] Pyside 레이아웃 설정, 수직, 수평, 겹치기, 그리드(Layout, Vertical, Horizontal, Stack, Grid)

목차 Pyside는 최신 Pyside6를 사용했음을 알려드립니다. 파이썬 Pyside 레이아웃 설정: 수직(Vertical) 이번 포스트에서는 레이아웃(Layout) 설정에 대해 알아보겠습니다. 수직 레이아웃은 QVBoxLayout 객체를 사용해서 설정합니다. 아래 전체 예제 코드와 결과를 확인하고 코드에 대한 설명을 드리도록 하겠습니다. 수직 배치 예제 코드>> import sys from PySide6.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout from PySide6.QtGui import QPalette, QColor from PySide6.QtCore import QSize class Set_color(QWidget): de..

[Python] PySide 라벨 키보드 이벤트 (Lable, Keyboard, Event)

목차 파이썬 PySide 라벨 키보드 이벤트 (Lable, Keyboard, Event) 앞서 포스트에서 마우스(Mouse) 클릭 별 이벤트 발생 시 특정 함수나 기능을 실행시키는 방법에 대해 알아보았습니다. 이번 포스트에서는 라벨(Label)에 텍스트 입력(Text Input) 창을 만들고 텍스트에 입력창에 텍스트를 입력 시 해당 입력을 즉각적으로 표기하는 방법에 대해 알아보겠습니다. 예제를 통해 쉽게 알아보겠습니다. 예제 코드>> from PySide6.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QVBoxLayout, QWidget from PySide6.QtCore import QSize import sys class Qt_Ex(..

[Python] PySide 마우스 이벤트 동작(Mouse event)

목차 파이썬 PySide 마우스 클릭 이벤트 앞서 포스트의 내용처럼 마우스(Mouse) 설정을 class 내에서 진행하도록 하겠습니다. 마우스 관련 내용 이 외에 이해가 안되신다면 PySide 카테고리의 다른 글들을 보시면 쉽게 이해할 수 있습니다. 마우스 이벤트(Mouse event)는 QPushButton 함수에서 관리합니다. 우선 간단하게 아래에 마우스 클릭 시에 Hello 메세지를 전달하는 코드를 작성해보겠습니다. 마우스가 클릭하는 경우 인터럽트(Interrupt)가 발생해서 PySide GUI가 반응합니다. 예제 코드>> from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton from PySide6.QtCore import QS..

[Python] 파이썬 클래스 상속과 Super 사용 방법(Class)

목차 [Python] 파이썬 클래스 상속과 Super이란? 파이썬은 클래스(Class)간에 상속이 가능 합니다. 부모 클래스를 상속 받은 자식 클래스는 부모 클래스의 메소도(Method)를 사용할 수 있게 됩니다. super 함수는 자식 클래스와 객체 값을 받아서 부모 클래스의 함수에 접근하는 방식 입니다. 아래 예제를 통해 쉽게 이해해 보도록 하겠습니다. 예제 코드>> class F(): def __init__(self): print("Father") def how_old(self): print("I'm 55") class S(F): def __init__(self): print("Son") def who(self): print("I'm Son") a_var = S() a_var.how_old() a_..

[PySide6] PyQt란? Hello World 출력하기

목차 오늘 부터 Qt/PySide2를 공부해볼까 합니다. 감사합니다. PyQt란? PyQt 는 파이썬(Python)의 Qt GUI 프레임워크를 사용하는 라이브러리 입니다. Qt 자체는 C++ 베이스로 작성되었습니다. 하지만 파이썬에서 구동 시 C++ Compile 등에 소모되는 시간을 줄여서 빠르게 빌드되는 특징이 있습니다. 그리고 현재 Qt Designer라는 프로그램을 제공하고 있는데 해당 프로그램을 사용해서 시각적으로 빠르게 GUI를 제작할 수 있는 특징이 있습니다. 위 이미지는 Qt Designer의 이미지로 차후에는 위 프로그램을 사용해서 디자인할 계획 입니다. Hello World 출력하기 아래와 같이 pip install로 Qt/PySide2를 설치 해줍니다. pip install pysid..

반응형