대학교

파이썬 - (1) 개요

매 석 2023. 9. 13. 23:24
반응형

목차

주차별 계획은 이렇게 진행된다.

최근에 수업을 들어본 결과 수업 진행 방법이 신기했다.

이미 만들어진 코드들을 import해서 함수가 동작하는 방식을

직접 배우는 방법인데, 파이썬을 처음 접한 사람이라면

굉장히 이해하는데 어려울 것 같다.

나는 그나마 파이썬을 알고 있어서, 동작 순서와 방식은

이해가 되지만, 그 함수들의 코드 하나, 하나는

다 이해하지 못할 정도이다.

 

함수

함수, 프로시저 등 다양한 이름으로 활용된다.

함수는 파이썬에서 def를 통해서 정의할 수 있다.

함수 안에 다른 함수가 들어갈 수 있다.

파이썬의 정수, 소수, 문자열 등 모든 것은 객체이다.

객체는 각자 할 수 있는 동작과, 고유의 속성을 가진다.

파이썬은 한번 클래스를 만들면 그 클래스에 속하는 서로 다른 객체를 만들 수 있다.

객체의 메소드나, 속성을 활용하여 코드가 간단해지고 이를 바탕으로 공동작업, 보수하기에 용이하다.

 

hubo

강좌에서 휴보라는 객체를 사용하기로 했다.

초기 사진

from cs1robots import*

load_world("./worlds/newspaper.wld")

hubo = Robot(beepers = 1)

def turn_right():
  hubo.turn_left()
  hubo.turn_left()
  hubo.turn_left()

def turn_around():
  hubo.turn_left()
  hubo.turn_left()

def climb_up_four_stairs():
  climb_up_one_stair()
  climb_up_one_stair()
  climb_up_one_stair()
  climb_up_one_stair()

def climb_down_four_stairs():
  climb_down_one_stair()
  climb_down_one_stair()
  climb_down_one_stair()
  climb_down_one_stair()

def climb_up_one_stair():
  hubo.turn_left()
  hubo.move()
  turn_right()
  hubo.move()
  hubo.move()

def climb_down_one_stair():
  hubo.move()
  hubo.move()
  hubo.turn_left()
  hubo.move()
  turn_right()

climb_up_four_stairs()
hubo.drop_beeper()
turn_around()
climb_down_four_stairs()

해당 코드를 이용해 hubo가 계단 끝가지 올라갔다가 beeper를 두고 돌아오게 만드는 코드이다.

배우는 초기 단계라 위 코드는 for문도 안 쓰고 굉장히 지저분하다.

개인적인 의견으로 파이썬 함수를 배우기 위해서 기본적인 print(), sum()이 아니고

누군가가 만든 코드를 import해서 move(), turn_right() 등과 같은

코드가 어떻게 구성되어있는지 해석하고 이해하는 과정이 어려울 것 같다.