기본자료형과 입출력
변수와 자료형


변수 (variable)
📢 프로그램이 사용하는 데이터를 임시로 저장하는 메모리 공간
컴퓨터 과학에서 변수는 컴퓨터 메모리에서 변경될 수 있는 데이터를 저장하는 ‘명명된’ 위치를 명칭함. 변수는 데이터를 담는 컨테이너와 같으며, 데이터는 알려지거나 알려지지 않을 수 있음.
할당연산자 (=)과 동등연산자(==)
: 우리가 일반적으로 수학 공식에서 사용한 등호 (=)는 대부분의 프로그래밍 언어에서 변수 선언으로 사용되며, 양쪽이 동등함(equal)을 나타낼 때 동등연산자(==)를 사용한다.
- = (Assignment, 할당연산자)
- = 를 기준으로 우측에 있는 값(value, 값) 을 좌측(variable, 변수) 으로 대입(할당)해 주는 기능.
- 변수를 선언한다고 표현한다.
- cf. apple = ‘사과’ : apple이라는 변수에 ‘사과’라는 문자 데이터(값)를 할당한다.
- == (Equality, 동등연산자)
- ==를 기준으로 좌측데이터와 우측데이터의 값이 같다는 의미를 나타낸다.
- cf. apple == 사과 : apple은 사과와 같다(동등하다).
변수 이름 명명 규칙 (Naming Rules)
- 변수명은 문자, 숫자, 언더바(_)만으로 구성되어야 한다. (언더바 외의 특수문자 일체 사용 불가)
- 변수명은 공백을 포함해서는 안된다.
- 변수명의 첫 글자는 반드시 문자 혹은 언더바로 시작해야한다. (숫자로 시작할 수 없다.)
- 대문자와 소문자는 구별된다. (AA, Aa, aA, aa는 각각 다른 변수)
- 예약어(keyword)는 사용할 수 없다.
예약어는 일종의 파이썬에서 약속된 기능을 수행하도록 이미 세팅된 단어들이다.
파이썬에서 예약어를 확인하고 싶을 때 아래 코드를 입력하면 예약어가 나열된다.
- 파이썬 자체의 규칙은 아니지만, 변수명은 변수를 설명할 수 있도록 명명하는 것이 후에 어느 변수가 어느 정보와 기능을 담는지 식별하기 좋다.
예약어 호출
>>> import keyword>>> print(keyword.kwlist)
파이썬 변수의 자료형

🔸기본 자료형 : 값을 하나를 매칭
1. 숫자형(Number)
a=10
b=1.53
c=12+3j

▸ 숫자로 이루어진 자료형
▸ 파이썬은 정수, 실수, 복소수 구분없이 변수에 쉽게 저장할 수 있음
정수형
|
실수형
|
복소수형
|
123, -123, 0, …
|
123.45, -12.23, 5.4e5, …
|
12+3j, 3-5j, …
|
▸ 파이썬에서 복소수를 표현할 때는 i 대신에 j 를 사용
▸ 또한 1-j 대신 1-1j 로, 복소수가 1배수일 때도 반드시 숫자 1을 표기 필요 (j를 단독으로 사용시, 변수로 읽는다.)
덧셈
|
뺄셈
|
곱셈
|
나눗셈
|
나머지
|
몫
|
지수승
|
+
|
-
|
*
|
/
|
%
|
//
|
**
|
▸파이썬에서 지원하는 산술 연산자(arithmetic operators) 기호는 위와 같음
▸일반 수학식과 마찬가지로 파이썬에서도 연산자 간 우선 순위에 주의해야함. 마찬가지로, 일반 수학식처럼 괄호를 통해 연산의 우선순위를 조절 가능
(지수승 > 곱셈, 나눗셈, 몫, 나머지 > 덧셈, 뺄셈)
복합연산자
|
동작
|
복합연산자
|
동작
|
a+=b
|
a=a+b
|
a-=b
|
a=a-b
|
a*=b
|
a=a*b
|
a/=b
|
a=a/b
|
a//=b
|
a=a//b
|
a%=b
|
a=a%b
|
a**=b
|
a=a**b
|
|
|
▸파이썬에서 지원하는 복합 연산자 기호는 위와 같음
▸복합 연산자 : 변수의 현재 값에 연산을 수행한 결과를 다시 해당 변수에 저장하는 경우
▸글자의 중복으로 인한 코드의 복잡성을 최소화하고, 연산 대상을 잘못 입력하는 실수를 최소화하기 위해(소문자 대문자 등) 복합연산자를 사용
2. 문자열(String)
S="How to make string"
S2="123"
S3=" "
S4="one two three"
S5=","

