본문 바로가기

Data Scientist

파이썬(변수와 입력: 복합대입 연산자, input( ), int/float/str 함수)

반응형

변수는 값을 저장할 때 사용하는 식별자로 숫자 뿐만 아니라 모든 자료형을 저장할 수 있다. 

 

변수를 활용하는 방법은 세 가지가 있다.

  1. 변수를 선언하는 방법: 변수를 생성하는 것을 의미한다. 수학자들이 3.14159265... 라는 원주율 값을 π라는 기호로 정의했듯이, 어떤 이름을 선언하는 것을 말한다. 예를 들면 'pi'를 '사용하겠다'라고 선언한다. 
  2. 변수에 값을 할당하는 방법: 변수에 값을 넣는 것을 의미한다. 변수로 사용하겠다고 선언한 pi에 값을 넣는 것으로, pi=3.14159265를 말한다. 이 때 등호는 같다는 의미가 아닌 우변의 값을 좌변에 '넣겠다', '할당하겠다'를 의미한다.
  3. 변수를 참조하는 방법: 변수에서 값을 꺼내는 것을 의미한다. π라는 기호 안의 값을 사용해서 2*π*r 이면 원의 둘레를 구하듯 변수 안의 값을 사용하는 것을 '변수 참조'라고 한다.
#변수 선언과 할당
pi = 3.14159265
r = 10 #반지름

#변수 참조
print('원주율 = ', pi)
print('원의 둘레 = ', 2*pi*r)
print('원의 넓이 = ', pi*r*r)

원주율 =  3.14159265
원의 둘레 =  62.831853
원의 넓이 =  314.159265

복합 대입 연산자

변수는 내부에 들어 있는 자료의 연산자를 사용할 수 있다. 문자열이 들어 있으면 문자열과 관련된 연산자를 사용할 수 있으며, 숫자가 들어 있으면 숫자와 관련된 연산자를 사용할 수 있다. 그런데 변수를 활용하면 기존의 연산자와 조합해서 사용할 수 있는 연산자가 있다. 이를 복합 연산자라고 부른다. 

연산자  설명
+= 숫자 덧셈 후 대입
-= 숫자 뺄셈 후 대입
*= 숫자 곱셈 후 대입
/= 숫자 나눗셈 후 대입
%= 숫자의 나머지를 구한 후 대입
**= 숫자 제곱 후 대입

문자열도 마찬가지로 +=, *= 사용 가능하다. 

 


사용자 입력 input( )

이렇게 사용자가 입력한 내용은 input 함수의 결과로 나오는데, 이 결과값을 리턴값이라고 한다.

이렇게 변수로 지정해서 사용 가능하고 리턴값을 활용할 수도 있다. 

그런데, 숫자를 입력했을 때의 타입도 string인 것을 알 수 있다. 

input( ) 함수는 사용자가 무엇을 입력해도 무조건 문자열 자료형이다. 

 

문자열을 숫자형으로 바꾸기

input( ) 함수의 입력 자료형은 항상 문자열이기 때문에  입력받은 문자열을 숫자로 변환해야 숫자 연산에 활용할 수 있다. 이를 캐스트(cast)라고 부른다.

문자열을 숫자로 변환할 때는 다음과 같은 함수를 사용한다.

  • int( ) 함수: 문자열을 int 자료형으로 변환한다
  • float( ) 함수: 문자열을 float 자료형으로 변환한다. 

Quiz = string_a + string_b
Quiz2 = int_a + float_a

print('string_a의 타입:', type(string_a))

print('int_a의 타입:', type(int_a))

print('string_b의 타입:', type(string_b))

print('float_a의 타입:', type(float_a))

print('string_a + string_b 의 타입은? ', type(Quiz))

print('int_a + float_a의 타입은? ', type(Quiz2))

string_a의 타입: <class 'str'>

int_a의 타입: <class 'int'>

string_b의 타입: <class 'str'>

float_a의 타입: <class 'float'>

string_a + string_b 의 타입은? <class 'str'>

int_a + float_a의 타입은? <class 'float'>

 

당연한 얘기지만 정수와 실수를 더하면 실수이다..(int + float = float)

cf. 숫자가 아닌 것을 숫자로 변환하려 하거나 소수점이 있는 숫자 형식의 문자열을 int( ) 함수로 변환하려고 하면 ValueError가 발생한다. 

반대로 str( ) 함수를 사용하면 문자열로 변환하는 것 또한 가능하다. 

정수(int)인 a를 문자열(str), 실수(float)로 변환할 수 있다. 

😁

출처:

혼자공부하는파이썬(윤인성) https://www.youtube.com/watch?v=IUXMgyiFBIU&list=PLBXuLgInP-5kr0PclHz1ubNZgESmliuB7

 

반응형