반응형

Devs 37

[Python] Tkinter - Canvas Widget

Tkinter에서 그림을 표시하기 위해서 Canvas 기능을 사용한다아래와 같은 예시 코드를 통해서 사용 방법을 알 수 있다 (Udemy Python 강의를 보면서 학습 중)from tkinter import *import math# ---------------------------- CONSTANTS ------------------------------- #PINK = "#e2979c"RED = "#e7305b"GREEN = "#9bdeac"YELLOW = "#f7f5dd"FONT_NAME = "Courier"WORK_MIN = 25SHORT_BREAK_MIN = 5LONG_BREAK_MIN = 20# ---------------------------- TIMER RESET --------------..

Devs/Python 2025.04.04

[Python] *args, **kwargs 를 알아보자

def add(*args):def add(*args): # tuple과 같이 인자가 넘어오므로 index로 아래처럼 사용할 수도 있다 print(args[1]) # 해당 형식으로 호출하는 경우 class 'tuple'로 반환되는 것을 볼 수 있다 #print(type(args)) sum = 0 for n in args: sum += n # 인자로 전해진 숫자의 합산 반환 return sum# 인자를 가변으로 넣을 수 있다print(add(3, 5, 6))위와 같이 함수를 정의할 때 매개변수에 *args를 넣는 경우가 있는데 이러한 경우에는 해당 함수가 몇개의 인자라도 허용한다는 것을 의미한다고 한다 add(1, 5)add(2, 4, 3, 7)위와 같이 가변적으로 사용이 가능하다 kwargs라고 **를..

Devs/Python 2025.04.03

[Python] Tkinter 알아보기

python에서 gui를 사용하기 위해서 Tkinter라는 것을 사용한다고 한다. 그 외에도 Turtle과 같은 모듈을 받아서 쓸 수 있지만 각종 버튼 등의 기능이나 동작이 있는 프로그램을 만들기 위해서 사용하는 것으로 보인다 실제 사용하는 방법은 아래와 같다# manual Link : https://docs.python.org/3/library/tkinter.html#import tkinter# 위처럼 사용하면 tkinter를 매번 다시 입력하는 경우, 아래처럼 사용하는 경우 tkinter를 안 쓸 수 있음from tkinter import *window = Tk()# 윈도우 창의 타이틀 변경window.title("Test")# 윈도우 가로, 세로 길이 조절window.minsize(width=500..

Devs/Python 2025.04.03

[Python] List Comprehension, Dictionary Comprehension 알아보기

파이썬에서는 다른 언어와는 다르게 List나 string 데이터를 사용하여 새로운 List데이터를 만들어 낼 수 (?) 있는 방법이 있다. 어떤 의미인지 애매한 느낌이 조금 있긴 한데 아래의 예처럼 사용 가능하다test = [1, 2, 3]n_test = [n + 1 for n in test]name = "Test"letter_list = [letter for letter in name] [ new item for item in list] 와 같은 형태로 사용하는 것으로 위 예시로 만들어진 n_test와 letter_list의 결과는 아래와 같다n_test = [2, 3, 4]letter_list = ['T', 'e', 's', 't'] 말 그대로 데이터에 있는 각 항목을 순회하면서 새로운 리스트를 만들..

Devs/Python 2025.04.02

[Python] File Read/Write와 with 사용법

