파이썬: 3개의 글

[python] 예제와 함께 배우는 if문

Posted by 77monkey 개발자
2025. 7. 4. 14:14 개발/python
반응형

 

 

 

 

 

 

python에서의 if문은 다른 언어의 if문과 유사합니다. 하지만 각 언어에 따라서 형태가 조금씩 다릅니다. 오늘은 python의 if문에 대해서 알아보도록 합시다. 

 

if문

if문은 우리가 흔히 쓰는 조건문 중에 하나입니다. 만약 내가 부자라면 나는 행복할 것 같다라는 문장이 있습니다. 그러면 내가 부자라면이 충족되면 나는 행복하다는 의미입니다. 즉, 코드가 들어왔을 때 해당 변수 또는 구문이 참이면 특정 행동을 한다는 의미입니다. 코드로 표현하면 아래와 같습니다.

if 조건문: 
    동작

하지만 조건이 참이 아닐 경우도 있습니다. 이럴 경우에도 if문을 통해서 다룰 수 있습니다. 코드로 표현하면 아래와 같겠습니다.

if 조건문:
	동작1
else:
	동작2

그러면 조건문에 따라서 경우의 수가 늘어나는 경우도 있습니다. 이런 경우에는 이렇게 하면 됩니다. 

if 조건문1: 
	동작1
elif 조건문2:
	동작2
else:
	동작3

if와 else 사이에 조건문을 더 추가할 경우에 elif를 통해서 추가를 더 하시면 됩니다. 이렇게 쓰게 된다면 다양한 조건문을 표현할 수 있습니다. 

여기서 주의할 점이 몇가지 있습니다. if문의 끝에는 :(콜론)이 들어가야 한다는 점입니다. 콜론을 빠트리면 동작이 제대로 실행되지 않습니다. 추가로 동작에 해당하는 구문을 작성할 때에는 들여쓰기를 해줘야 합니다. 들여쓰기를 해주지 않으면 이 때에도 원하는 동작을 실행시킬 수 없습니다.

if문 예시

간단한 if문 예시를 들어보도록 하겠습니다. 나이가 20살인 사람이 있습니다. 조건문에 만약 20살 이상이면 청년이다는 문구를 출력해 달라는 예시입니다. 

age = 20

if age >= 20:
    print("청년입니다.")

실제로 출력해 보면 "청년입니다."라는 문구가 잘 출력이 됩니다. 

if문 예시1
if문 예시1

이번에는 위 예시에서 나이만 바꿔서 진행해 보겠습니다. 코드를 보고 한번 고민해 보도록 합시다. 

age = 10

if age >= 20:
    print("청년입니다.")
else:
    print("청소년입니다.")

네, 맞습니다. 이번에는 "청소년입니다."를 출력하게 됩니다. 

if문 예시2
if문 예시2

이번에는 분기를 통해서 if-elif-else 구문을 써보도록 하겠습니다. 아래는 분기를 예시로 코딩을 해봤습니다. 아래와 같이 1~4분기를 표현했고 그 외의 값이 들어올 경위 else 구문에서 처리하도록 코드를 작성했습니다. 아래와 같은 경우 어떤 값이 출력이 될까요?

참고로 and는 "그리고"를 의미하는 C언어에서의 &&와 같은 의미입니다. 2개의 조건이 모두 참일 경우에만 조건문이 참이 되는 연산자입니다.

month = 3

if month >= 1 and month <= 3: 
    print("1분기")
elif month >= 4 and month <= 6:
    print("2분기")
elif month >= 7 and month <= 9:
    print("3분기")
elif month >= 10 and month <= 12:
    print("4분기")
else: 
    print("잘못된 값입니다.")

 

네, 맞습니다. 1분기를 출력하게 됩니다. 

if문 예시3
if문 예시3

if문 마무리

예시와 함께 if문에 대해서 오늘 알아보았는데, 어떠셨는지 궁금합니다. 저 같은 경우에는 C언어를 먼저 배웠어서 :를 빼먹거나 들여쓰기를 놓쳐서 빌드 에러가 많이 났었습니다. 여러분은 이런 실수를 줄이셔서 큰 무리 없이 if문을 사용하시면 좋을 것 같습니다!

반응형

'개발 > python' 카테고리의 다른 글

[python] bool  (0) 2025.06.22
[python] 집합(set)  (0) 2025.06.21
[python] 딕셔너리(Dictionary) 관련 함수  (0) 2025.06.20
[python] 딕셔너리(Dictionary) 소개  (0) 2025.05.17
[python] 튜플(Tuple)  (0) 2024.09.22

[python] 딕셔너리(Dictionary) 관련 함수

Posted by 77monkey 개발자
2025. 6. 20. 16:49 개발/python
반응형

 

딕셔너리(Dictionary)에 대해서 지난 시간에 소개해 드렸고, 오늘은 딕셔너리(Dictionary) 함수들에 대해서 알아보려고 합니다.시작해보도록 하겠습니다.

 

