Language/Python [Python] list/Set/tuple/딕셔너리(Dictionary)/함수 사용법
  • 728x90
    반응형

     

     

     

    Python 기초


     

     

    목차

       

       

       

      python 에서 consol 화면 clear 하는 방법.

       

       

       

      리스트(list)

      📌 리스트의 선언방법과 출력 형태를 살펴보자.

       

      리스트는 인덱싱과 슬라이싱이 가능하다.

       

       

      .append()를 사용한 리스트 추가 방법.

       

       

      .insert()함수를 사용하면 원하는 인덱스에 리스트를 추가할 수 있다.

       

       

      .extend()함수를 사용하여 리스트 목록 자체를 추가할 수 있다.

       

       

      .index()함수를 사용하여 원하는 리스트의 인덱스를 알 수 있다.

       

       

      .count()함수를 사용하여 원하는 값의 개수를 알 수 있다.

       

       

      .pop()함수를 사용하여 리스트의 값을 순서대로 빼낼 수 있다.

       

       

      .remove()함수를 사용하여 리스트의 값을 삭제할 수 있다.

       

      .sort()함수를 사용하여 리스트의 값을 오름차순 정렬할 수 있다.

       

       

       

       

       

      세트(set)

      📌 세트(set)는 집합과 동일하며, 리스트와 마찬가지로 값들의 모임이며 순서가 없다.

       

      .union()함수는 합집합 함수이다.

       

       

      .intersection()함수는 교집합 함수이다.

       

       

       

       

       

      튜플(tuple)

      📌 리스트와 유사하나, 읽기전용이며 제공되는 함수도 리스트에 비해 적지만 속도는 그만큼 빠르다.

       

      튜플에서 제공되는 메소드는 count, index 정도이다.

       

      아래는 swap 예제이다.

       

       

       

       

      딕셔너리(dictionary)

      📌 딕셔너리는 키와 값의 쌍으로 이루어져 있으며, 다음과 같이 정의할 수 있다.

       

       

      새로운 값의 추가나 변경은, 다음과 같이 간단하게 새로운 키와 값을 할당하면 된다.

       

       

      딕셔너리의 내용을 얻기 위해서는 다음과 같이 items(), keys(), values()메소드를 사용하면 된다.

       

      Items()는 딕셔너리의 모든 키와 값을 튜플로 묶어서 반환하며, keys()는 키만을 values()는 값만을 반환한다.

       

       

       

      삭제는 del을 이용할 수도 있으며 .clear()를 이용해 한번에 삭제할 수도 있다.

       

       

       

       

      부울(bool)

      📌 부울(bool)은 참과 거짓을 나타내는 자료형으로, 가능한 값은 True와 False뿐이다. 주로 부울은 부울 값들 간의 논리연산이나, 수치들간의 비교연산의 결과로 사용된다.

       

       

       

       

      함수의 정의

      • 함수의 선언은 def로 시작하고 클론( : )으로 끝낸다.
      • 함수의 시작과 끝은 코드의 들여쓰기로 구분한다.
      • 시작과 끝을 명시해 줄 필요가 없다.
      • 헤더(header)파일, 인터페이스(interface)/구현(implementation)같은 부분으로 나누지 않는다.

       

      🎯 함수 선언

       

      🔔 예) 함수 선언 예시

       

       

       

       

      리턴(return)

      📌 함수를 종료시키고 호출한 곳으로 돌아가게 한다. return은 어떠한 객체든지 값을 돌려줄 수 있다.

      여러 개의 값을 튜플로 묶어서 값을 전달 할 수 도있다.

       

       

      return을 사용하지 않거나 return만 적어도 함수가 종료 한다. (return 값으로 None을 리턴)

       

       

       

       

       

      파이썬 함수에서 인수 전달

      📌 호출자가 전달하는 변수의 타입에 따라 다르게 처리된다. 변경가능 변수 (mutable), 불가능 변수 (immutable)로 구분된다.

       

      아래는 변경 불가능 변수 예제로 함수 내부에서 변경한 사항이 외부에 영향을 미치지 않는다.

       

       

      변경 가능한 변수를 인수로 전달.

       

       

      값이 변경 되는 것을 방지 하고 싶을 때.

       

       

       

       

       

      스코핑 룰(scoping rule)

      📌 이름공간(Name Space)

      • 변수의 이름이 저장되어 있는 장소
      • 함수 내부의 이름공간 지역영역(Local scope)
      • 함수 밖의 영역, 적역 영역(Global scope)
      • 파이썬 자체에서 정의한 내용에 대한 영역, 내장 영역(Built-in Scope)
        • LGB 규칙
      • 변수 이름을 찾을 때 Local Scope -> Global Scope -> Built-in Scope 순서로 찾는다.
      • 지역 영역에서 전역 영역의 이름을 접근할 때 global을 이용한다.

       

       

       

       

      인수 모드

      📌 기본 인수 값

      • 함수를 호출 할 때 인수를 지정해 주지 않아도 기본 값이 할당 되도록 하는 방법.

       

       

      📌 키워드 인수

      • 인수 이름으로 값을 전달하는 방식.
      • 변수의 이름으로 특정 인수를 전달할 수 있다.

       

       

      📌 가변인수 리스트

      • 인수의 개수가 정해지지 않은 가변 인수를 전달
      • *를 사용하여 인수는 튜플 형식으로 전달 됨

       

      📌 정의되지 않은 인수 처리하기.

      • **를 사용하면 정의되지 않은 인수를 사전형식으로 전달

       

       

       

       

       

       

      람다(lambda) 함수

      이름이 없는 1줄 짜리 함수.

       

      한 줄의 간단한 함수가 필요한 경우에 사용하며, 프로그램의 가독성을 위해 함수를 인수로 넘겨 줄 때 사용한다.

       

       

       

       

       

      재귀적(recursive) 함수 호출

      📌 함수 내부에서 자기 자신을 계속 호출 하는 방법

      • 변수를 조금씩 변경하면서 연속적으로 반복된 연산을 할 때 유용함.

       

       

       

       

       

      pass 구문(statement)

      📌 pass를 사용하면 아무 일도 하지 않는다.

       

       

      아무것도 하지 않는 함수, 모듈, 클래스를 만들어야 할 경우가 있는데, 이 때 pass가 사용될 수 있다.

       

       

       

       

      help 함수와 __doc__ 속성

      📌 help 함수를 이용해 함수의 설명을 볼 수 있다.

       

       

      사용자가 만든 함수도 help 를 사용해 설명을 볼 수 있다.

       

       

      조금 더 자세한 설명을 추가 하려면 __doc__ 속성을 이용한다.

       

       

       

       

       

      이터레이터(iterater)

      📌 순회가능한 객체의 요소를 순서대로 접근 할 수 있는 객체

      • 내부 반복문을 관리해 주는 객체
      • 이터레이터 안의 __next__() 를 이용해 순회 가능한 객체의 요소를 하나씩 접근 할 수 있다.

       

       

       

      제너레이터(generator)

      📌 return 대신 yield 라는 구문을 이용해 함수 객체를 유지한 체 값을 호출자 에게 넘겨 준다.

      • 값을 넘겨준 후 함수 객체는 그대로 유지
      • 함수의 상태를 그대를 유지하고 다시 호출 할 수 있기 때문에 순회 가능한 객체를 만들 때 매우 편리함.

       

       

      • 제너레이터 예제

       

       

       

      if 문

      🔔 예)

       

      elif

      • 2개 이상이 조건을 처리하는 경우
      • if는 가장 처음에만 사용할 수 있는 반면에, elif는 필요한 만큼 사용 가능

       

      else

      • 어떠한 조건에도 해당하지 않는 경우
      • 가장 마지막에만 사용 가능

       

      다른 프로그램 언어의 조건씩 표현 방법 : score >= 70 and score < 80

       

      파이썬의 조건식 표현 방법 : 70 <= score < 80

       

       

      조건식의 참/거짓 판단

      📌 기본적으로 자료형의 bool 값과 동일하다.

      • True로 판명 : 10 > 0
      • False로 판명 : 5 > 10

       

      False

      • 0, 0.0, ( ), [ ], { }, "빈 문자열", None인 경우

       

      True

      • False인 경우를 제외한 값이 할당된 경우

       

       

       

       

       

      and 와 or

      2개 이상의 논리식 판별을 위한 연산자

      • 식의 왼쪽에서 오른쪽으로 판별
      • and, &

      score > 70 and score <= 80

      score > 70 & score <= 80

       

       

      • - or, |

      math > 80 or English > 80

      math > 80 | English > 80

       

      하지만 모든 경우에 'and'와 '&', 'or'와 '|'가 동일하게 수행되는 것은 아니다.

       

       

       

      리스트 내장

      [<표현식> for <아이템> in <시퀀스 객체> (if <조건식>)]

       

      • 조건식을 이용하여 원본 객체에서 조건을 만족하는 아이템만 선별

       

       

       

      728x90
      반응형
    상단으로