TIL - Python - 기본 문법&숫자 계산&변수와 입력&출력 방법

김영훈·2021년 2월 14일
0

Python

목록 보기
2/14

# 세미콜론

  • 파이썬은 세미콜론을 붙이지 않음
  • 보통 한 줄에 여러 구문을 사용할 때 세미콜론을 붙여줌
    print('Hello'); print(', world!')

# 주석

  • 파이썬에서 사람만 알아 볼 수 있도록 작성하는 부분
  • 파이썬 인터프리터주석을 인식하지 않음
  • 주석의 쓰임새
    • 코드에 대한 자세한 설명
    • 특정 코드를 임시적으로 사용하지 않도록 만들 때 사용
  • 블록 주석
    • 블록 주석은 각 줄마다 맨 앞에 #을 넣어줌
    • 블록 주석 작성 시 코드를 읽기 쉽도록 # 뒤에 공백을 한 칸 띄움
  • 파이썬에서 한글 주석 사용하기
    • .py 스크립트 파일기본 인코딩 방식은 UTF-8
    • 인코딩 방식 선언 방법
        #-*-coding:UTF-8-*- ▶ 스크립트 파일의 맨 위에 삽입

# 들여 쓰기

  • 파이썬에선 들여 쓰기 자체가 문법
    • ex) if문 다음 줄은 항상 들여 쓰기를 해야 함
        if a == 10:
            print('10입니다')
  • 코딩 스타일 가이드(PEP 8)에서는 공백 4칸을 규정
  • 공백 4칸 사용을 권장

# 정수 계산하기

  • 파이썬 숫자 자료형

    • 정수(int)
    • 실수(float)
    • 복소수(complex)
  • 나눗셈 연산자

    • /: ▶ 결괏값을 실수로 출력
    • //: ▶ 결괏값의 을 출력
    • %: ▶ 결괏값의 나머지를 출력
  • 값을 정수로 만들기(int() 활용)

    • int: 정수(integer)를 뜻하며 값을 정수로 형 변환
        print(int(3.5)) # int(실수)
        print(int(2.5*3)) # int(계산식)
        print(int('5')) # int(문자열 형태의 숫자)
  • divmod()
    • 인수로 받은 값을 나눠서 목과 나머지를 tuple 형태return
    • divmod()를 통해 return된 값은 각각 다른 변수할당 가능
        a, b = divmod(5,2)
        print(a, b)
        print(*divmod(6,4)) # print(a, b)와 같은 값이 출력 * unpacking

# 실수 계산하기

  • 실수와 정수를 함께 계산하면?

    • 표현 범위가 넓은 실수로 계산
  • 값을 실수로 만들기(float() 활용)

    • float: 부동소수점(floating point)를 뜻하며 값을 실수로 형 변환
  • 복소수

    • 파이썬에선 실수부와 허수부로 이뤄진 복소수(complext number)도 사용할 수 있다. 이 때 허수부는 숫자 뒤에 j를 붙임
        print(1.2+3.5j)  # (1.2+3.5j) 출력
        print(type(1.2+3.5j))  #  <class 'complex'>가 출력
        print(complex(1.2, 3.5))  # print(1.2+3.5j)와 같은 값이 출력

# 변수 만들기

  • 변수 할당

    • 변수 이름 = 값
      ** 등호 연산자: ==
  • 변수 이름 짓는 규칙

    • 영문과 숫자를 사용
    • 대소문자 구분 필수
    • 반드시 문자부터 시작
    • _(언더스코어)로 시작 가능
    • 특수 문자(+, -, *, /, $, @, &, % 등) 사용 불가
    • 파이썬 키워드(if, for, while, and, or 등) 사용 불가
  • 변수 삭제

    x = 10
    del x
  • 빈 변수 만들기
    x = None
    print(x)  # None값이 출력된다

# 변수로 계산

  • 산술 연산 후 할당 연산자 사용하기
  • 덧셈(+=), 뺄셈(-=), 곱셈(*=), 나눗셈(/=, //=), 나머지(%=)
        a = 10
        a += 20  # 'a = a + 20'과 동일
        print(a)  # 30 출력

# input함수 사용하기

  • 사용자가 입력한 값을 가져오는 함수
  • 변수 = input(문자열) ▶ 입력 받은 값을 변수에 할당
    * 문자열은 입력 받은 값의 용도를 미리 알려줄 때 사용. 프롬프트(prompt)라고 부름
  • input()은 입력 받은 값을 문자열(str)반환
  • 입력 값을 정수로 변환하기
        a = int(input('첫 번째 숫자를 입력하시오'))
        b = int(input('두 번째 숫자를 입력하시오'))
        print(a+b)  # 연산된 정수 값이 출력됨

# 입력 값을 변수 두 개에 저장하기(한 번에 여러 개의 값 입력받기)

  • split()
    • 문자열 시퀀스를 특정 기준으로 구분하여 문자열 요소로 이뤄진 list객체반환하는 함수
    • 기본 형태: 문자열.split(sep="", maxsplit=int)
    • split()는 입력받은 값을 문자열반환
      • sep: 문자열을 나누는 기준, # split() : 공백을 기준으로 분리
      • maxsplit: 단어 분리 횟수
        a, b = map(int, input("숫자 두 개를 입력하세요").split()) 
        print(a+b)  # 입력 받은 숫자 a, b를 더한 값이 출력된다 
                    # 가능한 이유: 변수 a, b에 iterable 객체의 값이 unpacking 되기 때문
    • map(변환 함수, 순회 가능한 데이터)
      • 여러 개의 데이터를 한 번에 다른 형태로 변환
      • 결과 값은 <class 'map'> 객체로 returnfor문, next()로 값 출력이 가능

# 출력 방법

  • 값 여러 개를 한 줄로 출력하기

    • print()에 변수나 값을 콤마로 구분해서 넣으면 각 값이 공백으로 띄워져서 한 줄로 출력됨

    • 한 번의 print()로 여러 개의 값 출력이 가능

  • sep로 값 사이에 문자 넣기

    • 값 사이에 공백이 아닌 다른 문자를 넣고 싶다면, print()의 **sep**에 문자 또는 문자열을 지정하면 됨

    • sep(separator)는 구분자를 의미

        print('1920','1280', sep="x")  # 출력 값: 1920x1280
  • 줄바꿈

    • 한 번의 print()로 여러 개의 값을 줄바꿈하여 출력하려면 sep=\n을 지정하면 됨

    • sep=\n: 줄바꿈을 실행하는 제어문자에 해당

    • 제어 문자(이스케이프 코드): 화면에 출력X But 출력 결과를 제어하는 문자

      • \n: 개행, \t: 탭 키, \\: 문자\로 인식, \': 문자'로 인식,
        print('a', 'b', 'c', 'd', sep='\n')
        print('a\nb\nc\nc)  #  결괏값이 위와 동일
  • end

    • print()는 기본적으로 출력 값 끝에 \n을 추가한다. 그러나 print()에 end=""를 지정하면 출력 값 끝에 \n 대신 다른 문자 또는 문자열을 지정할 수 있다.
    • 즉, cursor의 위치가 print()에 의해 줄바꿈되기 이전의 line에 머물러 있다.
        a = [str(i) for i in range(1,51)]
        for x in a:
            print(x, end=", ")  #  defalut값: end="\n"
profile
Difference & Repetition

0개의 댓글