전체 글 241

[Python] 10. if 문(if statements)

if 문 (if statements) if문의 기본구조 if 조건문: 수행할 문장 1 수행할 문장 2 else: 수행할 문장 A 수행할 문장 B 들여쓰기를 할 때 공백 4개, 탭 중 하나만 선택해서 사용하자.(혼용할 시 에러 발생) 조건문 다음에 반드시 콜론을 붙히자. 조건문 : 어떤 조건이 주어질 때 True(참) 인지 False(거짓) 인지 판단하는 문장 비교 연산자 bool 값을 반환한다 (C와 동일) and, or, not x or y # x와 y 둘 중 하나만 참이여도 참 x and y # x와 y 둘다 참이어야 참 not x # x가 거짓이면 참 x in s, x not in s s 객체가 x 객체를 포함하고 있는지 판단 1 in [1, 2, 3] res : true 'j' no..

[Python Advanced] Object(객체) 저장 구조에 대한 탐구

Object(객체) 저장 구조 심화) 파이썬의 Objects 저장 구조 C를 공부해보신 분들이라면 Python의 변수가 낯설게 느껴질 수 있다 파이썬에는 포인터의 개념이 따로 존재하지 않음 Python과 달리 C에선 대입 연산 시 값을 복사하는게 기본 C의 객체가 메모리에 저장되는 구조와 Python의 객체가 메모리에 저장되는 구조의 차이점이 궁금한 분이라면 아래 내용을 읽어보시길 추천합니다. Python에서 mutable vs immutable 많은 분들이 immutable object 하면 tuple, str 만 생각할 것 같습니다. (혹은 complex, frozenset 까지) 하지만 int, float, bool 도 immutable한 Object 입니다. Why? a = 1하고 a = 2로 수..

[Python] 09. 변수(Variable)

변수(Variable) 변수 : 자료형의 값을 저장하는 공간 파이썬에서 변수는 객체라고 봐도 무방함 변수가 생성되는 과정 a = [1, 2, 3] [1, 2, 3] 값을 가지는 리스트 자료형(객체)가 자동으로 메모리에 생성됨 a는 [1, 2, 3]이 저장된 메모리 주소를 가리킨다. a 변수가 가리키는 주소 a = [1, 2, 3] id(a) res : 4304411776 # 변수의 주소 변수의 주소는 실행될 때 마다 다름 리스트를 복사할 때 a = [1, 2, 3] b = a b 와 a 는 완전히 동일하다. b가 a의 주소를 받은거다. (C의 포인터에서 얕은 복사느낌) id(a) == id(b) # 또는 a is b (a와 b가 가리키는 객체가 동일하나요?) res : true a[1] = 4 b[1] ..

[Python] 08. 불(bool) 자료형

불(bool) 자료형 불 자료형이란 자료형은 True, False 만 값으로 가짐 (대/소문자에 유의하자) a = True type(a) res : 조건문의 반환 값으로도 사용된다. 1 == 1 res : true 3. == 3 res : true 자료형의 참과 거짓 조건문에서 문자열, 리스트, 튜플, 딕셔너리의 값이 비어있으면 거짓 [], (), {}, "" a = [1, 2, 3, 4] while a: a.pop() --> pop을 하면서 a가 []가 되면 False 가 되므로 반복문이 중단되는 것이다. 숫자형 0은 거짓 나머지는 전부 True None과 False는 다른 Type의 값임 조건문에서는 None을 False와 같이 취급함 print(0 == False) # True print(0 == ..

[Python] 07. 딕셔너리(Dictionary) 자료형

