ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 기본편 정리(1)
    공부일기/파이썬 2020. 8. 9. 22:45

     

    숫자형 자료: 

    정수, 실수 출력 가능

    사칙연산가능

     

     

    문자열 자료:

    문자열과 정수 혼합해 계산 가능

    ex) print('ㅋ' * 4) 실행 시

    >>> ㅋㅋㅋㅋ 출력

     

     

    불리안 자료:

    참과 거짓 출력 가능

    not 사용해 반대도 표현 가능

     

     

    변수

    값을 저장하는 공간

    정수형불리안을 문자열로 출력하기 위해서는 str( ) 감싸줘야 한다. (자료형의 변경)

    , 들어갈시 띄어쓰기가 된다 

     

     

    주석

    # 포함시 프로그램이 읽지 않음(실행하지 않음)

    여러 문장을 주석처리 문장 뒤로 ‘ ‘ ‘ 붙인다

    여러 문장 선택 후 "command  + /" 를 누르게 되면 되면 선택문장 주석처리 가능

     

     

    연산자

    ** : 제곱

    % :나머지 구하기

    // : 구하기

    >= : 크거나 같다

    <= : 작거나 같다

    == : 같다

    != : 같지않다

    &,and : 만족해야 한다

    |,or : 하나만 만족해도 된다

     

     

    간단한 수식

    변수를 활용한 계산이 가능하다.

     

     

    숫자처리 함수

    abs( ) : 절대값

    pow(a, b) : a^b

    max(5, 12) : 최대값 12

    min(5, 12) : 최솟값 5

    round(3.14) : 반올림 3

     

    from math import * : math 라이브러리에 있는 모든 것을 사용하겠다

    floor(4.99) : 내림. 4

    ceil(3.14) : 올림. 4

    sqrt(16) : 제곱근. 4 -> (float형으로 출력된다.)

     

     

    랜덤함수 (from random import *)

    random( ) : 0.0 ~ 1.0 미만의 임의의 생성

    random( ) * 10 : 0.0 ~. 10.0 미만의 임의의 생성

    int(random( )) : 0 ~ 10 미만의 정수 생성

     

    -로또 출력해보기-

    1. int(random( ) * 45 + 1) : 0~45 미만의 임의 값 생성 + 1 / (1~45)

    2. randrange(1,46) : 1 이상 45 미만의 임의 값 생성 / (1~45)

    3. randint(1,45) : 1 이상 45 이하의 임의 값 생성 / (1~45)

     

     

    문자열

    “ “ “ : 줄바꿈 포함 출력이 가능하다

     

     

    슬라이싱

    ex) jumin = “921130-1234567”

    9 2 1 1 3 0 - 1 2 3 4 5 6 7
    index 0 1 2 3 4 5 6 7 8 9 10 11 12 13

    성별 : jumin[7] = 1

    : jumin[0:2] = 92

    : jumin[2:4] = 11

    : jumin[4:6] = 30

     

    생년월일 : jumin[ :6] 

    뒷자리 : jumin[7: ]

    뒷자리(뒤에서부터) : jumin[-7: ]

     

     

    문자열 처리 함수

    ex) python = “Python is Amazing”

     

    python.lower( ) : 모든 문자 소문자 처리

    print(python.lower())

    >>> python is amazing

     

    python.upper( ) : 모든 문자 대문자 처리

    print(python.upper())

    >>> PYTHON IS AMAZING

     

    python[0].isupper( ) : python 글자가 대문자인지 확인

    print(python[0].isupper())

    >>> True

     

    len(python) : 문자열의 길이

    print(len(python))

    >>> 17

     

    Python.replace(“Python”, “Java”) : “Python” “Java” 바꿔줌

    print(python.replace("Python", "Java"))

    >>> Java is amazing

     

    index = python.index(“n”) # 변수 지정

    print(index)

    >>> 5

     

    index = python.index(“n”, 6) : 인덱스 6부터 n 위치 찾기

    print(index)

    >>> 15

     

    python.find(“Java”) : -1 반환(-1 반환한 프로그램은 계속 진행)

    print(python.find("Java"))

    >>> -1

     

    python.index(“Java”) : 오류(프로그램을 중지 시킬 있음)

    print(python.index("Java"))

    >>> 오류

     

    python.count(“n”) : n 등장하는가

    print(python.count("n"))

    >>> 2

     

     

    문자열 포맷

    print(“나는 %d 입니다.” % 20)

    print(“나는 %s 좋아해요.” % “파이썬”)

    print(“Apple %c 시작해요” % “A”)

     

    print(“나는 %s색과 %s색을 좋아해요.” % (“파란”, “빨간”))

     

    print(“나는 { } 입니다.”.format(20))

    print(“나는 { }색과 { }색을 좋아해요.”.format(“파란”,”빨간”))

     

    print(“나는 {0}색과 {1}색을 좋아해요.”.format(“파란”,”빨간”))

    >>> 나는 파란색과 빨간색을 좋아해요

    print(“나는 {1}색과 {0}색을 좋아해요.”.format(“파란”,”빨간”))

    >>> 나는 빨간색과 파란색을 좋아해요

     

    print(“나는 {age}살이며, {color}색을 좋아해요”.format(age=20, color=“빨간)) 

    변수를 대괄호 안에 바로 사용 가능

     

    age=20

    color=“빨간

    print(f”나는 {age}살이며, {color}색을 좋아해요”)

     

     

    탈출문자

    \n : 줄바꿈

    \”,  \’ : 문장 내에서 ", ' 그대로 표현 가능

    \\ : 문장 내에서 \ 표현

    \r : r뒤 부터 글자를 맨 앞에서 부터 수정 삽입

    \b : 글자 삭제 (백스페이스)

    \t :

     

     

    리스트

    순서를 가지는 객체의 집합

     

    eng = [“a”, “b”, “c”]

    eng.index(“b”) : 인덱스 찾기. 1

    eng.append(“d”) : 뒤에 추가/ alphabet = [“a”, “b”, “c”, “d”]

    eng.insert(1, “g”) : 정해진 순서에 추가 / alphabet = [“a”, “g”, “b”, “c”, “d”]

    eng.pop( ) : 뒤에서 부터 하나 꺼냄

    eng.count(“a”) : “a” 몇번 나왔나 카운트 

     

    num = [5,4,3,2,1]

    num.sort( ) : 1,2,3,4,5 (오름차순 정렬)

    num.reverse( ) : 5,4,3,2,1 (내림차순 정렬)

    num.clear() : 모두 지우기 

    num.extend(eng) = [5, 4, 3, 2, 1, “a”, “b”, “c”]

     

     

    사전

    cabinet = {3:”a”, 100:”b”}

     

    cabinet[3] : “a”

    cabinet[100] : “b”

    cabinet.get(3) : “a”

     

    cabinet.get(5) : None(프로그램 계속 진행)

    cabinet.get(5, '사용가능') : 5 값이 있으면 가져오고 없으면 '사용가능' 값을 추가

    cabinet[5] : 오류(프로그램 종료)

     

    cabinet[72] = “c”

    print(cabinet)

    >>> {3:”a”, 100:”b”, 72:”c”}

     

    cabinet.keys( ) : 키 값만 출력

    print(cabinet.keys())

    >>> dict_keys([3,100,72])

     

    cabinet.values( ) : 밸류 값만 출력

    print(cabinet.values())

    >>>dict_values([“a”,”b”,”c”])

     

    cabinet.items( ) : 키와 밸류를 동시에 출력

    print(cabinet.items())

    >>>dict_items([(3,”a”), (100,”b”), (72,”c”)])

     

     

    튜플

    교환이나 추가가 불가능하다.

    (name, age, hobby) = (“유재석”, 20, “코딩”)

    print(name, age, hobby)

    >>> 유재석 20 코딩

     

     

    집합(세트)

    중복이 되고 순서가 없다.

    my_set = {1,2,3,3,3}

    print(my_set)

    >>> {1,2,3}

     

    java = {“유재석”, “박명수”, “양세형”}

    python = set([“유재석”, “김태호”])

     

    # 교집합 구하기

    java & python : java와 python 교집합

    print(java & python)

    >>> {유재석}

    print(java.intersection(python))

    >>> {유재석}

     

    #합집합 구하기

    java | python : java와 python 합집

    print(java | python)

    >>> {‘김태호’, ‘박명수’, ‘유재석’, ‘양세형’}

    print(java.union(python))

    >>> {‘김태호’, ‘박명수’, ‘유재석’, ‘양세형’}

     

    #차집합 구하기

    java - python : java에서 python의 값들을 뺀 집합

    print(java - python)

    >>> {‘양세형’, ‘박명수’}

    print(java.difference(python))

    >>> {‘박명수’, 양세형’}

     

    python.add(“박명수”) : python에 '박명수' 추가

    print(python.add('박명수')

    >>> {'유재석', '김태호', '박명수'}

     

    java.remove(“양세형”) : java에서 '양세형' 제거

    print(java.remove('양세형')

    >>> {유재석, 박명수}

     

     

    자료구조의 변경

    set( ), list( ), tuple( ) 활용해 자료구조를 변경할 있다.

     

     

    if

    조건에 맞으면 명령문을 실행

    input( ) 으로 사용자에게 입력을 받을 수도 있다.

    elif, else 등을 통해 다른 실행 조건을 만들 수도 있다.

     

     

    for

    in 뒤에 있는 변수나 범위들을 앞의 변수로 만들고 for 밑의 명령문을 반복실행한다.

    ex) 

    for waiting_no in [0, 1, 2, 3, 4]:
        print('대기번호: {}'.format(waiting_no))

    >>> 대기번호: 0

    >>> 대기번호: 1

    >>> 대기번호: 2

    >>> 대기번호: 3

    >>> 대기번호: 4

     

     

    while

    조건이 만족할 까지 진행

    무한루프에 빠지지 않게 조심하자

    index = 3
    while index >= 1:
        print('커피가 준비됐습니다. {}잔 남았습니다.'.format(index))
        index -= 1
        if index = 0:
            print('다 팔았습니다.')

    >>> 커피가 준비됐습니다. 3잔 남았습니다.

    >>> 커피가 준비됐습니다. 2잔 남았습니다.

    >>> 커피가 준비됐습니다. 1잔남았습니다.

    >>> 커피가 준비됐습니다. 0잔 남았습니다.

    >>> 다 팔았습니다.

     

     

     

    continue break 

    continue 만나면 문장을 실행시키지 않고 다음 반복을 진행한다

     

    break 만나면 반복을 중단하고 빠져나옴

     

     

    한줄 for

    students = [“Iron man”, “Thor”, “Groot”]

     

    students = [len(i) for i in students]

    print(students)

    >>> [8, 4, 10]

     

    students = [i.upper() for i in students]

    print(students)

    >>> ['IRON MAN', 'THOR', 'GROOT']

     

     

     

    // 네이버 부스트코스 '모두를 위한 프로그래밍:파이썬' 편과 '파이썬 자료구조'를 수강해 파이썬의 기본적인 문법들은 알고 있었다.

    근데 블로그를 시작 하기 전에 수강했고, 비주얼 스튜디오 코드로 직접 따라해보면서 강의를 들어서 정리해 놓은 게 없었다. 블로그에 배운 것을 올릴겸, 기초도 더 다질겸 유튜브 '나도코딩' 채널에서 파이썬 무료강좌 기본편을 들으며 정리해봤다.

    6시간 짜리 강의인데 예제나 주석들도 다 따라하면서 남겨놓고 싶었지만... 그렇게 되면 2~3일짜리 강의가 될 거 같아, 간단하게 내가 봤을 때 생각날만한 정도로 정리해둔 게 대부분이다. 

    기본편을 다 듣고 활용편에 게임을 만들거나, 웹 스크래핑을 하는 등 따라할 수 있는 다른 프로젝트들도 있어 해당 채널을 통해 더 공부해볼 예정이다. 

    '공부일기 > 파이썬' 카테고리의 다른 글

    파이썬 기본편 정리(2)  (0) 2020.08.15
Designed by Tistory.