반응형

Python 21

컬렉션 타입 (딕셔너리)

파이썬의 딕셔너리는 키(Key) - 값(Value) 쌍을 저장하는 순서 없는, 변경 가능한(mutable) 컬렉션.딕셔너리는 중괄호 {}를 사용하여 생성하고, 키-값 쌍들은 쉼표 , 로 구분됨.각 키-값 쌍은 콜론 : 으로 구분된다.딕셔너리의 특징Key와 Value의 쌍 : 데이터를 저장할 때 반드시 매칭되는 키와 값을 함께 적어야 한다.순서가 없음 (Unordered) : 리스트나 튜플처럼 인덱스 번호로 값에 접근하지 않고, Key값을 사용해서 원하는 Value에 접근한다.Key값은 중복 불가, Value값은 중복 가능 : 하나의 딕셔너리 안에 똑같은 이름의 Key는 존재할수 없지만 똑같은 Value는 여러개 있어도 상관없음.Key는 변하지 않는 타입만 가능 : 딕셔너리의 키값은 한번 정하면 바꿀 수 ..

Python 2026.05.26

컬렉션 타입 (세트)

세트(set)는 중복되지 않는 항목들의 순서가 없는 컬렉션. 중괄호 {}를 사용하여 생성하거나 set() 생성자를 사용하여 만들 수 있음.세트의 특징중복을 허용하지 않음 (Unique) : 세트 안에는 똑같은 값이 절대 두 개 이상 존재할 수 없다. 중복된 값을 넣으려고 하면 파이썬이 알아서 하나만 남기고 지워버림.순서가 없음 (Unordered) : 리스트나 튜플처럼 인덱스가 없다. 그래서 값을 넣은 순서대로 출력되지 않고 무작위로 섞여서 나온다.인덱싱 불가능 : 순서가 없기때문에 리스트나 튜플에서처럼 인덱싱을 할 수 없다.세트의 생성s1 = {1, 3, 5, 7}s2 = {}print(type(s2))# # 아무 요소도 넣지 않으면 딕셔너리가 된다.li3 = [1, 2, 3, 4]s..

Python 2026.05.26

컬렉션 타입 (튜플)

여러 가지 데이터 타입의 값을 저장할 수 있는, 변경 불가능(Immutable)한 순서가 있는 컬렉션.튜플은 소괄호 ()를 사용하여 생성하고, 항목들은 쉼표 ,로 구분.튜플의 특징수정 불가능 (Immutable) : 요소를 추가, 삭제, 수정하는 것이 불가능하다. 따라서 데이터의 안전성이 보장된다.순서가 있음 (Ordered) : 요소들이 차례대로 번호(인덱스)를 가진다.중복 허용 : 똑같은 값을 여러 개 넣어도 괜찮다.다양한 타입 혼용 가능 : 하나의 튜플 안에 숫자, 문자열, 리스트, 또 다른 튜플을 넣을 수 있다.튜플의 생성# 기본적인 튜플 생성tu1 = (1, 3, 5, 7)# 소괄호를 생략해도 자동으로 튜플로 인식tu2 = 1, 3, 5, 7 📌 주의해야 할 점 (요소가 1개일 때) 요소가 한..

Python 2026.05.26

1.1 + 0.1 == 1.2 가 False가 나오는 이유

인간의 수학으로는 당연히 참이지만, 컴퓨터에게는 그렇지 않다. 그 이유는 컴퓨터가 소수를 다루는 방식에서 찾을 수 있다.부동소수점(Floating Point)란 무엇인가? 부동소수점에서 '부동'은 움직이지 않는다는 뜻이 아니라, 소수점이 둥둥 떠다닌다(Floating)는 뜻이다.아주 큰 수나 아주 작은 수를 제한된 비트(ex. 32비트, 64비트) 안에 효율적으로 표현하기 위해, 숫자를 고정된 형태의 과학적 표기법으로 나누어 저장하는 방식이다.부호 (Sign) : 양수 / 음수 결정가수 (Mantissa, M) : 숫자의 실제 유효 자릿수들을 저장지수 (Exponent, E) : 소수점의 위치를 결정단정도(32비트)에서는 부호부 1비트, 지수부 8 비트, 가수부 23비트.배정도(64비트)에서는 부호부 1..

Python 2026.05.25

컴퓨터가 음수(-)를 표현하는 방법

'부호비트(Sign Bit)'란 무엇인가? 우리는 일상에서 플러스(+)와 마이너스(-) 기호를 써서 양과 음을 표현할 수 있다.하지만 컴퓨터의 CPU는 오직 0과 1 만 넣을 수 있는 방(비트)만 가지고 있고 기호를 따로 표현할 방법이 없다.그래서 숫자의 양수와 음수를 구별하기 위해 데이터의 가장 왼쪽 첫 번째 비트를 부호 표시용으로 할당하게 되었다.맨 앞이 0 이면 양수 (+)맨 앞이 1 이면 음수 (-)예시 (8비트 기준 숫자 5와 -5)+5 = 0000 0101-5 = 1000 0101 가장 직관적인 방법이지만, 이 방식은 컴퓨터가 덧셈을 할 때 큰 문제가 발생하게 된다.예를 들어, 두 값을 더하게 되면 0이 되어야 하지만 컴퓨터의 덧셈으로는 '1000 1010 (-10)이라는 엉뚱한 값이 나오게 ..

