늦은 프로그래밍 이야기

자료형 본문

내일배움캠프/Python

자료형

한정규 2022. 11. 8. 18:10

변수

1. 변수 선언

 - 변수이름 = 값 의 형태로 선언

a = 3     # 숫자 3을 a에 넣는다.
b = 'abc' # 문자열 abc를 b에 넣는다.

 

2. 출력

 - 출력할 때는 print() 를 사용

a = 3
b = 'abc'
print(a, b)  # 3 abc

자료형

1. 숫자 (Integer), 불 (Boolean)

1 ) 숫자

 - 정수, 실수 사용가능

a = 5
b = 4.8

 - 사칙연산, 몫, 나머지, 제곱

a = 3
b = 2

a+b   # 5
a-b   # 1
a*b   # 6
a/b   # 1.5

a//b  # 몫 1
a%b   # 나머지 1
a**b  # 제곱 9

 - 대입연산

a = 3
a = a + 3
print(a)    # 6

a += 3
print(a)    # 9

 

 2) 불

 - 대문자로 시작해야 함.

a = True
b = False

 

 - 비교연산자

4 > 2   # True
5 < 1   # False
6 >= 5  # True
4 <= 4  # True
3 == 5  # False
4 != 7  # True

 

 - 논리연산자

a = 4 > 2   # True
b = 5 < 1   # False

a and b     # false 
a or b      # True 
not a       # False

   * And 연산자 : 모두 True여야 True

   * Or 연산자 : 둘 중 하나만 True면 True. 둘다 False여야 False.

   *  Not 연산자 : 반대로 바꿔줌.


2. 문자열 (String)

 1) 문자열 

- 작은따옴표('), 큰따옴표(") 둘 다 사용가능.

 - 숫자에 따옴표 사용 시 문자열이 된다.

a = 'abc'   # 작은따옴표로 감싸면 문자열이 된다.
b = "3"     # 숫자를 따옴표로 감싸면 문자열이 된다.

 

 2) 문자열 연산

 - 문자열 사이에 (+) 연산자 사용시 문자열을 이어붙인다.

 - 문자열과 정수는 더할 수 없다.

a = "abc"
b = "def"
c = 3

a + b   # abcdef
a + c   # 에러

 

 3) 인덱싱, 슬라이싱

 - 0부터 카운팅

 - 인덱싱

a = 'abcdef'
print(a[1])   # b

 

 - 슬라이싱

a = 'abcdef'
print(a[1:3])   # cd
print(a[-1])    # f (맨마지막)

 

 4) 메소드

 - 문자열 길이 len()

a = len('abc')
print(a)       # 3

 

 - 문자열 나누기 split()

a = 'abc@gmail.com'
b = a.split('@')

print(b[0])   # abc
print(b[1])   # gmail.com

c = b.split('.')

print(c[0])   # gmail
print(c[1])   # com

한번에 이어 붙일 수 있다.

a = 'abc@gmail.com'
b = a.split('@')[1].split('.')

print(b[0])   # gmail
print(b[1])   # com

 

 5) f-string

 - 결과 값을 문장에 넣어 출력하고 싶을 때

a = 'abc@gmail.com'
b = a.split('@')

id = b[0]
email = b[1]

print('아이디는 '+id+'이고, 이메일은 '+email+'이다.')
# 아이디는 abc이고, 이메일은 gmail.com이다. 출력

 - f-string을 사용하면 간단해진다. (출력할 문장앞에 f 작성, {변수} 입력

print(f'아이디는 {id}이고, 이메일은 {email}이다.')
# 위와 동일하게 출력.

3. 리스트

 1) 리스트

 - 다른 자료형들을 순서에 맞게 나열.

 - 리스트 요소로써 리스트와 딕셔너리도 사용가능.

a = [1, 2, 3]
b = [1, 'b', 3]
c = [1, 2, 3, ['a', 'b', 'c']]  # 리스트를 리스트에 넣을 수 있다.
d = [1, 2, 3, {'name' : 'Kim'}]  # 딕셔너리를 넣을 수도 있다.

 

2) 인덱싱, 슬라이싱

 - 인덱싱