딕셔너리(Dictionary) 자료형 딕셔너리(Dictionary)란 대응 관계를 나타내는 자료형 연관 배열 또는 해시 라고 함 key 와 value를 한쌍으로 갖는 자료형 key를 통해 value를 얻는다. 임의의 key에 의해 indexed 된 임의의 value들의 해시 테이블 key는 그 값을 변경할 수 없는 immutable 타입 value는 Immutable, mutable 모두 가능 key로 문자열이나 Tuple은 사용가능하지만, list는 사용할 수 없음 순서가 없는 자료형 딕셔너리(Dictionary)의 생성 방법 {Key1:Value1, Key2:Value2, Key3:Value3, ...} dic = {'name':'pey', 'phone':&..

[Python] 06. 집합(set) 자료형

집합(set) 자료형 집합(set)이란? 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형 순서에 상관없이 임의의 객체들을 담은 집합 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없다. 인덱싱으로 접근하고 싶으면 리스트로 형변환을 해야함 중복을 허용하지 않음 prof_set = {'Kim', 109, True} # 집합 자료 prof_set == {'Kim', True, 109} # True(unordered) prof_set == {'Kim', 109, True, True} # True(unique) 집합(set)의 생성 방법 set() 생성자 함수 사용 s1 = set([1,2,3]) s1 res : {1, 2, 3} s2 = set("Hello") s2 ..

[Python] 05. 튜플(Tuple) 자료형

튜플(Tuple) 자료형 튜플(Tuple)이란? 콤마(,)로 구분되는 임의의 python objects들의 목록 compound data 길이가 1개짜리 tuple 생성 시 뒤에 반드시 ,를 붙여야 함 리스트와 튜플의 공통점, 차이점 리스트는 []로 둘러싸고, 튜플은 ()로 둘러쌈 리스트는 값의 생성, 수정, 삭제가 가능하지만, 튜플은 그 값을 바꿀 수 없다. (수정하려고 시도하는 경우에는 오류 발생) 값이 바뀔까 걱정될 때는 튜플을, 값이 자주 변화될 경우에는 리스트를 사용한다. 튜플(Tuple)의 생성 방법 (Packing) 기본적인 생성 방법 리스트명 = (a, b, c, d, ...) example t1 = () t2 = (1,) # 1개의 요소만을 가질 때는 요소 뒤에 ,를 붙여야 한다. t3 ..

[Python] 04. 리스트(list) 자료형

리스트(list) 자료형 리스트(list)란? 임의의 파이썬 objects들의 모임 Compound data 입력된 순서 유지 어떤 자료형도 저장 가능 리스트(list) 생성 방법 기본적인 생성 방법 리스트명 = [a, b, c, d, ...] example list1 = list() # 생성자를 사용하여 리스트 생성 list2 = [] # empty list list3 = [1, 2, 3, True, 'A', [1, 2, 3]] # 리스트 자체를 요솟값으로 가질 수 있다 list4 = ['Life', 'is', 'too', 'short'] 리스트 위치 반환(index) a = [1, 2, 3] a.index(3) res : 2 # ..

[Python] 02. 변수의 선언과 자료형, 연산

변수의 선언과 자료형, 연산 1. 변수 선언 (변수이름) = (value) 파이썬은 Dynmically typed language(동적 타입 언어) 로서 런타임시 변수의 타입이 결정되는 언어 --> 변수 선언시 Type specifier(형식 지정자)가 필요하지 않음 정수형 a = 123 a = -111 a = 0 실수형 a = 1.3 a = 4.24E10(지수 표현 방식) 복소수(complex) a = 3.29 + 8.2j 2. 자료형 int : unlimited range를 가진 정수 a = 329 float : 배정도 방식(Double precision)을 사용하는 floating-point number a = 3.29 b = 3. (b = 3.0과 동일) bool : Boolean 값(False ..

[Python] 03. 파이썬 표준 출력과 문자열

파이썬 표준 출력과 문자열 1. print 함수 print(*args, sep=' ', end='\n', file=None, flush=False) args : 임의의 갯수의 arguments를 받음 (*positional arguments) sep=' ' : 출력 대상 사이의 구분자를 넣을 때 사용 (default : space) end='\n' : 마지막 문자열을 출력하고 출력할 문자에 end를 사용 (default : '\n') file : file-like object (스트림 / 출력방향) 지정 , (default : None) --> sys.stdout flush : 강제로 스트림을 flush 할건지 (default : F..