Programing Language/Python

Programing Language/Python

[Python] for문과 iterable

for 파이썬의 for문에서는 else도 사용할 수 있다. for 변수 in iterable 객체: 수행할 문장 eles: for문 빠져나오기 직전에 수행 iterable 객체의 예로는 range(숫자), str, list, set, tuple, dict 등이 있다. for 변수 in range() 보통 파이썬에서 for문을 사용할 때 위와 같은 형태를 많이 본다. 위 같은 형태가 다른 언어에서 for (int i = 0; i < 3; i++) { .. } 형태인 것이다. 이 외에 다른 iterable 객체를 이용해 반복문을 돌릴 수 있다. for 변수 in 문자열 문자열 값에서 문자 하나하나씩 추출된다. for 변수 in list list 내 요소들이 하나씩 추출된다. for 변수 in dict dic..

Programing Language/Python

[Python] Short-Circuit Evaluation (SCE)

SCE 논리 연산자 and, or 표현식과의 관계이다. 참, 거짓 판정에 이어 논리 연산자의 결과는 expresstion 값이 되는데, 이를 short-circuit evaluation(SCE) 혹은 lazy evaluation이라고 한다. or 왼쪽이 참인 경우 왼쪽 값 반환 왼쪽이 거짓인 경우 오른쪽 값 반환 and 왼쪽이 참인 경우 오른쪽 값 반환 왼쪽이 거짓인 경우 왼쪽 값 반환 bool 타입은 당연하게 Ture, False 값들이 나온다. bool 타입이 아닌 다른 타입의 값들을 비교해본다. 파이썬에서 0은 False이므로 0 or 100 결과 값은 or의 오른쪽 값인 100이 반환된다. 'hello'와 'python'은 빈 문자열이 아니므로 True이다. 따라서 'hello' or 'pytho..

Programing Language/Python

[Python] 비교 연산자 chaining (ex. False == True == False)

💭 비교 연산자와 논리 연산자 조건식에 사용 가능한 비교 연산자와 논리 연산자가 있다. 비교 연산자와 논리 연산자의 결과 값은 항상 True 아니면 False이다. 비교 연산자 > >= 참 ^ (xor) : eXclusive OR (XOR, 배타적 논리합) 같으면 거짓, 다르면 참 💭 비교 연산자 chaining 비교 연산자는 임의로 체이닝 된다. 파이썬에는 범위 조건을 표현할 때 a

Programing Language/Python

[Python] 대입과 얕은 복사(Shallow copy), 깊은 복사(Deep copy)

💭 대입 연산 (Assignment) 대입 연산은 객체 복사가 아니다. 따라서 지금부터 설명할 대입과 복사는 연관된 것이 아닌 별개이다. id() 함수는 변수의 주소 값을 반환한다. 대입 연산은 주소 값을 복사하여 대입하는 것이기 때문에 b의 주소도 a의 주소와 같은 것을 확인할 수 있다. 이후 a 값을 변경한 뒤에 b의 값도 변화하는지 확인해본다. a에 1을 더하였다. a와 b는 주소 값이 같았었지만 b 값은 변화되지 않았고, a의 주소가 바뀌었다. 이를 이해하려면 iterable과 immutable의 개념에 대해서 알아야 한다. 지금은 간단히 그림으로만 설명한다. int 타입은 immutable 한 타입이다. 따라서 값 별로 개개인의 메모리 공간을 하나 갖고 있는 것이다. 파이썬에서는 중복된 immu..

Programing Language/Python

[Python] dict

파이썬의 집합 데이터 타입 list 순서 있음. 중복 허용. mutable tuple 순서 있음. 중복 허용. immutable set 순서 없음. 중복 허용 안 함. dict 순서 없음. key와 value 쌍으로 구성. dict dictionary 타입은 key-value 쌍으로 저장되는 데이터 집합이다. list, tuple, set은 value 중심지만 알고보면 key-value쌍으로 구성되어 있다. dict에서 key-value 쌍은 순서가 고정되지 않으므로 순서가 없고, key는 중복될 수 없다. 'name'과 'email'이라는 key 값이 있고, 'name' key에 대응하는 value 값인 '홍길동'과 'email' key에 대응하는 값인 'hong@mail.com' value 값이 있는..

Programing Language/Python

[Python] Set

파이썬의 집합 데이터 타입 list 순서 있음. 중복 허용. mutable tuple 순서 있음. 중복 허용. immutable set 순서 없음. 중복 허용 안 함. dict 순서 없음. key와 value 쌍으로 구성. Set 데이터 간 순서가 없고 중복을 허용하지 않는 집합 데이터이다. set은 set() 함수 또는 {}로 만들 수 있다. 중복을 허용하지 않는다고 하였으므로 'dog' 데이터 한 개는 인정되지 않는다. 따라서 animals set에는 'dog', 'cat', 'bird' 세 가지 데이터만 존재한다. 만약 list나 tuple에서 중복된 데이터를 제거하고 싶으면 set으로 형 변환한 뒤 다시 list나 tuple로 형 변환하면 된다. 순서가 없는 집합이므로 인덱스를 사용할 수 없다. ..

Programing Language/Python

[Python] tuple