a = [1, 2, 3, ['a', 'b', 'c']

print(a[3][0])   # a (요소가 리스트인 경우)

 - 슬라이싱도 동일하게 사용가능.

 

 3) 메소드

 - 길이 재기 len()

a = [1, 2, 3, 4, 5]
print(len(a))   # 5

 

 - 덧붙이기 append()

a = [1, 2, 3, 4]
a.append(5)
print(a)       # [1, 2, 3, 4, 5]

a.appent([1, 2])
print(a)       # [1, 2, 3, 4, 5, [1, 2]]

대입 연산과 비교 (리스트로 합쳐지지 않는다.)

a = [1, 2, 3, 4]
a += [1, 2]
print(a)     # [1, 2, 3, 4, 1, 2]

 

 - 정렬하기 sort()

a = [1, 4, 3]

a.sort()
print(a)    # [1, 3, 4]

a.sort(reverse=True)     # 반대로도 정렬이 가능
print(a)    #  [4, 3, 1]

 

 - 요소가 리스트 안에 있는지 확인하기 in

a = [1, 3, 6, 'a', 2]

print('a' in a)     # True
print(4 in a)       # False
print('b' not in a) # True

참, 거짓으로 값을 출력.

 

 4) 리스트 + 딕셔너리

 - 리스트 내에 딕셔너리 사용 가능

a = [{'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}]

print(a[0]['name'])   # bob
print(a[1]['name'])   # carry

b = {'name': 'john', 'age': 7}
a.append(b)

print(a)    # [{'name':'bob','age':20}, {'name':'carry','age':38}, {'name':'john','age':7}]
print(a[2]['name'])    # john

4. 딕셔너리 (Dictionary)

 1) 딕셔너리

 - 키(key), 밸류(value)의 쌍으로 이루어진 자료.

 - 순서가 없으므로 인덱싱 사용불가, 키 값을 넣어 원하는 값을 출력.

a = {'name':'Bob', 'age':21}
print(a['name'])      # Bob

 - 값을 업데이트, 새로운 자료 추가

a = {'name':'Bob', 'age':21}

a['name'] = 'John'     # 업데이트
print(a)      # {'name':'John', 'age':21}
 
a['height'] = 180      # 추가
print(a)      # {'name':'John', 'age':21, 'height':180}

 - 밸류로 아무 자료형이나 사용가능 (딕셔너리 자료 사용가능)

a = {"name":"Alice", "age": 16, "scores": {"math": 81, "science": 92, "Korean": 84}}
print(a["scores"])             # {'math': 81, 'science': 92, 'Korean': 84}
print(a["scores"]["science"])  # 92

딕셔너리 내에 리스트도 사용가능

b = {"name":"Alice", "age": 16, "scores": [81, 92, 84]}
print(b["scores"])             # [81, 92, 84]
print(b["scores"][1])  # 92

 

 2) 메소드

 - 키(key)가 딕셔너리 내에 있는지 확인하기 in

a = {"name":"Bob", "age": 21}

print("name" in a)       # True
print("email" in a)      # False
print("phone" not in a)  # True

5. 튜플 (Tuple)

 - 리스트와 비슷하지만 값이 불변인 자료형.

a = (1, 2, 3)
print(a[0])     # 1

a[2] = 4
print(a)        # 에러

a.append(4)
print(a)        # 에러

 

- 딕셔너리 대신 리스트와 튜플로 딕셔너리 비슷하게 만들어 사용

a_dict = [('bob','24'), ('john','29), ('smith','30')]

6. 집합 (Set)

 1) 집합

 - 중복이 제거 된다.

a = [1,2,3,4,5,3,4,2,1,2,4,2,3,1,4,1,5,1]

a_set = set(a)

print(a_set)        # {1, 2, 3, 4, 5}

 

 2) 교집합, 합집합 , 차집합

a = ['사과','감','수박','참외','딸기']
b = ['사과','멜론','청포도','토마토','참외']

print(a & b)  # 교집합
print(a | b)  # 합집합
print(a - b)  # 차집합

'내일배움캠프 > Python' 카테고리의 다른 글

숫자 각 자리수를 리스트 요소로 변환  (0) 2022.11.16
반복문으로 2차원 리스트의 요소 출력하기  (0) 2022.11.16
함수  (0) 2022.11.08
조건문, 반복문  (0) 2022.11.08
Comments