<개인공부> 278

[Python] 파이썬 리스트와 튜플 차이점 알아보기

안녕하세요. BlockDMask 입니다.오늘은 파이썬의 리스트(List)와 튜플(Tuple)의 차이점에 대해서 알아보겠습니다.파이썬을 처음 공부하다 보면 리스트와 튜플이 비슷하게 생겨서 헷갈릴 수 있습니다.하지만 중요한 차이점이 있고, 그에 따라 사용하는 목적도 다릅니다.1. 리스트(List)와 튜플(Tuple)의 기본 구조# 리스트는 대괄호 [] 사용my_list = [1, 2, 3, "BlockDMask"]# 튜플은 소괄호 () 사용my_tuple = (1, 2, 3, "BlockDMask")print(type(my_list)) # print(type(my_tuple)) # 설명: 리스트는 대괄호 [], 튜플은 소괄호 ()를 사용합니다.둘 다 여러 개의 값을 하나로 묶는 자료형이지만, 튜플은 변경이..

[Python] 파이썬 리스트 슬라이싱 정리 ([start:end:step] 완전 이해)

안녕하세요. BlockDMask 입니다.오늘은 파이썬에서 리스트를 원하는 구간만 잘라서 다루는 방법, 슬라이싱(Slicing)에 대해 정리해보겠습니다.특히 초보자가 헷갈리기 쉬운 start, end, step 개념을 정확히 짚어가면서 설명하겠습니다.0. 슬라이싱 기본 문법과 개념슬라이싱 문법: list[start:end:step]start : 가져올 시작 인덱스 (포함)end : 가져올 끝 인덱스 (포함하지 않음)step : 간격 (기본은 1)※ 인덱스는 0번부터 시작합니다.※ end 인덱스는 가져오지 않고, 직전까지만 포함합니다.※ step을 생략하면 기본값 1이 적용됩니다.1. 기본 슬라이싱 (start:end)numbers = [11, 22, 33, 44, 55, 66]print(numbers[1:..

[Python] 파이썬 리스트 정렬 심화 - key, reverse, lambda, 사용자 정의 정렬까지

안녕하세요. BlockDMask 입니다.오늘은 파이썬 리스트 정렬의 다양한 방법을 소개하겠습니다.sort, sorted 기본 사용법부터 key, reverse 옵션, lambda 응용, 그리고 사용자 정의 함수까지 예제와 함께 알아봅니다.1. 기본 정렬 - sort()와 sorted()numbers = [4, 2, 7, 1]numbers.sort()print(numbers) # [1, 2, 4, 7]numbers = [4, 2, 7, 1]sorted_numbers = sorted(numbers)print(sorted_numbers) # [1, 2, 4, 7]print(numbers) # [4, 2, 7, 1]설명: - sort()는 리스트 자체를 오름차순으로 정렬(값이 바뀜)합니다.- ..

[Python] 파이썬 index() 함수 정리 (문자 위치 찾기, 리스트 위치 찾기)

안녕하세요. BlockDMask 입니다.오늘은 파이썬에서 문자열 또는 리스트에서 특정 값의 위치(index)를 찾을 수 있는 index() 함수에 대해 알아보겠습니다.문자열에서 문자 위치를 찾거나, 리스트에서 특정 값의 위치를 구할 때 자주 사용하는 함수예요.사용 방법과 주의할 점, 에러가 나는 상황까지 예제와 함께 정리해볼게요.1. 문자열에서 index()text = "BlockDMask"position = text.index("D")print(position) # 5사용법: str.index(sub[, start[, end]])매개변수: 찾고자 하는 부분 문자열(sub), 시작 위치(start), 끝 위치(end) (옵션)반환값: 첫 번째로 일치하는 부분의 위치 (0부터 시작)특징: 찾는 문자열이 ..

[Python] 파이썬 range()의 숨겨진 기능들

안녕하세요. BlockDMask 입니다.오늘은 파이썬에서 반복문과 함께 자주 쓰이는 range() 함수의 숨겨진 기능들을 소개하겠습니다.보통은 단순히 숫자를 반복할 때 쓰지만,step을 음수로 주거나, reversed(), len() 없이 슬라이스처럼 다루는 등알아두면 실전에서 유용한 기능들이 꽤 많습니다.1. 기본적인 range() 사용법for i in range(5): print(i)출력:01234기본적으로 0부터 시작하며, 끝 숫자는 포함하지 않습니다.문법: range(start, stop, step)2. 시작 값과 step 지정for i in range(1, 6, 2): print(i)출력:1351부터 시작해서 2씩 증가하며 6 미만까지 반복합니다.3. step을 음수로 주기 (역순 반..

[Python] 파이썬 클래스 변수 vs 인스턴스 변수 차이

안녕하세요. BlockDMask 입니다.오늘은 파이썬 클래스에서 자주 혼동되는 클래스 변수(class variable)와 인스턴스 변수(instance variable)의 차이점에 대해 알아보겠습니다.두 개념은 비슷해 보이지만 동작 방식이 다르기 때문에,특히 초보자일수록 실수하기 쉬운 부분입니다.실제 예제와 함께 명확히 비교해보겠습니다.1. 인스턴스 변수란?객체(인스턴스)가 생성될 때마다 따로 생성되는 변수입니다.보통 self.변수명 형태로 선언합니다.class User: def __init__(self, name): self.name = name # 인스턴스 변수u1 = User("BlockDMask")u2 = User("Alice")print(u1.name) # BlockDMas..

[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는 전달된 인자들을 튜플로 묶어줍니다.- 인자의 개수에 상관없이 ..