[Python 기초] 01 데이터/변수, 연산자, 조건식
*using Python - PyCharm Community Edition
📌 데이터와 변수
📚 변수
- 데이터가 저장되어 있는 메모리 공간
- 반드시 선언 후 초기화 하여 사용
- 데이터 재사용 목적으로 활용
# 변수 초기화
num = 10
name = 'Hong Gil-dong'
print(num)
print(name)
📚 자료형(Data Type)
- 데이터 타입에 따른 메모리 크기 결정
👉 정수 int: 메모리 허용하는 범위 내에서 무한 사용 가능
👉 실수 float: 대략 소수점 아래 17~18번째에서 데이터 손실 발생
👉 문자(열) str
👉 논리형 bool: True, False
num1 = 10
num2 = 10.0
num3 = '10'
num4 = True
# 특정 변수 Data Type 확인
print(type(num1)) # <class 'int'> 반환
print(type(num2)) # <class 'float'> 반환
자료형 변환 (type casting)
# 문자(열) 형변환
str(num1)
str(num2)
# 숫자 형변환
int(num3)
int(num4) # True = 1 로 변환
float(num1)
# 문자(열) > 논리 > 산술 연산
var1 = 'True'
var2 = 'False'
var1 = bool(var1) # 데이터가 있으면 True
var2 = bool(var2)
print(var1 + var2) # 2 반환
print(type(var1 + var2)) # <class 'int'> 반환
📚 데이터 입/출력
# 키보드로 데이터 입력 후 저장해 출력
# 기본 str 타입으로 입력됨
inputData = input()
print(inputData)
# 원하는 type에 맞게 casting
inputData = int(input())
inputData = float(input())
inputData = bool(input())
# 여러 데이터 출력
name = input()
age = input()
print('name : ', name, ', age : ', age)
# 자동개행(\n) 취소
print('3 * 5 = ', end='')
print(3 * 5)
# 포맷 문자열 이용한 출력
print(f'name : {name}, age : {age}')
📚 format()과 형식문자
# format() 함수를 활용한 데이터 출력
print('name : {}'.format(name))
print('name : {}, age : {}'.format(name, age))
# format() 함수의 인덱스를 활용해 출력
print('name : {0}, age : {1}. hi, {0}'.format(name, age))
# 형식문자를 활용해 출력
# %s(문자열), %d(정수), %f(소수), %.nf(소수점 n자리 표현)
print('name : %s, age : %d' % (name, age))
📌 연산자 (operator)
📚 연산자
- 산술 연산자: +, -, *, /, //, %, **
# 숫자와 문자 연산 불가능
result = num1 + fnum
print('num1 + num2 = %.2f' % (num1 + num2))
str1 + str2 # = str1str2 가능
str1 - str2 # 불가능
result = num1 * fnum
print('result = {}'.format(result))
str1 * 5 # str1str1str1str1str1
num1 / num2 # 결과값은 항상 float type
10 // 3 # = 3 몫
10 % 3 # = 1 나머지
# divmod(): 몫과 나머지를 한 번에 구해주는 함수
result = divmod(10, 3) # result에 튜플로 몫, 나머지가 들어있음
print('몫: {}'.format(result[0]))
print('나머지: {}'.format(result[1]))
2 ** 3 # = 8 n ** m n의 m제곱
9 ** (1/2) # = 3.0 n ** (1/m) n의 m제곱근
# sqrt(x), pow(x,y)
print('2의 제곱근 %.2f' % math.sqrt(2))
print('2의 3제곱 %f' % math.pow(2,3))
format(409000, ',') # = 409,000 3자리씩 ,로 끊어줌 str type으로 전환됨
- 할당(대입) 연산자: =
- 복합 연산자: 산술연산자=
result = num1 + num2 # num1+num2 값을 result에 할당
num += 5 # num = num + 5
num -= 5 # num = num - 5
num *= 5 # num = num * 5
num /= 5 # num = num / 5
num //= 5 # num = num // 5
num **= 5 # num = num ** 5
- 비교 연산자: 연산 결과는 bool 이다.
print(10 > 5) # True
print(10 < 5) # False
print(10 >= 5) # True
print(10 <= 5) # False
print(10 == 5) # False
print(10 != 5) # True
# 문자 비교는 ASCII 코드에 의해 결정됨
print('A' > 'S') # False
print(ord('A')) # = 65 A의 ASCII 코드값 출력
print(chr(65)) # = A 65의 ASCII 코드 대응 문자 출력
# 문자열 자체로 비교되어 같은지만 비교 가능
print('A' == 'S') # False
- 논리 연산자: and, or, not
print(True and True) # True
print(False and True) # False
print(True and False) # False
print(False and False) # False
print(True or True) # True
print(False or True) # True
print(True or False) # True
print(False or False) # False
print(not True) # False
print(not False) # True
📚 operator module
import operator
operator.add(num1, num2) # +
operator.sub(num1, num2) # -
operator.mul(num1, num2) # *
operator.truediv(num1, num2) # /
operator.mod(num1, num2) # %
operator.floordiv(num1, num2) # //
operator.pow(num1, num2) # **
operator.eq(num1, num2) # ==
operator.ne(num1, num2) # !=
operator.gt(num1, num2) # >
operator.ge(num1, num2) # >=
operator.lt(num1, num2) # <
operator.le(num1, num2) # <=
operator.and_(num1, num2)
operator.or_(num1, num2)
operator.not_(num1)
📌 조건식
📚 A if 조건식 else B
- 조건식 결과가 True이면 A 실행, 그렇지 않으면 B 실행
- 조건식 결과를 변수에 할당해 사용
print('num1이 num2보다 크다') if num1 > num2 else print('num1이 num2보다 크지 않다')
result = 'possible' if myPoint >= minAblePoint else 'impossible'
print('포인트 사용 가능 여부: {}'.format(result))
Author And Source
이 문제에 관하여([Python 기초] 01 데이터/변수, 연산자, 조건식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hhhong/Python-기초-01저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)