일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Join
- String Method
- Selenium
- pandas
- javascript
- python
- aws jupyter notebook
- 자료구조
- queue
- type hint
- 데이터시각화
- 알고리즘스터디
- Algorithm
- dataframe
- NumPy
- Stack
- 파이썬
- 가상환경
- openCV
- 노마드코딩
- Matplotlib
- 코딩테스트
- 선그래프
- 알고리즘
- MySQL
- programmers
- 백준
- 알고리즘 스터디
- 프로그래머스
- 정보처리기사 c언어
- Today
- Total
목록Python/문법 (17)
조금씩 꾸준히 완성을 향해

python에서 typing 할 때 사용 가능한 여러가지 방법들을 소개한다. (타입 힌트의 개념이나 타입 체크에 관한 기본 내용은 이전 포스팅을 참고 바람) Callable Type 함수 자체를 인자로 넘겨줄 때 사용한다. from typing import Callable # 타이핑 모듈의 callable 객체 import def add_sub(a: int, b: int) -> list: return [a + b, a - b] # 함수를 인자로 넘겨줄 때 callable 사용 def add_sub_new(func: Callable[[int, int], list]) ->list: return func(2, 3) print(add_sub_new(add_sub)) # [5, -1] ▶ Callable[[a, ..

mypy 런타임에서 타입을 체크하는 도구이다. Type hint의 타입을 기반으로 해 오류를 잡아낸다. ▶ mypy 설치 $ pip install mypy ▶ mypy 실행 $ mypy filename.py ▶ mypy실행과 파일 출력 동시에 하기 $ mypy filename.py && python filename.py ▶ 결과 아래와 같은 함수를 예시로 들어 보자. type hint는 정수로 지정했는데 다른 타입을 넣어 함수를 호출하는 경우이다. def cal_add(x: int, y: int) -> int: return x + y print(cal_add(1, 3)) print(cal_add('hello', 'world')) print(cal_add([1,2,3], [4,5,6])) mypy 를 실행..
Type Hint Python은 동적 언어이기 때문에 변수들의 타입을 마음대로 변경가능하다. 이는 파이썬의 장점으로 꼽히기도 하지만, 프로그램의 규모가 커지고 코드가 많아지게 되면 이 유연함이 도리어 단점이 되기도 한다. 특히 여러 사람이 같은 코드를 가지고 작업하거나 수정할 때에는 더 큰 혼선이 야기된다. 이를 방지하기 위해서는 공유하는 데이터의 타입을 정확히 지정해 줄 필요가 있다. 이 때 사용하는 게 바로 type hint이다. ※ 주의! 타입 힌트는 말그대로 힌트를 붙여놓은 것일 뿐, 타입 에러를 체크해 주는 기능은 아니다! 타입 힌트는 기본적으로 아래와 같이 변수 옆에 콜론으로 표시한다. int_var: int = 88 #정수형 str_var: str = "hello world" #문자형 flo..

Python에서 문자 혹은 숫자를 판별해 주는 함수들 모음 ▶ str.isalpha() 주어진 문자열이 사람의 언어 문자로만 구성되어 있는지 확인해 준다. 문자열의 모든 요소가 사람의 언어 문자로만 구성되어 있으면 True를 리턴, 아니면 False를 리턴. ※ 주의! 알파벳 뿐만 아니라 다른 언어 문자열도 True! 공백은 문자가 아니므로 False! ▶ str.isdigit() 주어진 문자열이 숫자로만 이루어져 있는지 확인해 준다. 문자열의 모든 요소가 숫자로만 구성되어 있으면 True를 리턴, 아니면 False를 리턴. ▶ str.isdecimal() 주어진 문자열이 십진수(decimal)인 정수로만 이루어져 있는지 확인해 준다. 문자열의 모든 요소가 십진수로만 구성되어 있으면 True를 리턴, 아..

decorator 는 함수, 메서드 또는 클래스 정의를 수정하는 데 사용되는 호출가능한 Python 객체이다. 일정 코드가 지속적으로 반복해서 등장하는 것을 함수화하여 축약하고자 등장한 파이썬의 기능이라고 생각하면 이해하기 쉽다. 예시를 통해 사용법을 알아보자. 먼저 이렇게 각기 다른 명언이 담긴 4개의 함수가 있다. def quote_1(): print("I'm as proud of what we don't do as I am of what we do.") def quote_2(): print("The journey is the reward.") def quote_3(): print("Innovation distinguishes between a leader and a follower.") def qu..

파이썬에서 다른 파일의 데이터를 읽고 처리하는 방법을 알아보자. 파일을 다루기 위해서는 먼저 open 함수의 사용법을 알아야 한다. ▶ open 함수 사용법 객체 = open(파일명, 모드[, encoding= 'utf8']) 객체.close() 처리할 파일명과 처리할 모드를 open 함수에 넣어 파일 객체를 만든다. ※ 주의! 파일을 열면 반드시 닫는 close() 함수도 함께 써줘야 한다. 파일 열기 모드 설명 r 읽기 모드로 연다. Dafault w 쓰기 모드로 연다. 기존내용 삭제 a 쓰기 모드로 연다. 기존내용 보존 b 이전 모드로 연다 t 텍스트 모드로 연다 Default 파일에서 어떤 작업을 수행할 것인지에 따라 모드를 선택해 주면 된다. 모드를 생략할 경우 기본적으로 텍스트, 읽기 모드로 ..

함수를 효과적으로 사용하기 위해서는 *args 와 **kwargs의 특징과 차이점을 잘 알아야 한다. ▶ *args 개수와 상관없이 전체 인자 값을 다 가져올 때 사용한다. 앞에 *만 붙인다면 무슨 문자를 써도 상관없지만, 통상적으로는 arguments의 약자인 args를 많이 쓰인다. 형태는 tuple로 가져오기 때문에 tuple에서 사용할 수 있는 기능들을 모두 사용할 수 있다. def get_avg(*args): sum = 0 for a in args: sum += a avg = sum / len(args) return avg print(get_avg(80, 90, 100)) #90.0 print(get_avg(75, 80, 94, 78)) #81.75 print(get_avg(80, 73, 76,..

python 에서 반올림을 담당하는 round()에는 한가지 특이점이 있다. 바로 round_half_even 방식을 적용하고 있다는 것이다. 언뜻보면 사소한 것 같지만, 코딩테스트 등 정확한 계산이 필요한 상황에서는 모르면 큰일날 부분이다. ▶ round_half_up vs round_half_even 우리가 흔히 아는 반올림이란 5이상은 올림을 하고, 4이하는 내림을 하는 round_half_up 방식이다. 반면 round_half_even은 정확히 5 지점에 있다면 짝수쪽으로 근사값을 해주는 방식이다. a = 4.5 print(round(a)) # 4 a = 7.5 print(round(a)) # 8 이렇게 4.5면 짝수쪽으로 내림을 해서 4를 만들어 주고 7.5면 짝수쪽으로 올림을 해서 8일 만들..

문자열을 거꾸로 뒤집어 출력하기 위한 3가지 방법을 소개한다. ▶ slice 사용 슬라이싱을 사용하면 간단하게 문자열을 뒤집어 출력할 수 있다. slice(start, stop[, step]) 슬라이싱은 세가지 인자를 받는다. (마지막 step은 optional) start : 슬라이싱을 시작할 Index end : 슬라이싱이 종료될 Index (포함되지 않는 index -> end 직전 index까지 슬라이싱 ) step : index의 간격을 설정. 기본값은 1 str = 'Hello, World!' reversed_str = str[::-1] print(f'Original: {str}') print(f'Reversed: {reversed_str}') # Original: Hello, World! #..