Python/Python 기초 13

[Python] 함수 심화 - 고차함수

함수는 크게보면 4가지로 구분할 수 있다.매개변수 있고, 없고리턴값 있고, 없고이경우인데 예시를 보며 살펴보자1. 매개변수와 반환값이 없는 함수이 함수는 매개변수를 받지 않으며, 값을 반환하지도 않습니다.def 안녕(): print("안녕하세요!")안녕() # 출력: 안녕하세요!2. 매개변수는 있지만 반환값이 없는 함수이 함수는 외부로 값을 반환하지 않지만, 입력된 매개변수로 어떤 작업을 수행합니다.def 더하기(a, b): print(a + b)더하기(3, 5) # 출력: 83. 매개변수가 없고 반환값이 있는 함수이 함수는 매개변수는 받지 않지만, 계산이나 작업 후 결과값을 반환합니다.def 랜덤_수(): import random return random.randint(1, 1..

[Python] 데코레이터( @ ), 컨텍스트 매니저 ( with )

데코레이터(Decorator)  @ 데코레이터는 다른 함수(또는 메서드) 를 수정하거나 확장하는 데 사용되는 함수기존 코드를 변경하지 않고, 추가적인 기능을 쉽게 부여할 수 있게 해줌 작동방식데코레이터는 또 다른 함수를 매개변수로 받아들이고, 새로운 함수를 반환합니다. @  기호를 사용하여 데코레이터를 함수나 클래스에 적용할 수 있습니다.# 기본 데코레이터 정의def my_decorator(func): def wrapper(*args, **kwargs): print("함수 호출 전") result = func(*args, **kwargs) print("함수 호출 후") return result return wrapper# 데코레이터 적용@my_..

[Python] 이터레이터( Iterator ), 제너레이터( Generator )

이터러블 ( Iterable )하나씩 차례대로 값을 꺼내올 수 있는 객체를 말한다. 정의: 반복 가능한 객체로, for 루프에서 순회할 수 있는 객체입니다.예를 들어, 리스트, 튜플, 문자열, 딕셔너리, 세트 등이 이에 해당합니다.특징: __iter__()  메서드를 구현해야 합니다. 이 메서드는 이터레이터를 반환합니다.순회할 수 있는 데이터를 제공하지만, 데이터를 실제로 순회하는 역할은 이터레이터가 합니다.iterable = [1, 2, 3] # 리스트는 이터러블for item in iterable: print(item) # 1, 2, 3 출력 이터레이터( Iterator )이터러블한 객체의 요소를 하나씩 꺼내오는 객체를 말한다. 정의: 이터러블 객체에서  __iter__() 를 호출하여 얻을..

[Python] 파일 다루기