▸ 문자의 나열을 나타낼 수 있는 자료형
▸알파벳 · 한글 등의 자연어 문자, 0~9의 숫자, 기호, 공백 등 표현 가능
▸ 큰따옴표 혹은 작은따옴표로 문자의 양끝을 둘러싸는 식으로 표현
- 큰따옴표로 감싸기 ⇒ "파이썬"
- 작은따옴표로 감싸기 ⇒ '파이썬'
- 큰따옴표 3개로 감싸기 ⇒ """파이썬"""
- 작은따옴표 3개로 감싸기 ⇒ '''파이썬'''
▸문자열 정의방식을 다양하게 지원하는 이유는 apostrophe 혹은 인용문으로서 문자열 내에서 따옴표가 중복 사용되는 경우를 대비하기 위해, 문자열이 길어질 경우(주석 등으로 이용하기위한 문자열)를 위해
▸ 숫자 또한 따옴표 안에서는 문자로 인식됨
a="We never run!"
번호
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
문자
|
W
|
e
|
|
n
|
e
|
v
|
e
|
r
|
|
r
|
u
|
n
|
!
|
번호
|
0
|
-12
|
-11
|
-10
|
-9
|
-8
|
-7
|
-6
|
-5
|
-4
|
-3
|
-2
|
-1
|
문자
|
W
|
e
|
|
n
|
e
|
v
|
e
|
r
|
|
r
|
u
|
n
|
!
|
▸ 문자열 저장의 실제 모습은 위와 같음
▸ 메모리 한 자리마다 하나의 문자 저장
▸ 각 문자에는 순서 번호가 부여되며, 시작번호는 0
▸ 공백 또한 메모리 한 자리를 차지하게 됨

▸ 문자열 인덱싱(indexing) : 부여된 순서 번호로 각 문자 접근이 가능
▸ a[번호] 형태로 사용
▸음수 인덱스도 사용 가능

▸ 문자열 슬라이싱(slicing) : 여러 개의 문자를 한꺼번에 추출
▸ a[시작번호 : 끝번호+1] 형태로 사용 ( 끝번호 + 1 - 시작번호 = 실제 추출 문자 갯수)
▸음수 인덱스도 사용 가능
▸ 맨 처음부터 가져오거나, 맨 끝까지 가져올 때는 시작번호나 끝 번호 생략 가능
함수 이름
|
설명
|
count()
|
문자열에 포함된 특정 문자의 개수 반환(표시)
|
find()
|
문자열에서 찾는 문자가 처음으로 나타나는 위치
|
join()
|
문자열 문자 사이사이에 지정한 문자 삽입
|
split()
|
문자열을 특정 문자 기준으로 분리
|
upper()
|
문자열을 모두 대문자로 변환
|
lower()
|
문자열을 모두 소문자로 변환
|
replace(A,B [,count])
|
문자열에서 A를 찾아서 B로 교체
|
▸ 문자열 전용 함수 (위 표 외에도 다양)
🔹연속 자료형 : 값을 여러개를 가질 수 있음
3. 리스트(List)
l=['one','two','three']
l2=[1,2,3]
l3=['a','b',[4,5,6],'c']

l=['one','two','three']
l2=[1,2,3]
l3=['a','b',[4,5,6],'c']
l4=[]
l3[1]='B'

▸ Number, String과 달리 여러 데이터를 하나로 묶어서 저장하고 관리가 가능
▸ 리스트명=[0번째요소,1번째요소,2번째요소] 형태로 작성
▸ l4와 같이 아무 요소도 포함하지 않을 수 있으며, 숫자와 문자열 모두 담을 수 있음
▸ l3와 같이 리스트 안에 리스트 삽입도 가능
▸ l3[1]=’B’ 와 같이, 위에서 한 번 선언된 리스트 변수의 값을 이후 선언을 통해 일부 수정/삭제/생성 가능함 (리스트명=[0,1,2,3,4…] 순서로 선언됨.)
4. 튜플(Tuple)
t=(1,2,3)
t2=()
t3=('a','b','c')
t4=('A',1,'B',2)
t5=(1,2,('a','b'))

t=(1,2,3)
t2=()
t3=('a','b','c')
t4=('A',1,'B',2)
t5=(1,2,('a','b'))
t3[0]='A'

