한국경제 with toss

6/28 - 반복문, 함수, 가변 매개변수, class

devmin67 2024. 6. 28. 17:05

 

 

while 문:
while 문은 조건이 참(True)인 동안 반복적으로 코드를 실행합니다. 조건이 거짓(False)이 되거나 break 문을 만날 때까지 반복됩니다. 주로 조건이 불확실한 경우나 반복 횟수가 정해져 있지 않을 때 사용됩니다.

 

for 문:
for 문은 순회 가능한(iterable) 객체(리스트, 튜플, 문자열 등)의 요소들을 순차적으로 접근하며 반복적으로 코드를 실행합니다. 요소들을 하나씩 꺼내어 변수에 할당하고, 각 요소마다 지정된 코드 블록을 실행합니다. 보통 반복 횟수가 정해진 경우나 순회할 때 사용됩니다.

 

 

 

 

  • number = 0: 변수 number를 0으로 초기화합니다.
  • target_tick = time.time() + 5: 현재 시간에서 5초를 더한 시간을 target_tick 변수에 저장합니다. 즉, target_tick은 현재 시간으로부터 5초 후의 시간을 나타냅니다.
  • while time.time() < target_tick:: 현재 시간이 target_tick보다 작을 동안 반복합니다. 즉, 5초가 지날 때까지 아래의 코드 블록을 반복적으로 실행합니다.
  • number += 1: 반복문이 한 번 실행될 때마다 number 변수를 1씩 증가시킵니다. 따라서 이 코드는 5초 동안 number를 증가시키는 작업을 수행하게 됩니다.
  • print(number): 5초 동안 반복문이 실행된 후에 number 변수의 최종 값을 출력합니다. 이 값은 5초 동안 반복문이 실행된 횟수를 나타냅니다.

 

 

- break에 위치에 따라 달라지는 결과값

 

 

 

함수: 파이썬에서 함수는 재사용 가능한 코드 블록으로, 특정 작업을 수행하고 값을 반환할 수 있습니다. 함수는 def 키워드를 사용하여 정의하며, 필요한 매개변수를 받아 작업을 수행한 후 결과를 반환할 수 있습니다.

 

 

Docstring: Docstring은 함수나 클래스 등의 설명을 담은 문자열입니다. 주로 """ 또는 '''로 둘러싸인 여러 줄의 문자열로 작성되며, 함수의 사용법, 매개변수 설명, 반환 값에 대한 정보 등을 제공하여 코드의 이해와 사용을 돕습니다.

 

- print_n_times() 함수를 호출할 때 발생하는 missing 1 required positional argument: 'n' 오류는 필수 위치 인자 n이 제공되지 않았음을 의미합니다. 이 에러는 함수 호출 시 필요한 인자가 전달되지 않았을 때 발생합니다.

 

- print_n_times() takes 2 positional arguments but 3 were given 오류는 함수 호출 시 전달된 인자의 개수가 함수 정의에서 예상한 인자의 개수를 초과했음을 의미합니다. 이 오류는 함수가 예상한 것보다 더 많은 인자가 전달되었을 때 발생합니다.

 

가변 매개변수

가변 매개변수는 함수 정의 시 *args와 **kwargs를 사용하여 임의의 개수의 위치 인자와 키워드 인자를 받을 수 있게 합니다. *args는 튜플 형태로 여러 위치 인자를 처리하고, **kwargs는 딕셔너리 형태로 여러 키워드 인자를 처리합니다. 이를 통해 함수는 호출 시 전달되는 인자의 개수나 이름을 미리 알지 않고도 유연하게 다양한 인자를 처리할 수 있습니다.

 

 


 

  • def add_many(*nums):: add_many라는 함수를 정의합니다. 여기서 *nums는 가변 매개변수로, 임의의 개수의 위치 인자를 받을 수 있습니다. 전달된 인자들은 튜플 nums에 저장됩니다.
  • result = 0: 결과를 저장할 변수를 초기화합니다. 합을 계산하기 위해 result를 0으로 설정합니다.
  • for num in nums:: nums 튜플에 있는 각 요소를 순회합니다.
  • result += num: 각 요소를 result에 더합니다. result = result + num과 동일한 표현입니다.
  • return result: 모든 요소를 더한 후 최종 합을 반환합니다.

 

 

  • def print_kwargs(**kwargs):: print_kwargs라는 함수를 정의합니다. 여기서 **kwargs는 가변 키워드 매개변수로, 임의의 개수의 키워드 인자를 받을 수 있습니다. 전달된 키워드 인자들은 딕셔너리 kwargs에 저장됩니다.
  • print(kwargs): 전달된 키워드 인자들을 포함한 딕셔너리 kwargs를 출력합니다.

 

 

클래스란 객체를 조금 더 효율적으로 생성하기 위해 만들어진 구문이라고 생각하자.

클래스를 사용하지 않은 코드
-클래스를 사용한 코드

 

프로젝트 작업시, 완성한 클래스는 깃허브에 올려서 다른 팀원들이 다운받아 사용할 수 있다.

 

클래스를 사용하지 않으면, 함수의 추가나 수정에 그 함수가 적혀있는 코드에 모두 접근해서 편집해야하지만

 

클래스를 생성하면 해당 클래스에만 접근하여 수정,삭제를 한 후 그 클래스를 호출해주면 되므로 더 편리해진다.