파일 열기  open() file = open("파일경로", "모드")파일경로는 절대경로 또는 상대경로 로 전달해야함절대경로 : 파일의 정확한 위치를 지정 ex)  C:/Users/username/Documents/example.txt 상대경로 : 현재 작업 디렉토리를 기준으로 경로를 지정 ex)  example.txt '모드' : 기본값은  'r'  (읽기모드), 생략가능파일모드 종류 'r'  : 읽기 모드 (파일이 없으면 오류 발생) 'w'  : 쓰기 모드 (파일이 없으면 새로 생성, 기존 파일 덮어씀) 'a'  : 추가 모드 (파일 끝에 데이터를 추가) 'b'  : 바이너리 모드 (이미지, 오디오 파일 등) 'x'  : 파일이 이미 존재하면 오류 발생 (파일이 없을 때만 생성)file = open(..

[Python] 클래스 ( class )

클래스( class ) 란?객체 지향 프로그래밍 의 기본적인 구성 요소로, 객체를 생성하고, 객체의 속성과 동작을 관리할 수 있다. 쉽게말해 객체를 만들기 위한 설계도 라고 생각하면 된다.class 클래스이름: # 클래스 변수 클래스변수 = 값 # 생성자 메서드 (매직 메서드) def __init__(self, 인자1, 인자2): self.인스턴스변수1 = 인자1 self.인스턴스변수2 = 인자2 # 일반 메서드 def 메서드이름(self, 인자): # 동작 정의 return 값 더보기class Person: # 클래스 변수 species = "Human" # 생성자 def __init__(self, ..

[Python] 예외 처리 ( try, except, finally ), 에러 타입

예외 처리기본구조try: # 예외가 발생할 가능성이 있는 코드except 예외타입: # 예외 발생 시 실행할 코드else: # 예외가 발생하지 않았을 때 실행할 코드finally: # 예외 발생 여부와 상관없이 항상 실행할 코드except 예외타입 : alias 사용가능 , 예외타입을 적지않으면 모든예외except 여러번 쓸수있음else, finally 생략가능대표적인 에러타입Syntax Error코드의 문법이 잘못되었을 때 발생괄호가 닫히지 않았을때잘못된 구문을 사용할 때if True print("Hello")IndentationError코드 블록의 들여쓰기가 잘못되었을 때ex)  if,  for ,  while  등의 코드블록이 잘못 들여쓰기된 경우if True:print("He..

[Python] 함수

함수란?def 함수이름(매개변수1, 매개변수2): 함수가 수행할 코드 return 반환값입력값(매개변수) 가 없어도되고반환값이 없어도 된다 (없으면 None 반환)여러 값을 반환할수 있다. -> 반환값은 튜플로 반환기본값 매개변수def 함수이름(매개변수1, 매개변수2 = 기본값): 함수가 수행할 코드 return 반환값기본값이 있는 매개변수는 기본값이 없는 매개변수 뒤에 와야한다.가변 매개변수 *args def add(*args): return sum(args)print(add(1, 2, 3)) # 6print(add(10, 20, 30, 40)) # 100가변 위치 인수 를 처리할 때 사용임의의 개수의 인수를 받을 수 있게 해준다튜플 형태로 전달일반 매개변수 뒤에 ..

[Python] 모듈 ( Module ), 패키지 ( Package )

모듈이란?모듈은 Python 코드가 저장된 단일파일( .py ) 을 뜻한다.기능 : 관련된 함수, 클래스, 변수 등을 묶어서 제공목적 : 코드를 분리하고 재사용하기 쉽게 만드는 것파일 형식 :  .py  확장자를 가진 파일 '게으른 성격은 좋은 개발자의 자질' 이라는 말을 아시나요?  물론 개발하는것과 공부도 게을러서 미루면 안되죠  수많은 개발자들은 초기부터 아래와 같은상황에 지쳐있었을 겁니다.같은 함수를 반복적으로 적는 단순코딩반복한파일에 모든 코드를 때려박은 미친가독성비슷한 기능을 하는 함수, 변수 등 을 만들때 이름을 뭘로짓지?지금 작성한 코드를 다른 프로그램에서도 사용하고싶다등등 위와 같은 상황을 해결하기 위해 만들어진 것이 바로 모듈 입니다.  각박한 현대사회에서 도태되지 않기 위해선 편리한 ..

[Python] 반복문 ( for, while )

반복문이란?말 그대로 반복하게 해주는것이다. 프로그램내에서 동일한 작업을 수행할시, 같은 코드를 와다다다 노가다질하는게 아닌,반복문 하나로 짤 수 있는것이다. 대표적으로  for ,  while  2가지가있다. for  ( 컬렉션 기반 반복 )기본구조for 변수 in 컬렉션: 실행할 코드컬렉션 형태의 반환값을 가지는 range() 함수가 주로 사용된다.enumerate() 함수를 통해 인덱스와 요소를 동시에 반환할수 있다. 더보기range()range(start, end, step)start : 시퀀스의 시작 값 (기본값은 0)stop : 시퀀스의 종료 값 (이 값은 포함 X)step : 두 숫자사이의 간격 (기본값 1)반환값은 이며지정된 범위내의 숫자를 생성한다.더보기enumerate()반복문 ..

[Python] 조건문 ( if , elif , else )

조건문이란?말 그대로 조건을 걸어서 해당 조건을 충족할때만 특정 동작을 수행하게 하는 문법이다. 기본적인 구조는 아래와같다.if 조건식: # 조건식이 True 일때 실행되는 코드elif 다른_조건식: # 첫번째 조건이 False 고 다른_조건식이 True 일때 실행되는 코드else: # 위 조건들이 모두 False 일때 실행되는 코드 이때 조건을 걸게해주는 예약어로  if  , elif  , else 가 있다. 하나씩 살펴보도록 하자 if 말 그대로 " 만약에 " 라는 의미를 갖고 있다.if 조건식: 조건식이 True 일때 실행하고자 하는 코드조건식 :  boolean  값이 와야하며  True  일때 밑에코드를 실행시킨다. True  를 그냥 박아도 되고 연산의 결과로  boole..