▸ List와 마찬가지로 여러 데이터를 하나로 묶어서 저장하고 관리가 가능
▸ 튜플명=(0번째요소,1번째요소,2번째요소) 형태로 작성
▸ t2와 같이 아무 요소도 포함하지 않을 수 있으며, 숫자와 문자열 모두 담을 수 있음
▸ t5와 같이 튜플 안에 튜플 삽입도 가능
▸ t3[0]=’A’ 와 같이, 위에서 한 번 선언된 튜플 변수의 값을 이후 선언을 통해 일부 수정/삭제/생성 불가능함. 에러가 출력됨
▸ 리스트는 추후 변동 가능한 변수를 선언할 때, 튜플은 절대불변값을 지정해주고 싶을 때 사용하기 유용
5. 딕셔너리(Dictionary)
d={'Eng':'space','Kor':'우주','Eng2':'earth','Kor2':'지구'}
print(d['Eng'])
d2={'a':1,'b':'2','c':'3'}
d2['a']
d2={'a':1,'b':'2','c':'3',4:'d'}
d2[4]


▸명칭처럼 사전형 자료나열 방식이 Dictionary
▸단어와 뜻의 한 쌍 조합처럼, 딕셔너리형 자료도 Key와 Value가 한 쌍으로 이루어진 형태
▸딕셔너리명={Key:Value, Key1:Value1, Key2:Value2, …} 형태로 작성
▸Key값과 Value값 둘 다 숫자, 문자 사용 가능하지만 문자 형태로 숫자를 출력하고 싶을 땐 반드시 작은따옴표 필요. 딕셔너리 자료형으로 변수를 설정할 때는 주로 Key와 Value 모두 문자를 취하는 경우가 많다.
6. 집합(Set)
setgroup = set("Blackpink in your area")
setgroup

▸집합명=set() 형태로 작성
▸집합은 리스트,튜플과는 달리 순서가 없고 중복이 허용되지 않음
▸순서가 없어 인덱싱을 사용할 수 없으며, 리스트나 튜플로 형을 변환 시킨 후 인덱싱이 가능
▸파이썬에서 알파벳 대문자와 소문자를 구분하기에, 마찬가지로 집합 내에서도 대문자와 소문자는 별개의 문자 취급. 공백도 하나의 요소로 취급된다.
변수와 자료형 실습
숫자형 자료 실습

코드셀 마지막 줄에 변수만 입력하면 변수에 대입한 값을 출력해줌IDLE , Jupyter Notebook, Colab 등의 프롬프트를 하나하나 실행하는 환경에서는 가능. 그 외 기타 모든 개발환경에서 가능하지는 않음

나누기, 몫, 나머지 실행

연산의 우선순위 5 + 2 x 2 = 5 +4 = 9

복합연산자 실행기존 a=5, 첫번째 실행에서 5+1을 새로 a에 대입했기 때문에 6출력
두번째 실행에서 기존 a값이 6이므로 +1 실행되어 7출력
문자형 자료 실습

작은따옴표를 통해 문자열 표현

따옴표 3개를 통해 인용문과 어퍼스트로피 중복사용, 한 줄 이상 길어지는 문자열 표현

문자열 인덱싱

문자열 슬라이싱

문자열 함수 count문자열명.count(’특정 글자’) 형태로 사용
지정한 문자열 내에 특정 글자가 몇 번 나오는지 카운트
The boy who lived has come to die (4회)

문자열 함수 find문자열명.find(’특정 글자’) 형태로 사용
지정한 문자열 내에 특정 글자가 몇 번째 인덱스에 처음 등장하는지 표시
The boy who has come to die (0번부터 시작해서 boy의 o가 5번째에 위치함)


문자열 함수 upper / lower문자열명.upper() 형태
문자열명.lower() 형태
지정된 문자열을 전체 대문자/소문자로 변경(영어 문자열에서)
'자운최고지식인되기 > 파이썬 공부' 카테고리의 다른 글
3-2. 선택과반복 [이론 및 실습] (1) | 2025.03.20 |
---|---|
3-1. 선택과 반복 [이론 및 실습] (0) | 2025.03.05 |
2-2. 기본자료형과 입출력 [이론 및 실습] (0) | 2025.02.20 |
1-2. 파이썬 시작하기 [실습] (0) | 2025.02.05 |
1-1. 파이썬 시작하기 [이론] (3) | 2025.02.01 |