반응형

전체 글 424

[Python] 파이썬 클래스 초보자 가이드 (__init__, self)

안녕하세요. BlockDMask 입니다.오늘은 파이썬의 클래스(class)와 그 안에서 자주 쓰이는 __init__, self 키워드에 대해 알아보겠습니다.클래스는 객체지향 프로그래밍의 핵심이며,처음 파이썬을 배우는 분들에게는 살짝 낯설 수 있지만,한 번 익히면 코드를 더 구조적으로 짤 수 있게 됩니다.1. 클래스란?간단히 말해서, 클래스는 설계도이고, 객체는 실제 만들어진 물건입니다.예를 들어, 사람이라는 클래스를 만들면,이 클래스는 이름(name), 나이(age) 같은 속성(변수)과 인사하기 같은 동작(함수)을 가질 수 있습니다.2. 가장 기본적인 클래스 예제class Person: def say_hello(self): print("안녕하세요!") p = Person()..

[Python] 파이썬에서 날짜 다루기 (datetime 기본부터 실전까지)

안녕하세요. BlockDMask 입니다.오늘은 파이썬에서 날짜와 시간을 다룰 수 있는 내장 모듈인 datetime에 대해 알아보겠습니다.현재 날짜를 가져오는 법부터 날짜 덧셈, 차이 계산, 포맷 변경, 문자열 변환 등실제 프로젝트에서 자주 쓰이는 예제 중심으로 하나하나 정리해볼게요.1. datetime 모듈 불러오기import datetime또는 아래처럼 필요한 것만 불러올 수도 있어요:from datetime import datetime, timedelta2. 현재 날짜 및 시간 가져오기from datetime import datetimenow = datetime.now()print(now)출력 예:2025-03-22 14:25:37.4567893. 오늘 날짜만 가져오기 (date.today())fro..

[Python] 파이썬 리스트 컴프리헨션 vs for문