file = open("test.txt")contents = file.read()print(contents)file.close() 위와 같이 파이썬에서는 open으로 파일을 열고 read로 해당 파일을 읽어서 출력이 가능추가로 파일을 open 후 여러 작업을 거치고 close를 해줘야 메모리를 잡아 먹지 않을 수 있는데 close를 놓칠 수 있는 점을 방지하기 위해서 with라는 키워드를 쓰면 close를 사용할 필요는 없다with open("test.txt") as file: contents = file.read() print(contents) 추가로 파일을 열고 write를 하기 위해서는 기본으로 open에서 mode가 r로 되어 있는 것을 w로 수정을 하면 된다with open("test.txt",..

Devs/Python 2025.04.01

[Python] List, Tuple Slicing 사용법

파이썬에서는 기존에 사용했떤 C계열에서는 못봤던 슬라이싱이라는 개념이 있다 test = ["a", "b", "c", "d", "e", "f", "g"]print(test[2:5]) ['c', 'd', 'e'] 위와 같은 결과를 보여주는 것인데 리스트나 튜플에서 특정 index 구간을 반환시켜준다. 정말 편리하게 사용할 수 있지 않을까 생각했던 기능 들 중 하나이고 [시작 인덱스:종료 인덱스] 와 같이 쓰거나, [시작 인덱스:종료 인덱스:순회시 인덱스 증가치] 와 같이 쓰여서test[2:5:2] 와 같이 쓰면 2, 4 인덱스를 가져오는 방식으로 사용가능하다 (for 문법에서 쓰는 느낌처럼 사용 가능)추가로 종료 인덱스를 쓰지 않으면 해당 데이터 목록의 끝까지, 시작 인덱스를 쓰지 않으면 처음부터, 증가치는..

Devs/Python 2025.03.31

[Python] class 초기화와 상속

class Test: def __init__(self): pass 파이썬 클래스의 생성자는 위와 같이 사용한다. 추가로 내용이 비어있을 때를 위한 pass가 있다 from turtle import Turtleclass Test(Turtle): def __init__(self): super().__init__()상속의 경우 class Test(Turtle): 와 같이 부모 클래스 괄호 안에 넣어주고 생성자에서 부모 클래스의 생성자를 호출하는 방식으로 동작시킨다추가로 생성자 등에서 함수로 인자를 넘겨줄 때 특정 클래스 타입인지 적어줄 수 있는데, 아래처럼 할 수 있다from turtle import Turtlefrom test_brain import TestBrainclass Test(Turtle):..

Devs/Python 2025.03.26

UFUNCTION 매크로, RPC (Remote Procedure Call) 시스템

위 스크린샷처럼 OnHit 함수 위에 UFUNCTION 매크로를 배치한 함수 선언이 있다. 클래스 C++ 함수가 언리얼 엔지의 리플렉션 시스템으로 인식될 수 있게 하는 것이라고 한다. gpt로 다시 한 번 설명을 부탁해본 결과. 블루프린트, 네트워크, GC 등의 처리에서 다룰 수 있게 메타데이터를 추가라고 이해하면 될 듯 하다추가로 UCLASS와 다른 매크로들처럼 지정자를 지정하여 설정할 수 있다 간단히 블루프린트용 지정자, 네트워크 관련 지정자, 기타 몇가지 지정자들을 gpt에서 보고 메모용으로 기록해둔 것  - 네트워크 관련 지정자 (RPC)에 대해서 공부를 한 적이 없어서 이 부분에 대해서도 gpt에게 물어보고 정리 중대강의 개념을 이해하면 멀티플레이 게임에서 클라와 서버가 한쪽에서 실행한 기능을 ..

Devs/Unreal Engine 2025.03.20

[Python] Docstrings 알아보기

def format_name(f_name, l_name): """Take a first nd last name and format it to return the title case version of the name.""" formated_f_name = f_name.title() formated_l_name = l_name.title() return f"{formated_f_name} {formated_l_name}" 위와 같이 함수를 정의하고 바로 아래 줄에 """ 로 문구를 입력하면 해당 함수에 대한 설명이 아래처럼 보이는 것을 알 수 있다. 실제 개발을 하게 된다면 주석이 필수적인 것이라 잘 기억해두고 써먹는 것이 좋을 듯 하다

Devs/Python 2025.03.20

CreateDefaultSubobject 함수, FName, FString, TEXT 매크로, TCHAR

CreateDefaultSubobject함수는 Object.h에 정의되어 있는 template 함수로 특정 타입의 인스턴스를 만들고 해당 포인터를 반환하는 함수로 보인다슈팅 게임 캐릭터의 예제에서는 UCameraComponent와 USkeletonMeshComponent의 인스턴스를 만드는 것으로 보인다.추가로 인자로 보내는 TEXT 매크로로 FName을 지정해서 해당 인스턴스의 이름을 지정하는 것으로 보인다  - FName위 CreateDefaultSubobject함수의 인자로 넘겨주는 타입이 자세히 보니 그냥 스트링이 아닌 FName으로 되어 있어서 좀 더 살펴보자. 주석을 보면 아래와 같이 써져 있다./** * Public name, available to the world. Names are s..

Devs/Unreal Engine 2025.03.18
반응형