책 내용 질문하기
P.317
도서
2025 시나공 퀵이지 정보처리기사 실기 단기완성
페이지
317
조회수
47
작성일
2024-10-07
작성자
유*찬
첨부파일

Q1. 클래스의 유/무 차이가 어떻게 다른건가요?


클래스가 정의되어 있는메소드와 정의되어있지않은 메소드가 뭐가 다른가요?



Q2. 클래스가 정의되어 있지않은데

def calc(x,y)에서 y값은 4로 변했고. 왜 밑에 있는 y에 영향을 미치지 않는지...

(지역, 전역)의 구분 없이 x는 return의 영향을 받은건 알겠는데 클래스가 나눠져 있지않은 상태에서 y값은 어떻게 영향을 받지 않을 수 있었는지 궁금합니다.


Q3. 이 문제에서도 마찬가지로 결과값에서 4.0 소수점은 왜 붙어서 나온건가요?


또한 줄바꿈은 왜 일어난것인지 알려주세요!

답변
2024-10-07 22:07:38

안녕하세요 길벗수험서 운영팀입니다.

클래스에 속해 있냐?? 클래스에 속하지 않냐?? 에 따라 self가 사용되고, 사용되지 않습니다

클래스에 속하게 되면 종속적인 성질을 가지고 있는데

주로 객체의 속성을 변경하거나 객체와 관련된 작업을 수행할때 사용합니다

클래스에 속하지 않으면 독립적인 성질을 가지고 있는데

주로 수학 연산, 문자열 처리 등의 특정 기능을 수행할때 사용합니다

클래스에 속한 것을 호출할때는 객체.메소드이름(매개변수)로 호출하고

클래스에 속하지 않으면 함수이름(매개변수)로 호출하면 됩니다



아래의 코드를 잘못 이해하신것 같습니다


동그라미 2번에서 a와 b의 값을 인수로 하여 calc 메소드를 호출했습니다

동그라미 3번에서 a와 b가 가지고 있던 3과 12의 값을 calc 메소드의 x와 y가 받습니다.

그러면 x는 3이 되고 y는 12가 됩니다.

동그라미 4번에서 x*=3 식을 만나 x는 9가 되고

동그라미 5번에서 y/=3 식을 만나 y는 4가 됩니다

동그라미 6번에서 print 문을 만나 출력을 하고

동그라미 7번에서 x값을 반환을 하라고 했으니 x가 가지고 있던 9의 값을

calc 메소드를 호출했던 동그라미 2번으로 반환을 합니다

이때 calc 메소드에서 반환받은 값은 a라는 변수에 저장을 하고

동그라미 8번을 만나 출력하고 프로그램이 종료가 됩니다

이 코드는 지역변수/ 전역변수와 아무런 상관이 없습니다.


Python에서는 나눗셈을 할 때 자동으로 자료형이 float로 변환되기 때문에 y /= 3의 결과로 4가 아닌 4.0이 출력됩니다.

python에서 print( ) 괄호안에 있는것을 출력하고 자동으로 줄바꿈을 해주니 줄바꿈이 발생한것입니다

행복한 하루되세요 :)

  • 관리자
    2024-10-07 22:07:38

    안녕하세요 길벗수험서 운영팀입니다.

    클래스에 속해 있냐?? 클래스에 속하지 않냐?? 에 따라 self가 사용되고, 사용되지 않습니다

    클래스에 속하게 되면 종속적인 성질을 가지고 있는데

    주로 객체의 속성을 변경하거나 객체와 관련된 작업을 수행할때 사용합니다

    클래스에 속하지 않으면 독립적인 성질을 가지고 있는데

    주로 수학 연산, 문자열 처리 등의 특정 기능을 수행할때 사용합니다

    클래스에 속한 것을 호출할때는 객체.메소드이름(매개변수)로 호출하고

    클래스에 속하지 않으면 함수이름(매개변수)로 호출하면 됩니다



    아래의 코드를 잘못 이해하신것 같습니다


    동그라미 2번에서 a와 b의 값을 인수로 하여 calc 메소드를 호출했습니다

    동그라미 3번에서 a와 b가 가지고 있던 3과 12의 값을 calc 메소드의 x와 y가 받습니다.

    그러면 x는 3이 되고 y는 12가 됩니다.

    동그라미 4번에서 x*=3 식을 만나 x는 9가 되고

    동그라미 5번에서 y/=3 식을 만나 y는 4가 됩니다

    동그라미 6번에서 print 문을 만나 출력을 하고

    동그라미 7번에서 x값을 반환을 하라고 했으니 x가 가지고 있던 9의 값을

    calc 메소드를 호출했던 동그라미 2번으로 반환을 합니다

    이때 calc 메소드에서 반환받은 값은 a라는 변수에 저장을 하고

    동그라미 8번을 만나 출력하고 프로그램이 종료가 됩니다

    이 코드는 지역변수/ 전역변수와 아무런 상관이 없습니다.


    Python에서는 나눗셈을 할 때 자동으로 자료형이 float로 변환되기 때문에 y /= 3의 결과로 4가 아닌 4.0이 출력됩니다.

    python에서 print( ) 괄호안에 있는것을 출력하고 자동으로 줄바꿈을 해주니 줄바꿈이 발생한것입니다

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.