데이터(타입, 변수, 값, 이름)

BANG·2020년 11월 24일
0

Python 기본

목록 보기
1/15

파이썬 데이터는 객체

  • 각 데이터 값(문자열, 정수, 함수 등)을 메모리에 객체로 래핑
  • 데이터의 값은 변경이 가능하지만 객체의 타입은 변경 불가

데이터값 명시하는 방법

  • 리터럴
  • 변수

변수(이름)

  • 대소문자 구분
  • 문자나 언더바로 시작
  • 예약어는 사용 불가

[예약어 확인 방법]

help("keywords")

===================================

import keyword
keyword.kwlist

할당(값을 복사하지 않음)

  • 오른쪽의 계산 결과값을 왼쪽 변수에 할당
  • 역슬래시()를 입력하면 다음줄을 같은 줄로 인식
  • 쌍을 이루는 괄호의 안에 여러 줄 입력 가능

타입 확인

type(5)
isinstance(7, int)
isinstance(7.1, float)

객체의 참조 카운트

  • 객체의 참조 카운트가 0이면 더이 상 필요하지 않아 메모리를 재사용

여러 이름 할당

two = deux = 2

복사

  • 불변 객체(정수, 튜플)
x = 5
y = x
x = 29

print(x)    # 29
print(y)    # 5

  • 가변 객체(리스트)
a = [2, 3, 4]
b = a
a[0] = 5

print(a)    # [5, 3, 4]
print(b)    # [5, 3, 4]

가변/불변 자료형

제목내용설명
listmutable 한 순서가 있는 객체 집합mutable
setmutable 한 순서가 없는 고유한 객체 집합mutable
dictkey와 value가 맵핑된 객체, 순서 없음mutable
bool참,거짓immutable
int정수immutable
float실수immutable
frozensetimmutable한 setimmutable
str문자열immutable
tupleimmutable 한 순서가 있는 객체 집합immutable

숫자

  • 큰 숫자의 표현에선 ,(쉼표) 대신 _(언더바)사용
  • 공백 무시됨
a = 100,000,000
b = 100_000_000

print(a)    # (100, 0, 0)
print(type(a))    # <class 'tuple'>

print(b)    # 100000000
print(type(b))    # <class 'int'>

[divmod 함수]

print(9 / 5)    # 나눗셈의 몫을 실수로 출력
print(9 // 5)    # 나눗셈의 몫을 정수로 출력
print(9 % 5)    # 나눗셈의 나머지 출력

print(divmod(9, 5))    # 튜플로 몫으 정수와 나머지 출력

진수

  • 진수를 붙이지 않으면(기본)은 10진수
  • 비트(bit)단위 연산에 사용
  • 2진수 : 0b
  • 8진수 : 0o
  • 16진수 : 0x

print(10)

# 2진수 10을 10진수로 출력
print(0b10) 
print(int('10', 2))

# 8진수 10을 10진수로 출력
print(0o10)
print(int('10', 8))

# 16진수 10을 10진수로 출력
print(0x10)
print(int('10', 16))

print(10)

# 10진수 10을 2진수로 출력
print(bin(10))

# 10진수 10을 8진수로 출력
print(oct(10))

# 10진수 10을 16진수로 출력
print(hex(10))

타입 변환

[정수, 실수와 bool타입]

print(int(True))
print(int(False))

print(float(True))
print(float(False))

print(bool(1))
print(bool(0))

print(bool(1.0))
print(bool(0.0))

[정수와 문자 변환]

print(chr(65))    # 정수를 단일 문자로 변환
print(ord('A'))   

부동소수점 숫자

  • 소수점 존재
  • 문자e와 정수인 지수 포함 가능

[문자e와 정수 지수]

# 숫자e지수 = 숫자 * 10^지수

print(5e0)    # 5 * 10^0
print(5e1)    # 5 * 10^1
print(5.0e1)    # 5.0 * 10^1
profile
Record Everything!!

0개의 댓글

관련 채용 정보