3/30 TIL

나명흠·2023년 3월 30일
0

스파르타 내일배움캠프 팀과제-
고도화된 턴제 RPG game 만들기

team.py와 dungeon.py, main.py의 각 class와 메서드, 함수들을 연결 시키는 부분에서 많은 오류가 있었지만 대부분 그 자리에서 해결했다. 팀원들과 VsCode의 Live Share를 사용하고 서치를 통해 작동시킬 수 있었다.

문제점

변수 유효 범위를 정확히 몰라서 몇 번의 문제가 생겼다.

  1. 전역 변수(Global Variable) : 전역 변수는 프로그램의 어느 곳에서나 사용할 수 있는 변수로, 프로그램의 어떤 함수에서도 접근 가능합니다.

  2. 지역 변수(Local Variable) : 지역 변수는 함수 내에서 선언된 변수로, 해당 함수 내에서만 사용할 수 있습니다. 함수가 호출되면 변수가 생성되고, 함수가 종료되면 해당 변수가 소멸됩니다.

  3. 매개 변수(Parameter) : 매개 변수는 함수의 입력값을 나타내는 변수로, 해당 함수 내에서만 사용할 수 있습니다.

chat GPT에게 '변수유효범위에 대해 알려줘' 라고 질문하여 나온 답변이다.

문제해결

우선 전역 변수는 그렇게 어렵지 않았다.

global_var = 10

def my_func():
    print(global_var)
    
my_func()

global_var은 전역변수라서 어떤 함수에서 갖다 써도 된다.

다음은 지역 변수.

def my_func():
    local_var = 20
    print(local_var)
    
my_func()
이건 당연히 작동 된다. 그러나

def other_func():
	please = local_var
    print(please)
    
이건 당연하게 작동이 안 된다.

local_var은 my_func()에서 선언되었다. 그렇기 때문에 other_func()에서는 가져다 쓸 수 없다.

마지막 매개 변수.

def my_func(param1, param2):
    print(param1 + param2)
    
my_func(3, 5)

이건 설명만 봤을 때는 지역 변수와 조금 헷갈렸다.
하지만 다시 보니 인자로 전달되는 변수라는 걸 기억하면 될 것 같다.

결론

내일이면 프로젝트가 끝나는데 이번 작업을 하면서 가장 크게 느낀건
1. 코드 간소화 (class, 함수 등)가 정말정말 중요 하다는 것.
2. 코드가 길어지면 {},[],()의 올바른 쓰임과 while문, for문, if문이 상당히 어려워 진다는 것..

오늘까지로 코드가 모두 구현은 되었으니 내일은 코드 간소화에 힘써볼 예정!!

profile
가보자고

0개의 댓글