안녕하세요. BlockDMask 입니다.오늘은 파이썬에서 리스트를 만들 때 자주 사용되는 리스트 컴프리헨션(List Comprehension)과 기존의 for문 방식의 차이점에 대해 알아보겠습니다.속도, 코드 길이, 가독성 면에서 어떤 차이가 있는지 비교하면서 실전 예제도 함께 살펴보겠습니다.1. 리스트 컴프리헨션이란?리스트 컴프리헨션은 기존의 for문을 한 줄로 간단하게 표현하는 방식입니다.코드를 더 짧고 간결하게 만들 수 있고, 파이썬답게 코딩할 수 있게 도와줍니다.기본 문법:[표현식 for 변수 in 반복가능한객체]예를 들어 1부터 5까지의 제곱을 담은 리스트를 만들고 싶을 때, 일반 for문 방식:squares = []for i in range(1, 6): squares.append(i **..

[Python] 파이썬 *args와 **kwargs 알아보기

안녕하세요. BlockDMask 입니다.오늘은 파이썬 함수에서 자주 보이는 *args와 **kwargs에 대해 알아보겠습니다.처음에는 생소할 수 있지만, 함수의 인자를 유연하게 받을 수 있게 해주는 아주 유용한 문법입니다.실전에서 많이 쓰이므로 제대로 알아두면 코드가 훨씬 깔끔해집니다!1. *args란?*args는 가변 위치 인자라고 합니다.함수에 몇 개의 인자가 올지 모를 때, 여러 개의 인자를 튜플로 받아줍니다.def print_args(*args): for arg in args: print(arg)print_args('BlockDMask', 'Python', 123)결과:BlockDMaskPython123- *args는 전달된 인자들을 튜플로 묶어줍니다.- 인자의 개수에 상관없이 ..

[Python] 파이썬에서 파일 경로 다루기 (`os` vs `pathlib`)

안녕하세요. BlockDMask 입니다.오늘은 파이썬에서 파일 경로를 다룰 때 사용하는 두 가지 주요 모듈, os와 pathlib에 대해 알아보겠습니다.파일을 다룰 때 경로를 조작하는 일은 자주 발생합니다. 예를 들어, 특정 폴더 내의 파일을 검색하거나, 경로를 조합하는 등의 작업이 필요할 수 있습니다.이때 os 모듈과 pathlib 모듈을 어떻게 활용하면 좋을지 비교해보겠습니다.  1. os 모듈을 사용한 파일 경로 처리os 모듈은 전통적으로 파일 및 디렉토리 작업을 처리하는 데 사용됩니다.특히 os.path 하위 모듈을 활용하면 경로를 조작할 수 있습니다. 경로 합치기 (os.path.join)import osfolder = "C:\\Users\\BlockDMask"file_name = "exampl..

[Python] 파이썬 zip() 함수 활용법

안녕하세요. BlockDMask 입니다.오늘은 파이썬에서 리스트, 튜플 등의 자료형을 효율적으로 묶어주는 zip() 함수에 대해 알아보겠습니다.zip() 함수는 여러 개의 이터러블(iterable)을 하나의 튜플로 묶어주는 기능을 합니다. 이 함수는 데이터 리스트를 병렬 처리할 때 매우 유용합니다. 1. zip() 함수란?zip() 함수는 여러 개의 리스트, 튜플 등을 인덱스별로 묶어 튜플 형태로 반환하는 함수입니다.zip(iterable1, iterable2, ...) zip() 기본 사용 예제names = ["Alice", "Bob", "Charlie"]ages = [25, 30, 35]zipped = zip(names, ages)print(list(zipped)) # [('Alice', 25), ..

[Flutter] 플러터 List.generate 알아보기

안녕하세요. BlockDMask 입니다. 오늘은 플러터에서 리스트를 생성할 때 유용한 List.generate 함수에 대해 알아보겠습니다. 1. List.generate란?List.generate는 Dart에서 제공하는 기능으로, 특정 개수의 리스트를 빠르게 생성할 때 사용됩니다. 이 함수는 반복적으로 특정 규칙을 적용하여 리스트의 각 요소를 초기화할 수 있도록 도와줍니다.List List.generate( int length, T Function(int index) generator, {bool growable = false})length: 생성할 리스트의 길이generator: 각 인덱스에 대한 값을 생성하는 함수growable: 기본값은 false이며, true로 설정하면 리스트를 동적으로 확..

[Python] 파이썬 딕셔너리에서 get() vs [] 차이점

안녕하세요. BlockDMask 입니다.오늘은 파이썬 딕셔너리에서 get() 메서드와 [](대괄호)를 이용한 직접 접근 방식의 차이점에 대해 알아보겠습니다.딕셔너리는 키-값 쌍을 저장하는 자료구조로, 데이터를 효율적으로 관리하는 데 유용합니다. 하지만 키를 조회할 때 get()과 []를 어떻게 사용할지 고민될 수 있습니다. 각각의 방식이 어떤 차이를 가지며, 언제 어떤 방식을 사용하면 좋은지 살펴보겠습니다. 1. 딕셔너리에서 get()과 []의 기본 차이점딕셔너리에서 값을 조회하는 대표적인 두 가지 방법은 get() 메서드를 사용하는 것과 [](대괄호)로 직접 접근하는 것입니다.data = {"name": "Alice", "age": 25}[] (대괄호)로 직접 접근print(data["name"]) ..

[Python] 파이썬에서 if __name__ == "__main__"의 의미와 사용법

안녕하세요. BlockDMask 입니다.오늘은 파이썬에서 자주 보이는 if __name__ == "__main__"의 의미와 활용법에 대해 알아보겠습니다.초보자들이 처음 보면 이해하기 어려울 수 있는 개념이지만, 알고 나면 코드의 실행 흐름을 명확하게 제어할 수 있습니다. 1. if __name__ == "__main__"이란?파이썬에서 if __name__ == "__main__"은 특정 스크립트가 직접 실행될 때만 코드가 실행되도록 하는 조건문입니다.쉽게 말해, 해당 스크립트가 독립적인 프로그램으로 실행될 때만 특정 코드 블록을 실행하도록 해주는 역할을 합니다. 2. 기본 사용법다음과 같은 파이썬 코드가 있다고 가정해보겠습니다.# example.pydef hello(): print("Hello,..

카테고리 없음 2025.03.15

[Visual Studio] 비주얼스튜디오 유용한 단축키 10개

안녕하세요. BlockDMask 입니다.오늘은 Visual Studio에서 개발 속도를 높여주는 유용한 단축키 10가지를 엄선하여 소개해드리겠습니다.1. 코드 정의로 이동 (F12 또는 Ctrl + 클릭)함수나 변수의 정의로 바로 이동할 수 있어, 코드 흐름을 빠르게 파악할 수 있습니다. 2. 이전/다음 위치로 이동 (Ctrl + - / Ctrl + Shift + -)코드 탐색 중 이전 또는 다음 위치로 돌아갈 때 유용합니다. 3. 코드 줄 이동 (Alt + 방향키 위/아래)현재 코드 줄을 위나 아래로 쉽게 이동할 수 있어 가독성을 높일 때 편리합니다. 4. 문자열 찾기 및 바꾸기 (Ctrl + F / Ctrl + H)파일 내 특정 문자열을 빠르게 찾거나, 일괄 변경할 때 필수적인 기능입니다. 5. 코드..

[Python] 파이썬 with open() 을 써야하는 이유

안녕하세요, BlockDMask입니다. 이전에 파이썬의 enumerate() 함수에 대해 다뤘는데요. 이번에는 파일을 다룰 때 유용한 파이썬의 with open() 구문에 대해 알아보겠습니다.   1. with open() 함수란?파이썬에서 파일을 열고 닫을 때 사용하는 open() 함수는 파일을 연 후 작업이 끝나면 반드시 close()를 호출해줘야 합니다. 하지만 이를 깜빡하거나 예외 상황이 발생하면 파일이 제대로 닫히지 않을 수 있습니다. 이러한 문제를 해결하기 위해 파이썬에서는 with open() 구문을 제공합니다. 이 구문을 사용하면 파일을 자동으로 닫아주어 코드의 안정성과 가독성을 높일 수 있습니다.  2. 기존 open() 사용 방식과 문제점일반적으로 파일을 열고 닫을 때는 다음과 같이 o..

[Python] 파이썬 enumerate() 함수로 인덱스와 값 동시에 가져오기

안녕하세요. BlockDMask입니다.오늘은 파이썬의 enumerate 함수에 대해서 알아보겠습니다. 1. 함수 소개enumerate() 함수는 파이썬에서 반복문을 사용할 때, 인덱스와 요소를 동시에 접근할 수 있도록 도와주는 함수입니다.기존의 for 반복문에서 range(len(리스트))를 사용하는 대신 enumerate()를 사용하면 코드가 훨씬 간결해지고 가독성이 좋아집니다.또한, enumerate()는 다양한 자료형에 적용할 수 있어 리스트뿐만 아니라 튜플, 문자열, 딕셔너리 등 여러 곳에서 사용됩니다. 반복 작업이 많을수록 enumerate()는 개발 시간을 단축하고 유지보수를 쉽게 만듭니다.   2. 파이썬 enumerate 사용방법문법enumerate(iterable, start=0)- it..

[Dart] 다트 Null Safety와 !, ?, ??, ??= 연산자

안녕하세요. BlockDMask입니다.오늘은 Dart 문법 중에서 Null Safety (널 세이프티)와 관련된 중요한 개념들을 소개해 보겠습니다.다양한 곳에서 많이 쓰이는 !, ?, ??, ??= 연산자에 대해 알아보고, 안전한 null 처리를 위한 기법들도 함께 살펴보겠습니다.오늘 포스팅을 보면, 더 안정적이고 신뢰할 수 있는 코드를 작성할 수 있습니다. Null Safety가 왜 중요한가?Dart의 널 세이프티는 코드의 안정성을 높이는 중요한 기술입니다. Null Safety를 통해 변수에 null 값이 들어가는 것을 방지하거나, null 값으로 인해 발생할 수 있는 오류(Null Pointer Exception)를 사전에 차단할 수 있습니다. 이는 앱의 크래시를 줄이고, 런타임 에러를 예방하여 더..

[Dart] 다트 확장 메서드(Extension Methods) - 클래스에 기능 추가

안녕하세요. BlockDMask입니다.우리가 개발을 하다 보면 기본 클래스(String, List, DateTime 등), 외부 라이브러리에 원하는 기능이 없어서 불편할 때가 있습니다. 이때 정말 유용하게 사용할 수 있는 확장 메서드에 대해서 소개해 보려 합니다. 1. 확장 메서드란?Dart의 확장 메서드(Extension Methods)는 기존 클래스의 코드를 변경하지 않고도 새로운 메서드를 추가할 수 있는 기능입니다.이 기능을 활용하면 외부 라이브러리의 클래스나 기본 제공 클래스(String, List 등)에도 원하는 기능을 쉽게 확장할 수 있습니다.(C#에서도 확장 메서드 문법을 사용할 수 있습니다.)   2. 기본 문법 설명확장 메서드는 extension과 on 키워드만 알면 됩니다.- exten..

[Dart] 다트 .. (캐스캐이드 연산자) 정리

안녕하세요. BlockDMask입니다.오늘은 Dart 문법 중에 신기하고 편리한 문법인 캐스캐이드 연산자(..)에 대해서 이야기해볼까 합니다.잘 쓰면 코드를 간결하고 가독성 좋게만들어 줄 수 있습니다.그럼, 오늘은 캐스캐이드 연산자가 무엇인지, 언제 사용하면 좋은지, 예제까지 함께 설명해보겠습니다. 1. 캐스캐이드 연산자(..)가 무엇인가?우리가 보통 객체를 만들고 나면, 여러 개의 메서드를 호출하거나 프로퍼티를 설정해야 할 때가 많습니다.하지만, 매번 객체 이름을 반복하는 것은 코드가 길어지고, 좀 귀찮습니다.예를 들어서 아래 코드를 한번 보겠습니다.아래 코드는 사람(Person) 객체의 이름과 나이를 설정한 후, 자기소개를 하는 코드입니다. 일반적인 객체 함수 호출 여기서 보면 "person."을 계..

반응형