파이썬 코딩 자율학습단 12기 3주차 학습 후기

이번 3주차는 파이썬의 다양한 기능을 깊이 있게 학습할 수 있는 시간이었습니다. 주로 함수, 입출력, 그리고 클래스에 대한 내용을 다루었습니다. 각 주제를 통해 파이썬의 기본적인 문법과 개념을 확실히 다지게 되었고, 실습 문제를 통해 실제로 코드를 작성하며 이해도를 높일 수 있었습니다.
11일차: 함수
함수는 파이썬 프로그래밍에서 매우 중요한 요소로, 코드의 재사용성을 높이고 가독성을 향상시킵니다. 특히, 기본 인자값을 설정하는 방법과 가변 인자를 사용하는 방법을 배웠습니다.
def profile(name, age=20, main_lang="파이썬"):
print("이름 : {0}\t나이 : {1}\t주 사용 언어 : {2}".format(name, age, main_lang))
profile("찰리")
profile("찰리", 20)
profile("찰리", 24, "자바")
위의 코드는 기본 인자값을 설정하여 호출 시 인자를 생략할 수 있게 해줍니다. 이처럼 유요한 함수 호출 방법 덕분에 코드의 가독성이 향상되었습니다.
또한, 지역변수와 전역변수의 개념을 배우고, 이를 활용하여 함수 내에서 변수를 어떻게 관리하는지를 이해했습니다.
glasses = 10
def rent_return(glasses, people):
glasses = glasses - people
print("[함수 내부] 남은 3D 안경 개수: {0}".format(glasses))
return glasses
print("전체 3D 안경 개수: {0}".format(glasses))
glasses = rent_return(glasses, 2)
print("남은 3D 안경 개수: {0}".format(glasses))
함수 내부에서 변수를 수정하는 방법과 그 결과가 전역변수에 어떻게 영향을 미치는지를 명확하게 이해할 수 있었습니다.
12~13일차: 입출력 (표준 입출력, format(), 파일 입출력, with 문)
파이썬의 입출력 처리에 대해 학습했습니다. input() 함수를 사용하여 사용자로부터 입력을 받을 수 있고, print() 함수를 통해 다양한 형식으로 출력을 할 수 있다는 점을 알수 있었습니다.
answer = input("아무 값이나 입력하세요 : ")
print("입력한 값은 " + answer + "입니다.")
입출력의 유용한 기능들을 배운 후, 실제로 다양한 형식으로 데이터를 출력하는 연습을 했습니다 .특히, 문자열 포맷팅을 통해 출력 형식을 자유롭게 조정할 수 있다는 점이 매우 유용했습니다.
print("{0:,}".format(100000000000))
print("{0:^<+30}".format(100000000000))
이러한 출력 포맷팅을 통해, 숫자를 더 읽기 쉽게 표현할 수 있는 방법을 배웠습니다.
파일 입출력은 데이터 저장과 관리의 기본적인 방법입니다. open(), write(), read() 메서드를 통해 파일을 생성하고 데이터를 읽고 쓸 수 있다는 것을 배웠습니다.
score_file = open("score.txt", "w", encoding="utf8")
print("수학 : 0", file=score_file)
score_file.close()
파일을 열고 데이터를 쓰고 닫는 기본적인 방법을 익혔고, with 문을 사용하여 보다 안전하게 관리하는 방법도 배웠습니다.
with open("profile.pickle", "rb") as profile_file:
print(pickle.load(profile_file))
with 문을 사용하여 파일을 열고 닫는 과정에서 발생할 수 있는 오류를 줄일 수 있어, 코드의 안정성을 높이는 데 큰 도움이 됩니다.
14~15일차: 클래스 (객체 생성, 상속)
클래스와 객체 지향 프로그래밍의 기본 개념을 배웠습니다. 클래스를 정의하고, 객체를 생성하는 방법을 익혔습니다. 특히, 상속을 통해 기존 클래스의 기존 클래스의 기능을 확장하는 방법은 효율적인 코드를 작성하는데 도움이 됩니다.
class Unit:
def __init__(self, name, hp, damage):
self.name = name
self.hp = hp
self.damage = damage
print("{} 유닛이 생성했습니다.".format(self.name))
soldier1 = Unit("보병", 40, 5)
클래스를 통해 객체를 생성하고, 각 객체의 속성을 관리하는 방법을 배웠습니다. 또한, 상속을 통해 AttackUnit 클래스를 생성하고, 이를 통해 공격 기능을 추가하는 방법을 학습했습니다.
class AttackUnit(Unit):
def __init__(self, name, hp, damage, speed):
Unit.__init__(self, name, hp, speed)
self.damage = damage
이렇게 상속을 통해 코드의 재사용을 높이고, 객체 간의 관계를 명확히 할 수 있다는 점이 매우 유용했습니다.
3주차 마무리
3주차 학습을 통해 함수, 입출력, 파일 처리, 클래스와 같은 파이썬의 핵심 개념들을 깊이 있게 이해할 수 있었습니다. 특히 실습 문제를 통해 이론을 실제로 적용해보는 경험이 쌓이면서, 자신감을 얻을 수 있었습니다. 앞으로의 학습에서도 이러한 기초를 바탕으로 더 복잡한 프로그래밍 문제를 해결해 나갈 수 있을 것이라는 기대감을 가지게 되었습니다. 다음 주차에는 더 많은 내용을 다루고, 더욱 발전된 파이썬 프로그래밍 기술을 익히기를 희망합니다.