ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 9일차 - 파이썬 마무리 정리
    AI 솔루션 개발자과정(Java, Python) 2022. 10. 21. 09:44

    혼자서 공부하는 파이썬 진도를 모두 끝냈기에 배운것을 정리하는 시간을 가졌다.


    프로그램 = 자료의 표현 + 자료의 처리

    자료형 : 특정 자료가 어떻게 생겼는지 정의한 것.
        기본 자료형 : 숫자, 문자열, 리스트 등
        참조 자료형 : 메모리에 담긴 속성과 기능.

    리스트, 튜플, 문자열의 공통점
        내부 요소에 인덱스를 지정한다.

    인덱싱, 슬레이싱
        인덱스는 반드시 0부터 시작한다.

    문자열은 글자 하나하나가 요소지만, 튜플이나 리스트는 쉼표로 구분된것이 요소이다.

    변수 : 자료에 붙이는 이름 / 자료를 저장하기 위한 수단.
    변수 이름은 자유이나, 제약 사항도 있다.
        문자와 숫자, 그리고 _(언더바)만을 사용할 수 있다.
        변수 이름의 맨 처음은 숫자로 시작할 수 없다.
        키워드와 겹치는 이름을 사용하면 안된다.
        공백을 사용하면 안된다.

    변수에 값 대입하기.
    변수 = 값 형태로 작성한다. 대입 연산자의 규칙 : 오른쪽에 있는 요소를 왼쪽에 대입한다.

    복합 대입 연산 : 연산 후 대입.
    a += 1 은 a = a + 1 과 같은 식이다. a에 1을 더한 결과를 a에 다시 대입한다.

    자료형 변환(casting)
    str -> int  은 문자열을 숫자열로 변환한다. 이는 int(문자열) 함수로 처리할 수 있다.
    int -> str  

    제어문 : 프로그램의 동작 흐름을 제어하는 구문
        조건문 : 주어진 상황에 따라 동작이 선택된다.
        반복문 : 비슷하거나 동일한 동작을 반복한다.

    불 데이터를 만드는 방법
        비교 연산 : ==, != <, >, <=, >= 비교 연산자를 이용하여 참과 거짓을 구분하는 연산.
        논리 연산 : and, or ,not. and와 or는 이항 연산자이고, not은 단항 연산자이다.
        포함 여부 : 리스트나 튜플, 딕셔너리 등 여러 요소를 포함하는 데이터에 적용하는 연산이다.
        비교 연산과 논리 연산이 같이 있을 때는 비교 연산이 우선순위를 가진다.

    조건문
        if : 조건을 정하고 그 결과값이 불데이터의 참인지 거짓인지에 따라 새로운 조건을 만든다.

    a = int(input("정수를 입력하세요> "))

    if a % 5 == 0 :
        print("5의 배수입니다.")
    else :
        print("5의 배수가 아닙니다.")

    반복문 for, while
        for : 반복 횟수를 정하고 반복시킨다.
        while : 횟수가 불분명한 경우에 조건을 기준으로 반복시킨다.

    for문의 반복을 위해서는 이터러블한 객체가 필요하다.(문자열, 리스트, 튜블, 딕셔너리)

    range() : 입력값을 리스트로 나열하는 함수. (a,b)로 슬라이싱이 가능하고, (a,b,c)는 a부터 b사이의 숫자를 c단위로 나눈값이다.

    반복문에 포함되는 키워드
        break : 반복문을 무조건 종료한다.
        continue : 반복문의 처음으로 돌아간다.

    자료 : 자료에 붙이는 이름
    함수 : 함수에 붙이는 이름
        변수 = 자료
        함수 = def 함수() :
                코드

        함수 내부는 독립적인 지역이다.
        따라서 함수 안에서 만든 변수는 함수 안에서만 존재한다.
        
        함수 내부의 변수에 접근할 수 있는 방법
            매개변수 : 함수에다가 자료 전달하기 
            반환자료 : 함수로부터 자료 전달받기
        함수를 만들때 식별자를 추가하여 매개변수를 지정한다.
        
        def 함수명(식별자, 식별자, 식별자) :
            return 반환값
        기본 매개변수 : 함수에 아무 인수를 입력하지 않아도 기본적으로 적용되는 기본값.
        가변 매개변수 : 매개변수가 변할 수 있다.

    람다 : 매개변수와 반환값이 있는 함수를 간략하게 표현하는 표현식
        lambda x(매개변수) : x(반환값) (매개변수 입력값)

    콜백함수 : 함수에 인수로 전달되는 함수
        함수 이름만 써서 전달.
        람다식 전달.

    map(함수, 리스트) 함수는 리스트의 요소를 넣고 리턴된 값으로 새로운 리스트를 구성한다.
    filter(함수, 리스트) 함수는 리스트의 요소를 넣고 값이 True인 것으로 새로운 리스트를 구성한다.

    오류의 종류
        구문 오류 : 문법이 잘못되어 실행할 수 없는 문제
        실행 예외 : 문법은 문제없지만 논리가 말이 안되는 문제

        예외 처리 : 실행 예외에 대해서 대응하는 기법.
            조건문을 사용하여 처리
            try 구문을 사용하여 처리
                try :
                    예외가 발생할지도 모르는 코드를 적는다
                except :
                    만약 예외가 발생하면 무엇을 할지 적는다
                else :
                    except는 예외가 발생하면 출력되지만 else를 붙여서 발생하지 않았을 때 출력할 구문을 추가할 수 있다.
            try구문에서 예외가 발생하면 그 순간 프로그램은 종료된다.

                [ except IndexError as e : ] 는 에러가 발생 시 에러 내용을 매개변수 e에 저장된다. 
                                            에러 객체의 타입은 클래스이다.

            finally : 예외 처리 구문에서 가장 마지막에 사용할 수 있는 구문이다.
                      예외가 발생하든 발생하지 않든 무조건 실행된다.
            
            raise : 문제가 없지만 일부러 예외를 발생시키는 코드이다.

            Exception : 모든 예외를 포함한다. 

    모듈 : 파이썬 소스 파일.

    모듈화 : 하나의 프로그램을 여러 개의 모듈로 나누어 관리한다.

    모듈의 종류
    표준 모듈 : 파이썬에서 기본적으로 제공하는 기본 모듈
    외부 모듈 : 다른 사람이 만들어서 배포한 모듈

    모듈은 import 구문을 사용하여 가져온다.
        import 모듈명

    외부 모듈을 설치할 때는 명령 프롬프트에서 pip 모듈명 을 입력하여 설치한다.
    pip
        파이썬 패키지 모음(서버)
        파이썬 패키지 관련 명령어의 시작.

    클래스 : 자료형과 동의어이다.(파이썬 에서는.)
        어떤 객체(속성값고 함수를 포함)를 만들지에 대한 정의.


    클래스 만들기 :
        class 이름 : 
            pass
        클래스 이름은 대문자로 시작해야 한다.
        클래스 내부의 함수는 매개변수로 self가 들어가야 한다.

        생성자 함수 : 객체가 생성될 때 가지고 있는 특성을 정의한다.
        class Dog :
            def __init__(self, breed) :
                self.breed = breed
        이 클래스 구성에 클래스 이름과 같은 Dog()함수를 입력하게 되면 이는 생성자 함수가 된다.

    클래스 변수와 클래스 메소드
        클래스만 정의하고 나면, 객체 생성 없이도 사용 가능하다.
        객체를 만들면, 객체들도 이것을 사용할 수 있다.(공유한다.)

        클래스 메소드는 self대신 cls를 사용한다.

Designed by Tistory.