자료형과 변수 사용
변수는 값을 담는 상자와 같지요?
다른 프로그래밍 언어들과 달리 선언 시 자료형이나 키워드를 붙이지 않아도 됩니다.
영문자
,숫자
, 언더바(_)
로 구성 : 숫자로 시작될 수 없지만, 언더바로는 시작할 수 있음.- 대소문자 구별
- 공백 불가
- 보통
낙타표기법
사용 : 변수 이름이 소문자로 시작 후 바로 다음에 영어단어가 이어질 경우 대문자로 시작
a = 10
b3 = 20
_count = 0
BoxCopy
상수
는 값이 결정되고 나면 코드가 끝날 때 까지 변경되지 않는 값을 의미합니다.
상수는 전체 이름을 대문자로 표기합니다.
PI = 3.141592
MAX_SIZE = 100
TAX = 2.112
자료형의 종류
- 정수 : -2, 0 ,5, 443
- 실수 : 0.21, 4.43
- 문자열 : “brraaa”, ‘school’
자료형 확인은 type(변수명)
을 통해 할 수 있고 결과값은 자료형에따라
정수는 <class> 'int'
, 실수는 <class> 'float'
, 문자열은 <class> 'str'
로 출력됩니다.
특정 자료형으로 변환하는 것을 형변환
한다고 말하는데요, 간단하게 int()
, float()
, str()
로 변환 가능합니다.
이스케이프 문자
시스템을 제어하기 위한 특수한 문자로서 문자 앞에서 \
가 붙습니다.
\\
: 백슬래시(\
)를 출력\'
: 작은 따옴표 출력\"
: 큰 따옴표 출력\n
: 줄바꿈 문자 출력.\t
: 탭 문자 출력 ‘출력’을 위해 사용하는 문자열이므로 꼭 따옴표 안에 묶어주어야 합니다. 그렇지 않으면 에러 발생!
문자열 다루기
문자열의 길이를 알고자 한다면 len(문자열변수 또는 문자열)
을 사용합니다.
또한 문자열끼리의 연결은 +
연산자 또는 스페이스바(공백)
를 통해 간단하게 가능합니다.
단, 문자+숫자가 섞인 문자열을 숫자로 형변환을 할 수는 없습니다. 예) float(“21.4cm”)
#문자열끼리의 연결
print('Py' 'thon' ) #python 출력
a = "ha"
b = 'ppy'
print(a+b) #happy 출력
#문자열과 숫자의 연결: 숫자 -> 문자열 변환 필요
print("apple"+22) #TypeError
print("apple"+str(22)) #apple22 출력
특정 문자열의 반복은 *
연산자로도 가능합니다. 마치 숫자로 곱하기 연산을 하듯 곱해진 수만큼 해당 문자열이 붙어서 반환됩니다.
m = "love " * 3
print(m) #love love love 출력
출력시 문자열 형식 포맷하기
#변수를 %s에 대입하기
print("상품의 가격은 %s원입니다." % value1)
#두 개의 문자열을 %로 연결하기
value1 = "현재 시간은 %s입니다."
time = "12:00pm"
print(value1 % time)
#둘 이상의 값을 ( )로 전달하기
value1 = "오늘은 %s월 %s일입니다."
print(value1 % (3, 1))
문자열은 리스트로 인덱싱하는 것이 가능합니다.
인덱싱이란 문자열의 시작 문자부터 한 문자씩을 추출할 수 있음을 의미합니다.
즉, a = ‘python’이라는 선언에서
a는 python
이란 문자열 하나라고 접근할 수도 있고, a[0], a[1],..,a[5] 와 같이 하나의 문자들이 여러개로 구성된 리스트로 접근할 수도 있습니다.
여기서 a[0]은 첫번째 문자인 p가 되며, 두번째 문자인 y는 a[1]로 나타낼 수 있습니다.
알아두시면 편한 것
인덱스를 -1
로 사용하게 되면 가장 마지막 문자(이 예제에서는 n)를 가리키고, 인덱스를 -문자열의 길이
로 사용하게 되면 가장 첫번째 문자(이 예제에서 a[-6]은 p)가 됩니다.
지역변수와 전역변수
-
지역변수란 함수(def) 내에서 선언되어 함수 내에서만 사용되는 변수로, 함수 호출시 생성되었다가 종료 시점에서 소멸됩니다.
-
전역변수란 함수 외부에서 정의된 변수를 의미합니다.
간혹 지역변수를 전역변수처럼 쓰고 싶을 때가 생겨요. 이럴 때는 지역변수 선언할 때 변수명 앞에 global
키워드를 붙여주면 됩니다.
def fruit():
global s
print(s)
s = "banana"
...