파이썬 쌩기초(3) - 데이터와 변수

01. 오리엔테이션


✅ 컴파일러

우리가 작성한 코드(소스파일)를 컴퓨터가 이해할 수 있는 기계어(0,1)로 변환


✅ 인터프리터

컴파일러와 달리 실행 파일을 만들지 않고 실행이 필요할 때 기계어로 변환


✅ 컴파일러 vs 인터프리터

  • 컴파일 언어는 소스 전체를 실행 파일로 만든 후 기계에서 실행
    👉 번역과 같음.(ex. c/c++, java)

  • 인터프리터 언어는 필요한 소스 코드만 그때 그때 실행 함.
    👉 동시 통역과 같음. (ex. python)

02. 데이터와 변수

PyCharm 설치

Google에서 'pycharm download' 검색

✔ 코드 실행 단축키

Ctrl + Shift + F10


✅ 데이터와 메모리

데이터 -> 메모리에 저장 -> PC에서 CPU에 의해서 실행


✅ 데이터 출력

파이썬에서 문자를 출력할 때는 " "로 묶어도 되고, ' '로 묶어도 됨.(당연히 혼용은 X, 파이썬에서는 ' '가 더 일반적)

Ctrl + D = 복사 (Duplicate)

Ctrl + S = 저장 (Save)


✅ 변수란?

데이터가 저장되어 있는 메모리 공간.
👉 메모리 주소 대신 변수명을 이용.

number 	= 10

number : 변수 선언
= : 초기화
10 : 변수초기값

✔ 변수를 초기화 하지 않으면?

'변수' is not defined 오류 발생

👉 변수를 정의할 때 반드시 '초기화'하도록 한다.

✅ 변수 사용 이유

✔ 데이터의 편리한 재사용

👉 변수만 수정하면 되기 때문!

✔ 프로그램의 효율적 관리


✅ 변수 작명법

✔ 영문 사용

✔ 첫 번째는 소문자로

👉 Class의 첫 글자를 대문자로 쓰는 규칙 때문

✔ 가급적 데이터의 의미를 파악할 수 있는 명사 사용

👉 변수명만 보고 대충 파악이 가능하도록

camel 표기법 / snake 표기법 사용

🐫 camel 표기법 : customerBankAccount
🐍 snake 표기법 : customer_bank_account

✔ 예약어(파이썬에서 이미 예약된 단어) 사용 금지

import keyword
print(keyword.kwlist)		# 예약어 확인 코드

✔ 특수문자 사용 금지(단, 언더바(_)는 사용 가능)

✔ 공백문자 사용 금지

✔ 숫자는 사용해도 되지만 첫 번째 사용 금지


✅ 자료형(Data type)

효율적인 메모리 사용을 위해서 데이터를 정수형(int), 실수형(float), 문자(열)형(str), 논리형(bool)으로 구분한 것

✔ 정수 vs 실수

  • 정수는 메모리가 허용되는 한 무한 사용 가능.
  • 실수는 대략 소수점 이하 17~18번째에서 데이터 손실이 일어남.(왜곡 有)

✔ 숫자(정수, 실수) vs 문자(열)

  • 숫자도 따옴표('',"")로 묶으면 문자(열)로 인식함.

type() : 데이터 타입을 알려줌


✅ 자료형 변환(type casting)

데이터 타입을 변환하는 것으로 파이썬에서 제공하는 함수를 이용한다.

✔ 데이터를 문자(열)로 형변환

    변수명 = str(변수명)		# 문자형

✔ 데이터를 숫자(정수, 실수)로 형변환

    변수명 = int(변수명)		# 정수형
    변수명 = float(변수명)		# 실수형

    # 논리형 -> 정수형  변환 시 True는 1, False는 0

✔ 데이터를 논리값으로 형변환

    변수명 = bool(변수명)		# 논리형

✔ 그 외 데이터 형변환

  • 빈 문자
    var = ''
    print(var)			
    print(type(var))		


