변수 선언
변수이름 = 값
a = 3
b = 2
print(a,b)
# 3 2
숫자형
숫자 간에는 사칙연산이 가능하다
a = 3
b = 2
print(a+b)
# 5
print(a//b) # a를 b로 나눈 값(몫)
print(a**b) # a의 b승(제곱)
print(a%b) # a를 b로 나눈 나머지
+
a = 'sparta'
문자도 가능
참(True), 거짓(False) 담을 수 있음
+ 소문자로 쓸 경우 변수명으로 인식
+ 참,거짓은 변수명으로 쓸 수 없다.
3 == 5 # 같다
4 != 7 # 같지 않다
문자열
작은따옴표 또는 큰 따옴표 사용
따옴표로 감싸지 않으면 변수이름을 뜻한다
a = 2
b = 'a'
print(b)
+ 'a' 는 문자열
문자열 간의 더하기는 문자열을 이어붙인 문자열
first_name = "Harry"
last_name = "Potter"
print(first_name + " " + last_name)
# Harry Potter
띄어쓰기를 하고 싶으면 " " 이렇게
str: 문자열 자료형
a = '2'
b = str(2)
print(a+b)
# 22
a = '2'
b = '2'
print(a+b)
# 22
len() 함수를 사용하여 문자열 길이 추출
text = 'abcde'
print(len(text))
# 5
text = 'abcde'
result = len(text)
print(result)
# 5
# 'result' 라는 변수값으로 길이를 구하고 print 로 추출
알파벳을 대문자/ 소문자
upper: 대문자
lower: 소문자
특정문자를 다른 문자로 바꾸기
replace('찾아', '바꾸기')
인덱싱
# 한글자 씩 부를 때는 몇 번째인지 '인덱스' 를 넣어 불러서 인덱싱
# 파이썬은 숫자를 0부터 센다.
슬라이싱: 문자열의 일부를 잘라냄
text = 'abcde'
result = text[3:] # text의 3부터 끝까지, 앞의 3개 빼고!
print(result)
# de
text = 'abcde'
result = text[:2] # text의 시작부터 2 전까지, 앞의 2개!
print(result)
# ab
text = 'abcde'
result = text[2:5] # text의 3개부터5개까지
print(result)
# cde
text = 'abcde'
result = text[:] # text의 처음부터 끝까지
print(result)
# abcde
split('문자열'): 특정 문자열로 자르고 싶을 때
myemail = 'abc@sparta.co'
result = myemail.split('@')
print(result)
# ['abc', 'sparta.co']
0번째: 'abc'
1번째: 'sparta.co'
'sparta' 자르기
myemail = 'abc@sparta.co'
result = myemail.split('@')[1]
print(result)
# sparta.co
myemail = 'abc@sparta.co'
result = myemail.split('@')[1].split('.')[0]
print(result)
# sparta
# '.' 으로 쪼개고 ['sparta', 'co'] 중 0번째 출력
지역번호만 출력
phone = '02-123-1234'
result = phone[:2]
print(result)
# 02
phone = '02-123-1234'
result = phone.split('-')[0]
print(result)
# 02
phone = "02-123-1234"
print(phone.split('-')[0])
# 02
# "" 나 '' 를 혼용해서 사용해도 가능함
# " ' 이렇게 섞어쓰지만 않으면 됨
리스트: 순서가 있는, 자료형들의 모임
len() 함수를 사용하여 리스트 길이 재기
a = [1, 5, 2]
print(len(a))
# 3
b = [1, 3, [2, 0], 1]
print(len(b))
# 4
덧붙이기
a_list = [2,'배',False, ['사과','감']]
print(a_list[3][1])
# 감
a_list = [1,5,6,3,2]
a_list.append(99) # 추가
print(a_list[5])
# 99
a_list = [1,5,6,3,2]
result = a_list[-1] # 마지막 단어가 출력
print(result)
# 2
a_list = [1,5,6,3,2]
a_list += [7, 4]
print(a_list)
# [1,5,6,3,2,7,4]
# list 순서대로 3번째 ['사과', '감'] 중에서 1번째 '감' 출력
# list.append() 리스트의 끝에 새로운 요소를 추가
# += : a = a+b
정렬하기
a_list = [1,5,6,3,2]
a_list.sort() # 순서대로 정렬
print(a_list)
# [1,2,3,5,6]
a_list = [1,5,6,3,2]
a_list.sort(reverse=True) # 역순
print(a_list)
# [6,5,3,2,1]
# sort(): 순서대로 정렬
# sort(reverse=True): 역순
요소가 리스트 안에 있는지 알아보기
a_list = [1,5,6,3,2]
result = (99 in a_list)
print(result)
# False
print(1 in a_list)
# True
print("1" in a_list)
# False
print(0 not in a_list)
# True
# 99 가 있는지?
# 1 이 있는지?
# 문자열 "1" 이 있는지?
# 0 이 없는지?
딕셔너리(dictionary)
: 키(key) 와 밸류(value) 의 쌍으로 이루어진 자료의 모임
: 딕셔너리에는 순서가 없음
: "중괄호 {}" 를 이용하여 만든다
: [ 대괄호 ] 를 사용하여 키(key) 를 전달함으로써 값을 조회
* 리스트는 순서대로 각각 들어간 이미지
딕셔너리는 통으로 한번에 들어간 이미지
a_dict = {'name' : 'bob' , 'age' : 27}
result = a_dict['name']
print(result)
# bob
print(a_dict['age'])
# 27
# 대괄호로 조회
# 순서가 없기 때문에 인덱싱(숫자)을 사용할 수 없음
* 딕셔너리 안에 해당 키가 존재하는지 알고 싶을 때는 in 을 사용
print('name' in a_dict)
# True
print('email' in a_dict)
# False
리스트와 딕셔너리의 조합
a_dict = {'name' : 'bob' , 'age' : 27, 'friend' : ['영희','철수']}
result = a_dict['friend'][1]
print(result)
# 철수
people = [{'name': 'bob', 'age': 20}, {'name': 'carry', 'age': 38}]
print(people[1]['age'])
# 38
people = [
{'name': 'bob', 'age': 20, 'score':{'math':90,'science':70}},
{'name': 'carry', 'age': 38, 'score':{'math':40,'science':72}},
{'name': 'smith', 'age': 28, 'score':{'math':80,'science':90}},
{'name': 'john', 'age': 34, 'score':{'math':75,'science':100}}
]
print(people[2]['score']['science'])
# 90
# 'friend' 의 1번째 값
# 'people' 의 1번째 값 중 'age' 의 값
# 'people' 의 2번째 값 중 'score' 의 'science' 값
'TIL' 카테고리의 다른 글
2024-03-26 (0) | 2024.03.26 |
---|---|
2024-03-25 / 2 (0) | 2024.03.25 |
2024-03-24 / 3 (1) | 2024.03.24 |
2024-03-24 / 2 (1) | 2024.03.24 |
2024-03-24 / 1 (0) | 2024.03.24 |