[Programming Language]/[Python] 22

[Python] :: set의 합집합(union, |), 교집합(intersection, &), 차집합(difference, -)

◎ set 이란? 파이썬에서 set은 집합 자료형을 말한다. set은 대괄호([ ])를 사용하는 리스트와 달리 중괄호({ })를 사용한다. 이는 보통 리스트에서 2개 이상 중복되는 원소를 1개만 남기고 사용할 때 사용한다. set은 다음과 같은 특징이 존재한다. 중복된 원소를 가질 수 없다. 순서가 존재하지 않는다. > 예제 코드) 만약 [1, 2, 3, 3, 4]와 같은 리스트나 "Hello"와 같은 문자열이 있다고 가정해보자. 이 두개를 집합으로 만들면 아래와 같은 결과가 반환된다. list1 = [1, 2, 3, 3, 4] str1 = "Hello" print("set(list1) : ", set(list1)) print("set(str1) : ", set(str1)) > 실행 결과) 위와 같이 중..

[Python] :: for 반복문을 사용할 때 아무런 값도 필요하지 않은 경우 - '_(언더바 or 언더스코어)' 기호 사용

◎ '_' 기호 사용 보통 for 반복문을 사용할 때는 리스트나 딕셔너리 등의 원소를 하나씩 사용하는 경우와 특정 횟수만큼 반복 실행하는 경우이다. 리스트나 딕셔너리 등의 원소는 반복에 사용할 주요 정보이기 때문에 '_' 기호를 사용하지 않지만, 특정 횟수만큼 반복 실행하는 경우에는 딱히 필요한 정보가 없을 수도 있으므로 '_' 기호를 사용하곤 한다. 이 기호는 언더바 또는 언더스코어라고 부르고 아무 것도 필요하지 않을 때 사용하는 것이다. 이를 흔히 I don't care라고 말하기도 한다. > 예제 코드) x, _, z = 1, 2, 3 # x = 1, z = 3 print(f"x : {x}, z : {z} \n") x, *_, z = 1, 2, 3, 4, 5 # x = 1, z = 5 print(f..

[Python] :: 리스트(list) 원소 비교 방법(>, <, ==, !=)

◎ 두 리스트가 같은지 비교하는 방법 두 리스트의 원소의 값과 순서가 모두 일치하는지 확인하기 위해서는 ==와 != 연산자를 사용할 수 있다. == 연산자를 사용하게 되면 두 리스트의 원소의 값과 순서가 모두 일치해야지 True가 반환되고 그렇지 않다면 모두 False가 반환된다. != 연산자의 반환값은 == 연산자와 반대이다. list1 = [1, 2, 3, 4, 5] list2 = [1, 2, 3, 4, 5] list3 = [5, 4, 3, 2, 1] print("1. == 연산자") print("list1 == list2 : ", list1 == list2) # 값, 순서 모두 일치하므로 True print("list2 == list3 : ", list2 == list3) # 순서 불일치 하므로 F..

[Python] :: 제곱 함수 pow(), math.pow(), **연산자 // 제곱근 함수 math.sqrt(), "** 0.5"

** 기존에는 Programmers에서 코딩 테스트를 풀면서 하나씩 배우는 내용들을 Today's learning 카테코리에 적었으나 나중에 어떤 언어의 내용인지 구분하기가 쉽지 않을 것 같아서 각 언어별 카테고리에 작성하기로 변경하였다. ** ◎ 파이썬에서 제곱 결과를 얻는 방법 1) pow() 파이썬에서 제곱 결과를 얻는 방법 중 첫 번째로 다룰 방법은 기본적으로 제공되는 pow() 함수이다. 함수의 연산 결과는 정수형으로 반환된다. pow(a, b) : a의 b제곱을 반환 print(pow(10, 2)) print(pow(10, 3)) 2) math.pow() 두 번째로 다룰 방법은 math 라이브러리의 pow() 함수이다. 사용 형태는 기본 pow() 함수와 동일하지만 반환 값이 정수형이 아닌 실..

[Python] :: 클래스 총정리(객체, 인스턴스, 생성자 및 소멸자, isinstance(), 속성, 메소드, 클래스 변수, 정적 메소드와 클래스 메소드, 상속, 추상클래스)

◎ 클래스(Class) 파이썬은 Java와 동일하게 객체 지향 프로그래밍 언어(Object Oriented Programming Language)이다. 사실 대부분의 프로그래밍 언어는 객체 지향 프로그래밍 언어이다. 이는 클래스를 기반으로 한 객체를 생성하여 프로그래밍 하는 것을 뜻한다. 그렇다면 객체란 무엇인가? 1) 객체(Object) 객체란 여러 가지 속성을 가질 수 있는 대상을 의미한다. 예를 들어 '사람'은 '이름', '성별', '나이' 등의 속성을 가질 수 있으므로 하나의 객체라고 볼 수 있는 것이다. 1-1) 인스턴스(Instance) 인스턴스는 클래스를 기반으로 만들어진 객체를 의미한다. 즉, '인스턴스 == 객체' 관계인 것이다. 인스턴스라는 용어는 자주 사용되니 기억해두는 것이 좋다. ..

