반응형

Python/파이썬 기초 57

파이썬 소요 시간 측정 방법 : time.time() 활용과 %timeit

파이썬에서 실행 시간을 재는 방법 파이썬에서 코드의 실행 시간을 측정하는 대표적인 두 가지 방법으로 time.time()과 timeit 모듈의 %timeit을 사용하는 경우에 대해서 각각 살펴보겠습니다. time.time() 활용 시간 측정 time 모듈의 time 함수는 현재 시각을 초 단위로 알려주기에 시작 시간과 끝 시간의 시각을 기록하여 이 둘 간의 차이를 구하면 소요 시간이 측정됩니다. import time start = time.time() # 시작 시간 기록 # 원하는 코드 실행 for i in range(10 ** 8): pass end = time.time() # 끝 시간 기록 # 소요 시간 출력(초 단위) print(end - start) # 2.647819757461548 %timei..

파이썬 lambda 이용 함수 선언 예제 : 인자/return 값 여러개, 기본 값 지정, if문 활용 등

파이썬 lambda 사용법 정리 파이썬에서 lambda를 이용하여 함수를 만드는 예제들을 정리해보며 기본적인 사용법과 인자나 반환 값이 여러개인 케이스, 기본 값을 지정하고 싶은 경우, 조건문을 포함하고 싶은 케이스 등에서 lambda를 활용하는 방법을 살펴보겠습니다. lambda 기본 사용 케이스 lambda의 기본적인 사용법은 lambda 사용할 변수 : 반환할 값 형태의 문법입니다. 이해를 돕기 위해 숫자 1개를 받아 2배를 취한 값을 돌려주는 함수 func1을 생각해보겠습니다. lambda를 이용하여 다음와 같이 함수를 작성할 수 있습니다. func1 = lambda x : 2 * x a = func1(5) # 10 b = func1(-3.5) # -7 여기서 lambda a : 2 * a 처럼 ..

파이썬 리스트 정렬 함수 sort()와 sorted()의 사용법 정리, 차이 비교

Python 정렬 함수 sort vs sorted 예제 파이썬에서 리스트를 단번에 정렬할 수 있는 sort와 sorted 함수에 대하여 각각의 사용법과 두 함수의 차이 비교에 관한 내용을 다루어보도록 하겠습니다. sort 함수 사용법 리스트 자료형에 대하여 list.sort() 코드 선언 후 리스트를 다시 출력해보시면 기본적으로 오름차순 정렬이 진행된 모습을 확인할 수 있습니다. list_a = [8, 1, 5, 3, 9] list_a.sort() # 이렇게만 실행하면 자동으로 정렬된 값으로 변경 print(list_a) # [1, 3, 5, 8, 9] 만일, 내림차순 정렬을 원한다면 reverse 인자를 True로 설정해주시면 됩니다. list_a = [8, 1, 5, 3, 9] list_a.sort(..

파이썬 del 명령어의 기능, 자료형별 사용 예제 정리

파이썬의 자료 삭제 명령어 del 사용법 파이썬에서 선언했던 자료를 지울 수 있는 del 명령어에 대하여 리스트, 딕셔너리, 문자열 및 내장 함수를 예시로 기능과 사용법을 살펴보겠습니다. del 변수 형태의 코드는 자료형에 상관없이 기본적으로 해당 변수의 선언 자체를 무효화시킵니다. del 사용 case 1 : 리스트 del 명령어의 기본 기능(자료 전체 삭제)을 사용하는 방법인 del list 형태로 리스트의 선언 자체를 무효화(빈 리스트로 만드는 것이 아닙니다.)할 수 있으며 del list[0] 혹은 del list[0:2] 형태처럼 인덱싱 혹은 슬라이싱 위치에 있는 특정 원소들만을 골라서 제거하는 기능도 지원합니다. list_ex = [1, 3, 5, 7, 9] # 인덱싱 형태로 리스트의 특정 원..

파이썬 len 함수 총정리 : 자료형별 길이 정의, 시간 복잡도, 클래스 내 __len__ 구현

Python length 반환 함수(len) 설명 파이썬에서 특정 자료의 길이(혹은 원소의 개수)를 손쉽게 조회할 수 있는 len 함수에 대하여 자료형별 len 값의 구성 비교와 실행 시 시간 복잡도, 그리고 직접 구현한 클래스 내에서 len 함수를 사용할 수 있도록 만드는 방법에 대하여 살펴보도록 하겠습니다. 자료형별 len 값 구성 예시 len 함수는 기본적으로 해당 자료의 길이라고 대표할 수 있는 값을 반환합니다. 예를 들어, 리스트, 튜플, 집합에서는 포함하고 있는 원소의 개수를 길이로 정의하며, 딕셔너리에서는 key-value pair의 개수, 문자열에서는 구성된 문자의 개수로 정의합니다. # 리스트, 튜플, 집합 -> 원소의 개수 print(len([1, 2, 3])) # 3 print(len..