Python 2026.05.25

리스트의 함수와 메서드

1. len()객체의 길이를 반환하는 파이썬의 기본 내장 함수li6 = [10, 20, 30]print(len(li6))# 32. append()리스트 요소의 끝에 새로운 요소를 추가, 한개씩 만 추가가 가능함.li6 = [10, 20, 30]print(li6) # [10, 20, 30]li6.append(100)print(li6) # [10, 20, 30, 100]# li6.append(200, 300)# TypeError: list.append() takes exactly one argument (2 given)li6.append([200, 300])print(li6) # [10, 20, 30, 100, [200, 300]]3. extend()리스트 요소의 끝에 새로운 여러 요소를 ..

Python 2026.05.22

컬렉션 타입 (리스트)

1. 컬렉션 타입여러 개의 데이터 항목을 하나의 단위로 관리할 수 있게 해주는 데이터 구조. 여러 개의 데이터를 하나의 변수에 저장하고, 관리할 수 있게 해줌. 파이썬에서는 리스트, 튜플, 딕셔너리, 세트 등이 기본적인 컬렉션 타입.2. 리스트리스트(List)는 여러 개의 데이터를 하나의 변수에 순서대로 저장할 수 있는 Python의 대표적인 컬렉션 자료형으로,대괄호( [ ] )를 사용해 생성. 각 요소는 인덱스를 통해 접근할 수 있으며, 서로 다른 자료형의 값을 함께 저장할 수 있고,요소의 추가, 수정, 삭제가 가능한 mutable(변경 가능한) 구조를 가진다. 이러한 특징으로 인해 리스트는 데이터를 묶어서 관리하거나 반복 처리할 때 매우 유용하게 사용됨.PyObject_HEADPyObject_HEAD..

Python 2026.05.22

연산자

연산자는 값을 계산하거나 비교하고, 논리적인 판단을 수행하기 위해 사용하는 기호로, 데이터 간의 연산을 간결하게 표현할 수 있게 해준다.1. 산술 연산자주로 수치 데이터 유형에 대한 기본 산술 연산을 수행하기 위해 사용.+ : 더하기- : 빼기* : 곱하기/ : 나누기//: 몫 (정수 나누기)% : 나머지**: 지수 (거듭제곱)print(10 + 3) # 13print(10 - 3) # 7print(10 * 3) # 30print(10 / 3) # 3.3333333333335 # 나누기 연산은 결과가 무조건 실수로 출력print(10 // 3) # 3print(10 % 3) # 1print(10 ** 3) # 1000# 산술 연산중 입력값 중에 실수가 하나라도 있다면 결과값도..

Python 2026.05.22

파이썬의 입력과 출력

input 함수 input 함수는 사용자(개발자)로부터 키보드 입력을 받는데 사용되는 내장 함수.프로그램 실행 중에 사용자가 값을 입력하면, 입력한 값이 문자열로 반환되어 변수에 저장하거나 처리할 수 있음.input()name = input('이름을 입력하세요')print(f'{name}님 안녕하세요!)# 실행 시 '이름을 입력하세요'가 터미널 창에서 출력되고 이름을 입력시 {name}님 안녕하세요! 가 출력name, age, weight = input('이름, 나이, 몸무게를 차례대로 입력하세요').split(' ')print(name)print(age)print(weight)# 한줄로도 입력을 받을 수 있고, 정보 입력 시 각각의 변수가 출력됨.num1 = input('첫번째 숫자를 입력하세요')nu..

Python 2026.05.22

파이썬 변수, 문자열 다루기

파이썬의 변수와 동작 방식 파이썬에서의 변수는 "객체를 가리키는 이름(참조)"x = 10 이라는 코드를 실행하면, 10이라는 정수 객체 메모리(Heap) 영역에 먼저 생성.변수 x 는 그 10 이라는 개체가 있는 메모리 주소를 "참조(Reference)"하게 됨.이러한 연결 정보는 내부적으로 네임스페이스(Namespace)라는 딕셔너리(dict) 구조에 저장되어 관리됨.💡 전역 네임스페이스 확인하기 : globals()파이썬 내장 함수인 globals()를 사용하면 현재 전역 범위에 정의된변수, 함수 등의 이름과 실제 객체의 매핑 정보를 딕셔너리 형태로 직접 확인할 수 있다. 예시# 1. 변수 값 변경 (참조하는 대상을 바꾸는 것)name = '김사과'age = 20print(name) # 김사과pri..

Python 2026.05.21
반응형