파이썬의 집합 데이터 타입 list 순서 있음. 중복 허용. mutable tuple 순서 있음. 중복 허용. immutable set 순서 없음. 중복 허용 안 함. dict 순서 없음. key와 value 쌍으로 구성. tuple 콤마로 구분된 집합 데이터 타입이다. 원소 값은 immutable 한 값이기 때문에 list와 달리 원소 값을 변경할 수 없다는 게 특징이다. 따라서 주로 변경되지 말아야 할 데이터들을 저장할 때나, 복수의 값을 전달하는 목적으로 자주 쓰인다. 보통 튜플은 리스트와 비교하기 위해 ()로 선언하여 많이 쓰지만, 사실 ()가 없어도 콤마로 구분되어 있는 데이터 값들이면 튜플로 인식한다. 가장 중요한 점은 콤마(,)가 있어야 한다는 것이다. In [1]에서 보면 ()로 감싸 져 ..

Programing Language/Python

[Python] list 관련 함수

파이썬 리스트 관련 함수 .index(value) list 안에 value 값이 있으면 해당 value 값의 index를 반환한다. 만약 찾는 value 값이 여러 개 있는 경우 가장 처음에 발견한 데이터의 index 값을 반환한다. 찾는 value 값이 없다면 ValueError가 발생한다. .remove(value) 특정 value 값을 가진 원소를 삭제한다. 같은 value가 여러 개 있다면 첫 번째로 찾은 원소만 삭제한다. 찾는 value 값이 없다면 ValueError가 발생한다. .pop() list 맨 뒤에 위치한 원소를 반환하고, 해당 값을 list에서 제거한다. 매개변수를 넣어 해당 index의 원소를 pop 할 수도 있다. .sort() list 원소들을 정렬하는 함수이다. 기본으로는 ..

Programing Language/Python

[Python] 1차원, 다차원 list

1차원 list index를 하나만 사용하는 리스트이다. 리스트 내에 들어가는 데이터 타입은 어떠한 타입도 가능하다. list의 원소가 list인 경우 이를 다차원 리스트라고 말한다. 다차원 list list index를 여러 개 사용할 수 있다. 2차원 list data를 만들었다. data list의 길이는 3이다. [1, 2, 3] 1개, [10, 20, 30] 1개, [40, 50, 60] 1개 해서 총 3인 것이다. 인덱스 하나로만 접근하는 경우 위와 같이 리스트 내의 리스트가 출력된다. 리스트 내의 리스트의 원소를 출력하고 싶은 경우 [][]로 접근해야 한다. 다차원 리스트에서 각각의 원소들의 length는 다를 수 있다. 또한 꼭 다차원 list라 해서 list만 들어가야 하는 게 아닌, 다..

Programing Language/Python

[Python] List 개념과 추가, 삭제 및 인덱싱, 슬라이싱(slicng) [:]

파이썬의 집합 데이터 타입 파이썬에는 여러 개의 데이터를 담는 집합 데이터 타입들이 있다. list 순서 있음. 중복 허용. mutable tuple 순서 있음. 중복 허용. immutable set 순서 없음. 중복 허용 안 함. dict 순서 없음. key와 value 쌍으로 구성. list list는 []으로 만들고, 각 데이터(원소)들은 콤마로 구분한다. 데이터(원소) 타입은 어떠한 타입도 가능하다. 비어있는 리스트(empty list)도 만들 수 있다. 인덱싱(index) list의 데이터는 순서가 존재한다. 따라서 배열처럼 index 값을 이용해 접근할 수 있다. 파이썬도 다른 언어들과 마찬가지로 index 값의 시작은 0이다. 만약 존재하지 않는 index를 참조하려고 하는 경우 IndexE..

Programing Language/Python

[Python] 파이썬에서 여러 개 입력 받기

파이썬에서 입력받기 파이썬의 기본 입력 함수는 input()이다. 키보드로부터 입력받아 문자열(str)로 리턴한다. 숫자 값을 입력하였더라고 문자열로 반환되기 때문에 이 점을 항상 생각하며 사용해야 한다. 이와 같은 방식으로 input() 함수를 형변환 함수로 감싸주면 값이 형변환되어 저장된다. 여러 개 입력받기 input 함수는 한 번에 한 개의 값만을 입력받을 수 있다. a b c를 입력하였더라도 a b c 가 하나의 문자열로 인식된다. 두 가지 방법을 이용해서 여러 문자열을 입력받아본다. 방법 1) split() 매개변수 없이 사용하는 split 함수는 공백을 기준으로 문자열을 자른다. 따라서 a b c로 입력했을 때 공백을 기준으로 a, b, c가 각각 잘려서 3개의 변수에 대입되었다. split..

Programing Language/Python

[Python] 문자열 포맷팅 (Formating)

문자열 포맷팅 파이썬에서 문자열 포맷팅 하는 방법은 3가지가 있다. 첫 번째로 % 연산자를 사용하는 것. 두 번째는 format 함수를 사용하는것. 마지막으로 f-string 포맷팅을 사용하는 것이다. 💭 % 연산자 사용 서식 지정자(format specifier)를 포함한 문자열과 각 서식 지정자에 대응하는 데이터를 연결한다. format specifier (공식 문서 참고) 7.1. string — Common string operations — Python 2.7.18 documentation 7.1. string — Common string operations Source code: Lib/string.py The string module contains a number of useful cons..

밈아
'Programing Language/Python' 카테고리의 글 목록 (2 Page)