파이썬 텍스트(txt) 파일 읽기 방법 정리(for문, read, readline, readlines)

Python txt 파일 읽기 예제 파이썬에서 텍스트 파일을 읽어들이는 방법을 간결하게 정리해보도록 하겠습니다. 이해를 돕기 위하여 아래의 예시 파일인 example.txt를 읽는 상황을 가정해 보겠습니다. 또한, 해당 txt 파일의 디렉토리는 파이썬 파일과 같은 폴더에 위치하는 상황을 가정하겠습니다. 참고 : open vs with open 구문 비교 먼저, 파일을 다루는 두 가지 구문인 open 구문과 with open 구문의 차이를 비교하겠습니다. open 구문은 별도의 들여쓰기는 필요 없으나 파일 사용이 끝나면 close를 해주어야 합니다. 반면에 with open 구문은 close는 필요가 없으나 사용할 범위 내에서 들여쓰기가 필요합니다. 두 문법의 예시 포맷 코드는 아래와 같습니다.(open ..

파이썬 클래스에서 self가 붙어서 선언된 변수의 의미, 사용 이유

Python class self 역할, 일반 변수와 차이 파이썬에서 클래스 객체를 선언할 때, self를 이용하여 변수를 선언하는 경우가 많습니다. 혼동하기 쉬운 self 선언 변수의 의미와 일반 변수와의 차이를 간략히 살펴보겠습니다. self로 선언된 변수 예시 이해를 돕기 위하여, '공격력' 정보와 '체력' 정보를 가지는 Unit이라는 객체를 생각해보겠습니다. 클래스 선언부와 내부 함수인 my_info로 Unit이라는 클래스가 구성되었음을 가정하겠습니다. 선언부에서는 self를 이용하여 att과 hp 변수를 다시 선언하고 있습니다. class Unit: def __init__(self, hp, att = 0): # hp, att 변수를 input으로 받으면서 선언(att은 기본 값 0) # self ..

파이썬 join 함수 사용법 간단 정리

Python join 함수 사용 방법 요약 및 예제 파이썬에서 리스트 혹은 튜플 내의 문자열들을 이어 붙이는 역할을 수행하는 join 함수는 다음과 같은 문법으로 사용해주시면 됩니다. '구분자'.join(문자열로만 이루어진 리스트 or 튜플) output은 input으로 들어간 리스트 혹은 튜플 내의 문자열들이 구분자로 연결된 전체 길이의 문자열 1개가 반환됩니다. 대표적으로 많이 사용되는 구분자 5가지에 대하여 join 함수를 적용해본 예제는 아래와 같습니다. # input 자료형 : 리스트 or 튜플(단, 모든 원소는 문자열 자료형이어야 함) list_ex = ['가가', '나나', '다다', '라라', '마마'] tuple_ex = ('가가', '나나', '다다', '라라', '마마') # list..

파이썬 리스트 내 중복 원소만 추출/중복 제거 방법 정리

list 자료형 내 중복 원소 찾기, 제거하기 파이썬의 리스트 자료형에서 2번 이상 등장한 원소들만 추출하는 방법과 중복을 제거하여 고유한 값들만 남기는 방법에 대해서 살펴보겠습니다. 리스트 내 2회 이상 등장 원소만 추출 for문을 통해 각 원소를 순회하며 처음 등장한 값인지 여부를 판별하여 이미 이전에 등장했던 원소들만 솎아내어 중복 원소만 추출이 쉽게 가능합니다. a = [1, 2, 3, 1, 2, 4, 5, 1] x = [] # 처음 등장한 값인지 판별하는 리스트 new_a = [] # 중복된 원소만 넣는 리스트 for i in a: if i not in x: # 처음 등장한 원소 x.append(i) else: if i not in new_a: # 이미 중복 원소로 판정된 경우는 제외 new_a..

파이썬 함수 안에 함수(중첩함수) 선언 예제, 변수 범위 원리

파이썬 중첩함수 사용법 및 원리 파이썬에서 함수 내부에 또 다른 함수를 선언하는 중첩함수라는 개념에 대하여 작동 원리 및 변수의 범위를 간단한 예제를 통해 이해해보도록 하겠습니다. 함수 안의 함수 사용 예시 def 내에 def 구문을 사용하는 식으로 중첩함수를 쉽게 선언할 수 있습니다. (lambda 형태를 사용하여 함수 내부 함수를 선언하는 것도 가능합니다.) 숫자 n을 input으로 넣으면 n을 더하는 내부 함수를 반환하는 함수의 예시는 아래와 같습니다. def make_func(n): def add_n(x): return x + n return add_n 참고로, def 내에 lambda를 사용한 케이스, lambda 내 lambda를 활용한 경우의 아래 선언 코드들도 모두 위의 코드와 같은 결과가..

반응형