컴퓨터/프로그래밍

[Python] 파이썬 기초 1: Basic operator & 파이썬 변수

옆동네애옹이 2024. 9. 4. 17:50
728x90

예전에 파이썬 띵강의를 들었기 때문에 notion에만 기록해두고 있던 문법 리스트를 공유한다. 우리학교 박ㅅㅎ 교수님 보고 계신가요? 정말 감사했습니다. 처음에는 내가 이런것까지 알아야해? 했지만, 시간이 흐르고 나니 굉장한 문법 베이스를 가지게 되었읍니다. 과제/시험 난이도가 파이썬 치고 어마어마했지만 학교 다니면서 교수님의 이 수업을 에이쁠 맞은 날 가장 기뻤습니다... 

 

2.1.1 Python Basic Operator

Python Operator_사칙연산

# 정수형/실수형 return value 모두 각각 형태 따름

5 + 2 # 7
23.5 + 12.3 # 25.8
5 - 2 # 3
23.5 - 12.3 # 11.2

10 * 2 # 정수형 곱셈/ 정수 출력: 20
2.5 * 2 # 실수형 곱셈/ 실수 출력: 5.0

9 / 4 # 정수형 나눗셈/ 정수 출력: 2.25
9.5 / 3.5 # 실수형 나눗셈/ 실수 출력: 2.7142857142875144

9 // 4 # 정수형 나눗셈에서 정수부분만 가져오는 연산자: 2
9.5 // 3.5 # 실수형 나눗셈에서 정수부만 가져오는 연산자: 2.0

9 % 4 # 정수형 나머지(modulo) 연산자: 1
9.5 % 3.5 # 실수형 나머지 연산자: 2.5

Python Operator_연산자

2 ** 3 # 정수 지수승: 8
2.5 ** 3.4 # 실수 지수승: 22.542186...

# 복소수 형태도 지원(허수부: j/J=루트-1)
(3 + 4j) + (2 + 2J) # 5+6j
(3 + 4j) - (2 + 2J) # 1+2j
(3 + 4j) * (2 + 2J) # -2+14j
(3 + 4j) / (2 + 2J) # 1.75+0.25j

# 정수 나눗셈, modulo 불가능. 복소수의 복소수 승은 가능
(3 + 4j) // (2 + 2J)
(3 + 4j) % (2 + 2J)

2.1.2. Python 숫자형

  • Integers
  • Boolean Type: subclass of Integer, True==1 / False==0
  • Floating-point numbers
  • Complex numbers
3 + True # 4
2 + False # 2
3 * True # 3
3 * False # 0

2.1.3. Python 변수

  • binding: 변수에 수 대입하는 과정

Python 식별자(Identifiers) OR 이름(Names)

  • Python 식별자는 변수, 함수, 클래스, 모듈, 혹은 기타 객체들을 표현하기 위해 사용자가 정하는 이름.
  • Python3 식별자는 Unicode를 기반으로 함.
  • ASCII code만을 사용하는 경우, 식별자 명명 규칙은 Python2의 식별자 명명 규칙과 같음

ASCII v. Unicode

  • 컴퓨터는 모든 것을 숫자로 표현
  • 문자의 각 글자에 고유한 숫자를 배정

Python 2(ASCII) 식별자 명명 규칙

  • 식별자는 A~Z 또는 a~z까지 문자, 밑줄 문자(_) 다음 0개 이상의 문자나 밑줄문자 혹은 숫자를 결합해서 만들 수 있음
  • !, @, #, $, %, &과 같은 특수문자 사용 불가
  • 식별자의 대소문자 구분
  • 식별자 이름으로 키워드 사용 불가
  • 길이 제한은 없으나, 한 줄 길이 최대 79자 권장

Python 2 식별자의 Lexical Definition

  • identifier ::= (letter | "") (letter | digit | "")*
  • letter ::= lowercase | uppercase
  • lowercase ::= "a" ... "z"
  • uppercase ::= "A" ... "Z"
  • digit ::= "0" ... "9"
Python 3 오면서 Unicode로 사용 가능한거 엄청 많아짐

 

ord('A') ... 내부 unicode에 mapping된 숫자 return. 'A'==65, 'a'==97

chr(65) # parameter에 mapping된 문자 return # 'A'

age0(O) 0age(X)

divmod() 정수와 실수만 적용 가능, div(몫) mod(나눗셈) 모두 tuple 형태로 return.

divmod(11,3) >> (3, 2)

728x90