<class 'str'>

    var = bool(var)
    print(var)			
    print(type(var))		

False
<class 'bool'>

  • 공백 문자
    var = ' '
    print(var)			
    print(type(var))	


<class 'str'>

    var = bool(var)
    print(var)			
    print(type(var))

True
<class 'bool'>


✔ 문자 -> 논리 -> 산술 연산

    var1 = 'True'
    var2 = 'False'

    print(var1)			
    print(var2)			
    print(type(var1))		
    print(type(var2))	

    var1 = bool(var1)		
    var2 = bool(var2)		
    print(var1)			
    print(var2)			
    print(type(var1))		
    print(type(var2))		

    print(var1 + var2)		

True
False
<class 'str'>
<class 'str'>
True
True
<class 'bool'>
<class 'bool'>
2

👉 데이터가 있으면 True, 없으면 False로 변환


✅ 데이터 입력

input() 함수를 이용한 데이터 입력

  • 입력가이드 문구 사용하기
    input() 함수에 입력 가이드 문구 명시.
userInputData = input("키보드를 통해서 데이터를 입력하세요.")
  • input()함수를 이용해서 입력한 데이터는 항상 문자(열) 자료형
    👉 입력받는 데이터를 형 변환하여 사용.
userInputData = input("문자형을 입력하세요.")
userInputData = int(input("정수형을 입력하세요."))
userInputData = float(input("실수형을 입력하세요."))
userInputData = bool(input("논리형을 입력하세요."))

✅ 데이터 출력

print() 함수를 이용한 기본적인 데이터 출력

    userName = '홍길동'
    print(userName)
    userAge = 20
    print(userAge)

홍길동
20

✔ 콤마(,)를 이용한 데이터 연속 출력

    print('User name : ', userName)
    print('User age : ', userAge)
    print('User name : ', userName, ', User age : ', userAge)

User name : 홍길동
User age : 20
User name : 홍길동, User age : 20

print()는 자동개행
👉자동개행을 없애려면 end=''

    print("출력 문구", end='') 		# \n

✔ 포맷 문자열을 이용한 데이터 출력

    print(f'User name : {userName}')
    print(f'User age : {userAge}')

    print(f'User name : {userName}, User age : {userAge}')

✔ 특수문자

  • \t -> 탭
  • \n -> 개행

format()와 형식문자

format()함수를 이용한 데이터 출력

    user Name = 'Hong gil dong'
    user Age = 20
    print('User name : {}'.format(userName))
    print('User age : {}'.format(userAge))
    print('User age : {}, User age : {}'.format(userName, userAge))

User name : Hong gil dong
User age : 20
User age : Hong gil dong, User age : 20

format()함수의 인덱스를 이용한 출력

    print('나의 이름은 {}이고, 나이는 {}살 입니다. {}이름은 아버님께서 지어 주셨습니다.'.format(userName, userAge, userName))
    print('나의 이름은 {0}이고, 나이는 {1}살 입니다. {0}이름은 아버님께서 지어 주셨습니다.'.format(userName, userAge))

나의 이름은 Hong gil dong이고, 나이는 20살 입니다. Hong gil dong이름은 아버님께서 지어 주셨습니다.
나의 이름은 Hong gil dong이고, 나이는 20살 입니다. Hong gil dong이름은 아버님께서 지어 주셨습니다.

👉결과 동일

✔ 형식 문자를 이용한 데이터 출력

  • %s -> 문자열
  • %d -> 정수
  • %f -> 실수
    ◾ 소수점 자릿수 나타내는 방법 : ex) %.2f ➡ 소수점 두 자리
    print('User name : %s' % userName)
    print('User age : %d' % userAge)
    print('User name : %s, User age : %d' % (userName, userAge))

    print('Pi : %f' % 3.14)
    print('Pi %d : %d' % 3.14)

User name : Hong gil dong
User age : 20
User name : Hong gil dong, User age : 20
Pi : 3.140000
Pi : 3

좋은 웹페이지 즐겨찾기