본문 바로가기
데이터 분석/파이썬(Python)

파이썬 기초 3. input 함수 정복 & 의미 [Python with Hub1]

by AML 2020. 9. 9.
728x90
반응형

[Python with Hub1]

파이썬 기초 3. 

input 함수 정복 & 의미

 


안녕하세요 Hub1 입니다.

이번 시간에는 Python 함수 중에서 input 에 대해 알아보도록 하겠습니다.

 

 

 

일반적으로 변수에 값을 집어넣는 것은 아래와 같았죠?

name = "Hyunwoo Woo"

이것은 바로 직접적으로 name에다가 문자열을 집어넣는 것입니다. (direct로 꽂아넣는 방식)

 

그런데, 만약 사람마다 이름(name)이 다르기 때문에 그때마다 다른 값을 name에 넣고 싶다면?

(예)

현우는 name에다가 현우라는 자기 이름을,

철수는 name에다가 철수라는 자기 이름을,

소연은 name에다가 소연이라는 자기 이름을 넣을 것입니다.

 

이때마다 name = "자기 이름"을 넣을 순 있겠죠.

하지만, 사용자가 달라질 때마다 매번 이것을 수정하는게 번거롭겠죠?

(현우가 python작업할땐 자기 이름을 적을테고, 민수가 python작업을 할땐 자기 이름으로 수정할테고..)

 

 

input() 함수를 사용한다면

Python 사용자가 코드를 일일이 수정하지 않아도 되는 장점이 있습니다.

즉, 코드를 수정하지 않고 사용자가 자신에 적합한 내용을 채울 수 있습니다.

(다시 말해, 코드는 수정 안 해도 되고, 사용자에게 이 내용을 알아서 적게 만들 수 있습니다)

 

(방법)

변수 = input("질문내용")

 

(연습)

 

이번엔 Python IDLE 에서 바로 코드를 작성하지 않고,

Python IDLE 프로그램을 실행한 뒤, File > New File을 클릭해봅시다.

Python IDLE Editor (IDLE 에디터)로 코드를 돌리려고 합니다.

 

이제 아래 코드를 한 번 쳐봅시다. (2줄)

코드를 실행하려면 F5 누르기. (F5를 누르면, 저장하라는 창이 뜰 것입니다. 해당 파일은 저장해야 실행됩니다.)

이 코드는 다음의 순서로 작동될 것입니다.

1. 이름을 묻는다.

2. 여기에 사용자가 직접 대답한다

3. 사용자가 대답한 내용을 name에 저장한다.

4. 이제 print()를 통해 사용자의 이름과 함께 아침 인사를 한다.

 

 

 

위의 과정을 자세히 하나하나 과정을 볼게요.

Editor에서 코드를 F5로 실행하면, 위와 같이

input()의 괄호 안의 질문내용이 Shell에 나옵니다. (1. 이름을 묻는다.)



그럼 이제 이에 대한 답변을 Shell에 적고 Enter를 눌러봅시다. (2. 여기에 사용자가 직접 대답한다)

 

여러분의 답변이 name에 저장되어지고, (3. 사용자가 대답한 내용을 name에 저장한다.)

이후 아침인사를 합니다. (4. 이제 print()를 통해 사용자의 이름과 함께 아침 인사를 한다.)

 

 

이것을 이름(name) 말고도 응용할 수 있겠죠?

가령 나이(age)라든지, 다른 변수를 대입하는 데에 말이죠.

 

 

 

 

***그런데 매우 중요한 사항!

input()을 통해 나온 결과는 문자형(str) 타입입니다.

따라서 숫자를 입력해도, "3", "15"와 같이 숫자가 적힌 문자로 저장됩니다.

 

 

Q: input()을 쓰면서, 동시에 숫자(int 또는 float) 타입으로 나오게(저장) 하고 싶다면?

A: input 바깥에 int() 또는 float() 를 씌워주면 됩니다.

 

 

(예시 연습)

위의 연습 코드를 Editor에다가 작성해보고 F5로 실행하여 비교해봅시다.

-첫번째는 그냥 input으로 코드를 짜고 type을 살펴보는 것.

-두번째는 input 바깥에 int를 넣어서 코드를 짜고 type을 살펴보는 것.

 

 

Shell에서 그 결과를 비교하면 다음과 같습니다.

(저는 age값으로 27을 넣었습니다)

-첫번째는 27이 문자형(str) 타입이라고 밝혀졌습니다. (즉, '27' 로 name에 저장된 것)

다시 말해, name = '27' 으로 코드를 짠 것과 같아요. ( 또는 name = "27" )

-두번째는 27이 정수형(int) 타입이라고 밝혀졌습니다. (즉 27로 name에 저장된 것)

다시 말해, name = 27 으로 코드를 짠 것과 같아요.

 

 

 

요약하자면,

input() 함수는
사용자에 따라 답을 직접 작성하게 하여, 원하는 값을 불러오게 하는(저장하게 하는) 함수입니다.

(단순히 '='을 이용해 고정값으로 두는 것이 아니라, 사용자에 따라 다르게 값을 설정할 수 있는 것)

 

 

 

 

 

이상으로 포스팅을 마칠게요. ^^

다 같이 파이썬python 차근차근 정복!!

 

 

728x90
반응형

댓글