[Python] :: 모듈, 패키지, 라이브러리, 프레임워크의 차이 / 모듈 세부 내용

◎ 모듈, 패키지, 라이브러리, 프레임워크 1) 모듈(module) 모듈이란 최하위 개념으로 변수, 함수, 클래스 등이 포함된 하나의 파이썬 파일(****.py)이다. 사용자가 정의한 함수를 모듈로 저장하여 사용하면 유지보수가 간편하고 재사용에 용이하다는 장점이 존재한다. 2) 패키지(package) 패키지란 모듈의 상위 개념으로 여러 개의 단일 모듈이 모여 하나의 패키지를 이루게 된다. 모듈을 패키지라고도 하며 패키지를 모듈이라고도 한다. 그렇게까지 개념을 나눠서 사용하는 것 같진 않다. 3) 라이브러리(library) / 프레임워크(framework) 라이브러리/프레임워크란 여러 모듈이 모인 패키지가 모인 개념이다. 즉, 여러 패키지의 집합이라고 볼 수 있다. 라이브러리/프레임워크를 패키지라고도 하며..

[Python] :: 데코레이터(decorator) - '@'

◎ 데코레이터(decorator) 데코레이터란 이름에서도 알 수 있듯이 꾸며주는 것을 말한다. 여기서 꾸며주는 것의 대상은 함수와 클래스로 구분할 수 있다. 1) 함수를 꾸며주는 데코레이터 먼저 함수를 꾸며주는 데코레이터부터 살펴보도록 하자. 데코레이터는 '@' 기호를 통해 만들어진다. 아래는 간단한 함수 데코레이터의 예제다. def test(function): # 호출한 함수 'print_hello()'가 매개변수로 들어감 def wrapper(): print(function.__name__, "Start") function() print(function.__name__, "End") return wrapper # 데코레이터 생성 @test def print_hello(): print("Hello !!..

[Python] :: 예외 처리 - syntax error, runtime error(exception), 조건문 예외 처리, try 구문 예외 처리

◎ 파이썬에서의 오류(error) 파이썬을 비롯한 프로그래밍 언어에서 오류는 크게 2가지로 나누어 볼 수 있다. 구문 오류(syntax error) : 프로그램 실행 전에 발생하는 오류 런타임 오류(runtime error) 또는 예외(exception) : 프로그램 실행 중에 발생하는 오류 1) 구문 오류 구문 오류란 문법적인 부분에서 발생하는 오류를 말한다. 괄호의 개수, 들여쓰기, 따옴표의 개수 불일치 등으로 인해 프로그램이 실행되기도 전에 발생하는 오류이다. # 따옴표 개수 불일치 print("Hello) 2) 런타임 오류 or 예외 런타임 오류 또는 예외란 프로그램이 실행되는 도중에 발생하는 오류이다. 선언되지 않은 변수의 사용이나 리스트의 범위를 벗어난 인덱스에 접근하는 경우 등에 발생한다. ..

[Python] :: 파일 처리(파일 입출력) - open(), close(), read(), write(), with 키워드

◎ 파일 처리(파일 입출력) 파이썬에는 파일과 관련된 처리를 하는 표준 함수들이 기본적으로 제공된다. 제공되는 함수는 아래 표를 통해 나타내었다. 아래 표의 내용을 하나 open( ) 파일 열기 close( ) 파일 닫기 read( ) 파일 내용 읽기 readline( ) 파일 내용 한 줄씩 읽기 readlines( ) 파일 내용 전체를 한 줄씩 읽어 리스트 형태로 읽기 wrtie( ) 파일에 내용 쓰기 writelines( ) 리스트 내용을 파일에 쓰기 seek( ) 파일의 커서를 해당 위치로 옮기기 tell( ) 현재 커서의 위치 가져오기 with 키워드 파일 자동으로 닫기 1) open( ) 파일을 다루기 위해선 먼저 파일을 여는 과정이 필요한데 이때 사용되는 함수가 open()이다. 기본 형태는 ..

[Python] :: 튜플(tuple), 람다(lambda)

◎ 튜플(tuple) 튜플이란 리스트와 비슷한 자료형이지만 한 가지 중요한 차이가 존재한다. 이미 할당된 값의 수정이나 추가, 삭제가 가능한 리스트와는 달리 튜플은 모두 불가능하다. 튜플은 보통 함수와 사용된다. 그 형태는 아래와 같다. (데이터, 데이터, ..., 데이터) 1) 튜플의 생성 및 출력 # 튜플 생성 test_tuple = (1, 2, 3, 4, 5) # 튜플 출력 # 출력 1 print("test_tuple:", test_tuple) # 출력 2 for i in test_tuple: print(i) # 출력 3 for i in range(len(test_tuple)): print("test_tuple[{}]: {}".format(i, test_tuple[i])) 기본 형태의 튜플을 생성해..