본문 바로가기
ABC 부트캠프

[5일차] ABC 부트캠프 Python 기초_3

by ejis 2024. 7. 11.

전역하고 돌아왔습니다...(>Д<)ゝ

하자마자 이것을 하려니 벌써부터 갓생사는 기분이고 아주 좋은 거 같아욤..

그렇게 저에게는 첫 강의를 듣게 되었는데 3, 4일차를 못들어서 초반에 따라가는데 고생좀 했네요..o(TヘTo)

그래도 꾸준한 복습으로 따라가보겠습니다!


함수와 메서드

함수 Function

-반복된 기능을 함수로 구현하여 반복된 코드를 줄일 수 있다.

#def 함수이름(매개변수):
#	return 결과값
#위의 원리를 사용하여 아래의 값을 나타내 보았습니다.

def add(a, b):
	return a + b #두 개의 int를 전달
    
add(4, 10)

함수를 쓰게 된다면 함수는 독립된 실행이기 때문에 다른 문단에서 a가 선언 되어도 함수에서 실행됩니다.

여기서 나온 add는 임의의 함수 이름을 정해준 것 이고,
그 후, return을 쓰며 함수를 종료 시켜주었는데, 이때 return은 반환 값을 주기도 하고, 함수를 종료시키도 하는 역할을 한다. 반복문의 break와 같은 역할이라고 생각하면 편하다.


함수의 매개변수

매개변수 : 무조건 위치에 맞춰서 매칭시켜야 한다.

# 함수의 매개변수
def sub(a, b):
    return a - b

## 위치에 의한 매개변수 전달하는 법
sub(10, 7)

## 이름에 의한 매개변수 전달하는 법
sub(b=7, a=10)

#키워드가 없다면 적은 순서대로 들어가지만, 키워드가 있다면 맞는 키워드에 들어간다.

 

## 입력값의 개수가 미정일 경우
def sum(*nums):
    result = 0
    for x in nums:
        result += x
    return result

sum(1, 2, 3)

## 키워드 매개변수
def print_kwargs(**kwargs):
    print(kwargs)
print_kwargs(name='홍길동', age=30)

일반적인 함수 정의에서는 매개변수의 개수가 고정된다. 하지만 하나의 함수에서 매개변수의 개수를 고정하지 않고, 호출 

함수에서 전달하는 인수의 개수에 따라 매개변수를 가변적으로 하고 싶은 경우에 사용하는것이 매개변수 *args다.

 

# Special Parameters - /, * 다음에는 무조건 키워드만 사용해야함.
# def f(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):

def standard_arg(arg):
    print(arg)

def pos_only_arg(arg, /):
    print(arg)

def kwd_only_arg(*, arg):
    print(arg)

def combined_example(pos_only, /, standard, *, kwd_only):
    print(pos_only, standard, kwd_only)

 


파이썬 내장 함수

  • abs : abs(x), x의 절댓값 리턴
  • all : all(x), and 와 같은 기능, x의 요소가 모두 거짓이 하나 없이 참이라면 True
  • any : any(x) : or 과 같은 기능, x의 요소중 하나라도 참이 있다면 True
  • chr : chr(i) 유니코드 숫자 값을 입력받아 코드에 해당하는 문자를 리턴.
  • divmod : divmod(x, y) : x를 y로 나눈 몫과 나머지
  • enumerate : 직역하면 나열하다, 실행하면 일자로 나열된다.
                         for i, name in enumerate(['body', 'foo''bar']):
                               print(i, name)
                         -> body, foo, bar로 출력
  • filter : 무엇인가를 걸러낸다는 뜻, filter  함수도 이와 비슷한 기능을 한다.
  • max :  최댓값 리턴 max(iterable) ↔ min(iterable최솟값 리턴
  • pow : pow(x,y) = x를 y제곱한 결괏값
  • round : round(number) = 반올림해서 리턴
  • sum : 합 리턴
  • type : 입력값의 자료형
  • reserved : 반대로
  • zip : 동일한 개수로 이루어진 데이터들을 묶어서 리턴하는 함수.
            ex) list(zip([1, 2, 3], [4, 5, 6]))
                  list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
                  list(zip("abc", "def"))
  • map : 리스트, 튜플 등 반복 가능한(iterable)를 입력받아, 해당 객체의 모든 요소에 대해 특정 함수를 적용한 결과를 새로운 리스트로 반환하는 함수이다.

 

연습문제

출력값 : 'a 3b 2c 4d 1a 2'

출력값 : 'a 3b 2c 4d 1a 2'

 

if 문장에서, icurrent_char이 같으면 count 1 증가 시킨다

else문장에서, 만약 다르다면, current_char + count 인 문자열은 추가한다. 라는 의미를 가집니다.

 

 

 

 

 

 

 

 


 

 

 

 

출력값 : True

 

정렬 or 반복문


음.. 이게 뭐지..


 

출력값 : 15 15

 

 

 

 

 

 

 

 

 

 

 


저에겐 첫 수업 시간이었는데

정말 복습이 중요하겠구나 생각이 들더라구요.. 한번 놓치면 따라가기 힘들고..

앞으로 잘 할 수 있을지 걱정되긴 하는데 여러번 반복하고 나눠주신 책으로 여러번 읽어보며 복습과 예습을 해야할 거 같아요.

그래도 어디가서 이 교육을 수료했다고 당당히 말할 수 있는 실력을 갖는 그날까지 열심히 해보겠습니다!

d=====( ̄▽ ̄*)b