딕셔너리(Dictionary) 관련 함수

딕셔너리(Dictionary) 관련 함수들에 대해서 알아보기 위해서, 간단하게 딕셔너리를 선언해 보도록 하겠습니다. 

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

 

keys() 함수

keys() 함수는 모든 키를 반환합니다. 위와 같은 person 딕셔너리(dictionary)인 경우에 name, city, birth 키 값을 반환하게 됩니.

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

print(person.keys())

딕셔너리 예시 1
딕셔너리 예시 1

values() 함수

이번에는 values() 함수입니다. values() 함수는 모든 값을 반환합니다. keys() 함수의 짝인 77monkey, Seoul, 77 값을 반환합니다. 

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

print(person.values())

딕셔너리 예시 2
딕셔너리 예시 2

items() 함수

items() 함수는 key와 value를 튜플 형태로 반환합니다. 예를 들면 (key, value) 입니다. 예시를 보겠습니다. 

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

print(person.items())

딕셔너리 예시 3
딕셔너리 예시 3

get() 함수

get() 함수는 키에 해당하는 값을 가져옵니다. 없을 경우에는 None 또는 지정한 기본값을 반환합니다.

예시에서 hobby라는 키 값을 주었을 때, 처음에는 default를 따로 설정하지 않아서, None을 출력하고 다음에는 default 값을 설정하였기 때문에 "reading books" 출력을 확인할 수 있습니다. 

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

print(person.get("name"))
print(person.get("hobby"))
print(person.get("hobby", "reading books"))

딕셔너리 예시 4
딕셔너리 예시 4

update() 함수

update() 함수는 기존의 딕셔너리(dictionary)에 다른 딕셔너리(dictionary)를 병합합니다. 

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

person.update({"age": 77})
print(person)

딕셔너리 예시 5
딕셔너리 예시 5

pop() 함수

pop() 함수는 지정한 키의 항목을 제거하고 값을 반환합니다. 해당 키와 값은 딕셔너리(dictionary)에서 제거됩니다.

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

print(person.pop("name"))
print(person)

딕셔너리 예시 6
딕셔너리 예시 6

popitem() 함수

popitme() 함수는 마지막 key와 value에 대한 쌍을 제거하고 반환합니다. 

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

print(person.popitem())
print(person)

딕셔너리 예시 7
딕셔너리 예시 7

clear() 함수

clear() 함수는 모든 항목을 제거합니다. 즉, 빈 딕셔너리(dictionary)를 만듭니다. 

person = {
    "name": "77monkey",
    "city": "Seoul",
    "birth": 77
}

print(person.clear())

딕셔너리 예시 6
딕셔너리 예시 8

copy() 함수

copy() 함수는 딕셔너리(dictionary)를 얕은 복사합니다. 얕은 복사를 하게 도미녀 mutable인 리스트나 딕셔너리는 참조 공유가 일어나지만, immutable인 int, str, tuple이면 원본 딕셔너리와 분리되어 copy가 이루어집니다. 그렇기 때문에 

얕은 복사이기 때문에 사용하실 때 이 부분을 참고하시면 좋을 것 같습니다.

person = {
    "name": "77monkey",
    "birth": 77,
    "grade": [70, 80, 90],
}

new_person = person.copy()

person["birth"] = 66
print("person: ", person)
print("new person: ", new_person)

person["grade"].append(100)
print("person: ", person)
print("new person: ", new_person)

딕셔너리 예시 9
딕셔너리 예시 9

마무리

지난번에 이어서 딕셔너리(dictionary) 관련 함수들에 대해서 알아 보았습니다. 다양한 함수들이 있어서 사용하시는데 참고하셔서 이용하시면 좋을 것 같습니다. 위에서 설명한 예시 외에도 궁금한 점이 있으시면 test code를 작성하셔서 test 해보시는 것도 좋을 것 같습니다.

반응형

'개발 > python' 카테고리의 다른 글

[python] bool  (0) 2025.06.22
[python] 집합(set)  (0) 2025.06.21
[python] 딕셔너리(Dictionary) 소개  (0) 2025.05.17
[python] 튜플(Tuple)  (0) 2024.09.22
[python] 리스트(List) 관련 함수  (0) 2024.09.21

[python] 딕셔너리(Dictionary) 소개

Posted by 77monkey 개발자
2025. 5. 17. 12:48 개발/python
반응형

 

 

 

 

딕셔너리(Dictionary)

딕셔너리는 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 자료형으로, 중괄호 {}를 사용하여 생성하며, 강 쌍은 : 으로 구분합니다. 

딕셔너리(Dictionary) 예시

아래 예시는 person에 대한 정보를 저장하는 예시입니다. 키(Key)로 name을 입력하고 값(Value)로 77monkey를 입력했습니다. 이후 각각 키(Key)와 값(Value)를 입력하여 딕셔너리(Dictionary)를 작성해 보았습니다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person)
  • 키(Key): name, citiy, birth
  • 값(Value): 77monkey, Seoul, 77

