Python

Python_00_기초 문법

5_ssssseung 2021. 3. 26. 23:19

기초문법

1. 주석

  • # : 한줄 주석, 코드 앞에 작성
  • """, ''' : 여러줄 주석 주석 처리하려는 문단 앞 뒤로 묶어줌

2. 코드라인

  • 한줄에 한문장이 기본
  • 여러줄 입력할 경우에는 줄 넘김 전에 \ 역슬래쉬
  • 리스트, 딕셔너리, 셋 등은 , 컴마로

3. 변수

  • 변수의 값을 저장 할때는 할당 연산자 =
  • 사칙연산 및 메서드 사용 가능
  • 동시에 둘 이상의 값을 할당 가능하지만, 변수의 갯수와 값의 갯수를 일치 시킬 것!
  • 두 값을 swich 하는 방법
x = 10
y = 100
temp = x
x = y
y = temp
print(x, y)

x = 10
y = 100
x, y = y, x # 파이썬은 이렇게 해도 됨!!
print(x, y)
  • 식별자 = 변수의 이름
    • 알파벳의 대소문자, 숫자, _언더바 등으로 구성되며, 첫글자에는 숫자가 올 수 없다.
    • 아래의 키워드는 사용이 불가하다.
    • 위에 해당하는 이름을 변수로 사용시 오류가 발생함!
import keyword
print(keyword.kwlist)

False, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
# 빌트인 함수이거나, 이미 파이썬에서 정의되어 있는 식별자들은 사용 불가

4. 데이터 타입

  • 숫자

    • 정수 int

    • 실수 float : 실수의 대소비교의 경우 == 을 사용하면 부정확함. 대신 아래 처럼 확인

      # import 없이 확인
      a = 3.5 - 3.12
      b = 0.38
      abs(a - b) <= 1e-10
      
      # 입실론
      import sys
      abs(a -b) <= sys.float_info.epsilon
      
      # 이즈클로즈
      import math
      math.isclose(a, b)
    • 복소수 complex : 정수부와 허수부로 구성되고 허수부는 j 를 붙여서 사용

      • .real: 정수부 반환
      • .imag : 허수부 반환
      • 문자열을 복소수로 변환시 공백이 없어야 함 : complex('1 + 2j') # ValueError
  • 글자 string : ' " 따옴표나 큰따옴표로 표현

    • 사용자에게 받는 inputstr

    • 문자열 안에 추가로 '' 를 넣고 싶은 경우 각 ' 앞에 \ 역슬래쉬 추가

        print('철수가 말했다. "안녕?"')
        print('철수가 말했다. \'안녕?\'')
      
        print("""
        개행문자 없이
        여러 줄을 그대로 출력 가능합니다.
        """)
      
        'hi' * 10
      
        'hi' + 'hong'
    • 곱하기나 더하기 연산이 가능하고 문자열을 붙여서 출력한다

    • 개행문자

      \n 줄 바꿈
      \t
      \r 캐리지리턴
      \0 널(Null)
      \ \
      ' 단일인용부호(')
      " 이중인용부호(")
      print('내용을 띄워서 출력하고 싶으면?', end='\t')
      print('옆으로 띄워짐')
      
      print('개행 문자 말고도 가능합니다', end='!')
      print('진짜로', end='!')
      print('알고보면 print는 기본이 \\n', end='!')
      
      # 엔드 인자를 추가하면 출력된 글자 마지막에 추가할 행동을 지정 할 수 있음
      # %-formatting을 활용해봅시다.
      print('Hello, %s' % name) # 스트링
      print('내 성적은 %d' % score) # 정수
      print('내 성적은 %f' % score) # 실수
      
      # str.format()을 활용해봅시다. 둘 다 기억하기 ★
      print('Hello, {}. 내 성적은 {}'.format(name,score))
      
      # f-string을 활용해봅시다. 3.6+
      print(f'Hello, {name}. 내 성정은 {score} 지롱!')
      
      f'오늘은 {today:%y}년 {today:%m}월 {today:%d}일 {today:%A}'
  • 참/거짓

    • True False 중에 한 가지를 갖음
    • 형변환 시 숫자는 0 : False , 0이 아닌 모든 숫자 : True
    • 문자열, 리스트, 딕셔너리, 셋의 경우 비어있으면 False, None

5. 형변환

  • 암시적 형변환 : 파이썬이 알아서 바꿔줌
    • bool + Number = Number
    • 숫자끼리 사칙연산을 할 경우 정수, 실수, 복수수가 섞여있다면, 상위 개념으로 바뀜
  • 명시적 형변환 : 형변환 함수를 써서 변경
    • str() : 다른 타입을 스트링으로
    • int() : 정수형 스트링, 실수, 복소수 등을 정수로

6. 연산자

  • 산술 연산자

    • 연산자내용+덧셈뺄셈곱셈/나눗셈//몫%나머지(modulo)*거듭제곱
    • 몫과 나머지를 동시에 뽑을 수 있는 divmod(5, 2)도 있음
  • 비교 연산자

    • 연산자내용<미만<=이하>초과>=이상==같음!=같지않음is객체 아이덴티티is not부정된 객체 아이덴티티
  • 논리 연산자

    • 연산자내용a and ba와 b 모두 True시만 Truea or ba 와 b 모두 False시만 Falsenot aTrue -> False, False -> True

    • 단축평가

        print(3 and 5) # and는 둘다 true 여야 되서 둘다 확인 함, 그래서 뒤에 거 지정
        print(3 and 0)
        print(0 and 3)
        print(0 and 0)
      
        print(3 or 5) # or 은 둘중 하나만 true 면 됨. 그래서 앞에가 true 면 끝
        print(3 or 0)
        print(0 or 3)
        print(0 or 0)
      
        # and 와 or 의 특성을 이용해서 단축평가 가능

7. 복합 연산자

a += b a = a + b
a -= b a = a - b
a *= b a = a * b
a /= b a = a / b
a //= b a = a // b
a %= b a = a % b
a **= b a = a ** b
  • 주로 반복문에서 사용됨
  • 기타 연산자
    • 스트링에서 -+ 를 사용하는 경우 concatenation
    • in 포함 여부 확인 가능
    • is : == 은 변수에 할당된 값만 같은지 확인 하는 것이지만, is 는 id 값도 같아야 True
    • 파이썬에서 -5 부터 256 까지의 id는 동일합니다.
    • 의도적으로 공백 없는 알파벳 문자열도 같게끔 해놨다.
    • Indexing/Slicing : [0]: 시퀀셜 타입의 0번째 요소 , [0:3]: 시퀀셜 자료의 0~2번째 요소
    • 연산자 우선순위보다는 그냥 괄호쳐서 명확하게 하는게 나음
      1. ()을 통한 grouping
      2. Slicing
      3. Indexing
      4. 제곱연산자 *
      5. 단항연산자 +, - (음수/양수 부호)
      6. 산술연산자 *, /, %
      7. 산술연산자 +, -
      8. 비교연산자, in, is
      9. not
      10. and
      11. or
  • 표현식 : 하나의 값으로 환원될 수 있는 문장 / 하나의 값, 할당문, 수식
  • 문장 : 실행 가능한 최소한의 코드 단위 / 하나의 값, 표현식, 실행가능한 코드

'Python' 카테고리의 다른 글

Python_04_예외처리  (0) 2021.04.06
Python_03_함수  (0) 2021.04.05
Python_02_제어문  (0) 2021.04.04
Python_01_컨테이너  (0) 2021.03.30
Python 가상환경 설정 및 개발환경 관리  (0) 2021.03.17