TIL

2024-03-25

여연찌 2024. 3. 25. 22:51

변수 선언

 

 

변수이름 = 값

 

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