실제로 코드를 실행해 보면 아래와 같이 확인할 수 있습니다.

딕셔너리 예시1
딕셔너리 예시1

딕셔너리(Dictionary) 기본

딕셔너리(Dictionary) 값 접근

딕셔너리(Dictionary) 예시에서 보았던 예제를 그대로 가져왔습니다. 각가의 키(Key)를 접근하면 값(Value)가 나오는 것을 알 수 있습니다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person["name"])
print(person["city"])
print(person["birth"])

결과는 예상하신대로 "77monkey", "Seoul", "77"이 나오는 것을 알 수 있습니다. 

딕셔너리 예시2
딕셔너리 예시2

딕셔너리(Dictionary)에 존재하지 않는 키 접근

딕셔너리(Dictionary) 값 접근에서 들었던 예시에서 없는 키(Key)을 접근하는 방법은 2가지가 있습니다. 

첫번째 키(Key)를 이용해서 접근하는 방법입니다. 

키(Key) 값으로 없는 "job"을 접근해 봤습니다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person["job"])

이럴 경우에 결과가 어떻게 될까요? 당연히 없는 값을 접근했기 때문에 에러를 냅니다. 없는 키(Key)를 접근했기 때문입니다.

딕셔너리 예시3
딕셔너리 예시3

그렇다면 이런 에러가 나지 않고 딕셔너리(Dictionary)에 존재하지 않는 키를 접근하는 방법이 무엇일까요?

바로, 딕셔너리(Dictionary)의 메서드를 이용하는 방법입니다. 이렇게 접근할 경우에 에러가 아닌 "None" 값을 return하게 됩니다. 

딕셔너리 예시4
딕셔너리 예시4

딕셔너리(Dictionary) 항목 추가

이번에는 딕셔너리(Dictionary)에 항목을 추가 및 수정하는 방법을 알아봅시다. 

새로운 키(Key)로 "job"을 추가해 보도록 하겠습니다. 

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
person["job"] = "developer"
print(person)

그리고나서 전체 person 딕셔너리(Dictionar)를 출력해 보겠습니다.

딕셔너리 예시5
딕셔너리 예시5

그러면 job에 해당하는 키(Key)에 developer에 해당하는 값(Value)가 잘 저장된 것을 볼 수 있습니다.

 

딕셔너리(Dictionary) 항목 수정

기존 person 딕셔너리(Dictionary)에서 city에 해당하는 값(Value)을 New York으로 변경해 보도록 하겠습니다. 

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person)
person["city"] = "New York"
print(person)
print(person["city"])

 

결과를 보시면 아시겠지만, 기존에 Seoul이었던 값(Value)이 New York으로 변경된 것을 볼 수 있습니다.

딕셔너리 예시6
딕셔너리 예시6

딕셔너리(Dictionary) 항목 삭제

기존 person 딕셔너리(Dictionary)에서 위에서 추가한 job에 해당하는 키(Key)를 삭제해 보도록 하겠습니다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
person["job"] = "developer"
print(person)

del person["job"]
print(person)

 

 

결과를 확인하면 기존 person이 최종적으로 출력되는 것을 볼 수 있습니다.

딕셔너리 예시6
딕셔너리 예시6

그러면 딕셔너리(Dictionary) 항목 수정에서 진행한 예시에서 city에 해당하는 키(Key)를 제거하면 어떻게 될까요? 궁금하지 않으신가요? 확인해 보도록 합시다.

person = {"name": "77monkey", "city": "Seoul", "birth": 77}
print(person)
person["city"] = "New York"
print(person)
print(person["city"])
del person["city"]
print(person)
print(person["city"])

 

딕셔너리 예시7
딕셔너리 예시7

city에 해당하는 쌍이 삭제됩니다. 그리고 city에 접근하려고 했던 시도가 무의하기 때문에 error를 발생하게 됩니다. 

마무리

딕셔너리(Dictionary)는 매우 빠른 조회 속도를 자랑하기 때문에 적절하게 활용한다면 좋을 것 같습니다. 리스트처럼 순서가 있는 자료형은 아니지만, Python 3.7 이후부터는 입력 순서를 유지합니다. 젤 중요한 부분인데 키(Key)는 변경 불가능한(immutable) 자료형이어야만 합니다. 변경 가능한(mmutable) 자료형을 사용할 경우 error가 발생합니다. 

다음 시간에는 딕셔너리(Dictionary)의 메서드에 대해서 알아보도록 하겠습니다.

반응형

'개발 > python' 카테고리의 다른 글

[python] 집합(set)  (0) 2025.06.21
[python] 딕셔너리(Dictionary) 관련 함수  (0) 2025.06.20
[python] 튜플(Tuple)  (0) 2024.09.22
[python] 리스트(List) 관련 함수  (0) 2024.09.21
[python] 리스트(List) 소개  (0) 2024.09.20