[Python 기초] 파이썬 변수 개념

·2023년 4월 14일
0

[ Python 기초 ]

목록 보기
1/3
post-thumbnail

🏷️ 식별자 (identifier)

: 프로그램에서 구별을 위해 사용되는 이름

🏷️ 식별자 (identifier) 규칙

▪️ 대소문자 구별
▪️ 숫자는 첫글자로 사용 불가
▪️ 예약어는 변수명으로 사용 불가
▪️ 문자, 숫자, 특수문자 중 (_)사용

🏷️ 변수 사용

반드시 초기값 할당 후 사용

파이썬 언어에서의 변수값 할당 = binding 개념

num = 5
point = 5

⬐ num
5
⬑ point

var1 = 10
var2 = '123'
var3 = var1 + var2
var4 = var3 + 100
var5:int = 10
var6:str = 'python'
var1 = var2 = var3 = 10

🏷️ 변수의 자료형 확인

type()
: 변수 및 상수값의 자료형을 확인하는 내장함수

type (상수값)
type (변수이름)

boolVar = True
intVar = 200
type(100)
type(boolVar)
type(intVar)

🏷️ 기본 자료형(데이터형) 종류

종류사용예시변수사용
정수-10, 0, 10num1 = 10
실수-1.2, 1.2real = -1.2
문자열'123', 'string'my_string = "123"
"123", "string"num_string = '123'
BoolTrue, Falsemy_bool = True

숫자형(정수 / 실수)

진수 값을 문자열로 반환하는 함수

  • bin() → 2진수
  • oct() → 8진수
  • hex() → 16진수

각 진수를 나타내는 접두사

  • 2진수: 0b
  • 8진수: 0o
  • 16진수: 0x

정수 크기 표현

  • 2진수 → 0, 1
  • 10진수 → 0~9
  • 8진수 → 0~7
  • 16진수 → 0~9, a~f

실수 자료형 크기 제한

  • 8바이트까지 저장
  • 소수점 이하 15자리까지 지원
print(bin(0xf))
print(bin(0o12))
print(bin(12))
print(hex(15))
print(hex(0o12))
print(hex(0b1111))

0b1111
0b1010
0b1100
0xf
0xa
0xf

파이썬은 문자열 표시 기호로 '' 또는 "" 을 구분없이 사용

🏷️ print() 함수를 사용하는 출력 방법

%서식문자

print( "%d" % 출력값 )
print( "%서식문자" % 변수이름 )

두 개 이상의 값 또는 수식의 결과를 출력할 경우
반드시 출력대상을 ( , )로 묶어야함

서식사용예시변수사용
%d, %x, %o10, 100, 1234정수 (10진수, 16진수, 8진수)
%f0.5, 3.45, 100.34실수 (부동소수점이 붙은 수)
%c'b', "B", '한', '글'한 글자
%s"bB", "한글"두 글자 이상

#을 %와 x 또는 o 사이에 입력 시
진법을 나타내는 접두사 출력

print("%#x" % 15)0xf
print('%#o' % 10)0o12

print(bin(0xf))
print(bin(0o12))
print(bin(12))
print(hex(15))
print(hex(0o12))
print(hex(0b1111))

0b1111
0b1010
0b1100
0xf
0xa
0xf
종류사용예시변수사용
필드폭%10d, %5f, %20s출력값의 필드폭 설정, 우측 정렬, 필드폭이 출력문자열보다 적어도 출력문자열을 모두 출력
정밀도%.2f, %.3s실수 → 소수점 자리수 지정, 문자열 → 좌측부터 정밀도만큼 출력
플래그문자%-10d, %-4f, %-10s좌측 정렬
%010d, %04.2f우측 정렬 시, 빈 앞칸을 '0'으로 출력
print("%08.2f" % 3.456)

00003.46

str.format()

기본 서식으로 {} 사용 ( {} 사이에 공백 입력 불가)

'{ }' .format(출력값)
"{ }" .format(출력값)

인자이름인자종류
!변환!r, !s!r은 데이터 표현식 그대로 출력
!s 는 숫자 → 문자열
정렬방식<, >, ^왼쪽, 오른쪽, 가운데 정렬
정수단위,정수를 세자리씩 , 로 끊어서 표시
print('{}'.format(100))
print("{}".format("우리나라"))
print("{!r}".format("우리나라"))
print("{}".format(3.456))
print('{}'.format("C"))

100
우리나라
'우리나라'
3.456
C

{ 인덱스 : 서식문자 } 에서 인덱스는

  • 출력값들의 위치 번호
  • 인덱스 번호는 작성된 순서대로 0부터 시작

10,20,30 순이면 10의 인덱스는 0,
20의 인덱스는 1 의 순

f-string

f"{ 출력값:서식 } { 출력값:서식 } …"
f"{ 출력값=:서식 } { 출력값=:서식 } …"

var1 = 34
var2 = 5.25
var3 = "Hello Python!"

print(f'{var1}, {var2}, {var3}')
print(f'{var1:<10d}, {var2:.2f}, {var3:.5s}')
print(f'{var3}, {var1}, {var2}')
print(f"{var1} * {var2}의 결과는 {var1*var2}")
print(f'{var1=}, {var2=}, {var3=}')
print(f'{var3=!r:*>30s}')

34, 5.25, Hello Python!
34        , 5.25, Hello
Hello Python!, 34, 5.25
34 * 5.25의 결과는 178.5
var1=34, var2=5.25, var3='Hello Python!'
var3=***************'Hello Python!'

🏷️ 파이썬에서 제공하는 출력 내장함수

print( 출력값…, sep= ' ', end='\n', file=sys.stdout, flush=False )

함수명기능
value출력값
sep출력값 사이의 문자(구분자), 기본값은 공백문자
end마지막 출력값 뒤에 출력할 문자, 기본값은 \n 임
print("python", "happy", sep=",", end="하트")
print(10, 20, sep="&", end="\t")
print(r"'\t' 는 일정간격으로 커서를 옮기는 이스케이프 문자")
함수명기능
filevalue 의 출력 형태, 기본은 표준출력(sys.stdout) 즉 기본 화면(모니터)에 출력
flush출력값의 buffered 여부, 기본은 False 로 데이터를 buffered 시킴
단 end의 값이 \n 이면 flush 값의 여부에 관계없이 자동으로 flush 됨
import time

for i in range(10):
	print(i, end= ' ', flush=False) # True 변경 시 확인
	time.sleep(1)
    
print("출력", flush=True)

🏷️ 입력함수 사용법 ( input() )

변수이름 = input("입력 코멘트")

input 함수로 입력되는 값은 모두 문자열 타입

📒 연습 문제

format 함수와 동일한 결과를 얻는 f-string 작성

integer_var = 100
float_var = 3.14156
string_var = "Hi python"

print("{1:0>10f} {0:0^10d} {2:#<20s}".format(integer_var, float_var, string_var))

📝 코드 예시

print(f"{float_var:0>10f} {integer_var:0^10d} {string_var:#<20s}")

📝 실행 결과

003.141560 
0001000000
Hi python###########
profile
https://dribbble.com/ohseyun

0개의 댓글