파이썬 공부 5 (데이터 입출력&연산자)

원대한·2023년 9월 29일
0

dataschoolday

목록 보기
5/7
post-thumbnail

데이터 입출력

데이터 입력함수로 input() 사용하며 데이터 출력 함수로는 print() 함수를 사용한다. 아래와 같이 코드를 작성한 뒤 실행하면 실행창에 값을 입력을 받을 수 있는데 '안녕하세요' 를 입력하면 똑같이 안녕하세요가 출력되는 것을 볼 수 있다.

userInputData = input()
print(userInputData)

input() 함수를 사용하여 받는 데이터는 모두 문자(열)형으로 저장된다.

userInputData 변수를 type() 함수에 넣어 출력해보면 class 'str' (문자형) 으로 출력된다.

만약 원하는 형으로 데이터 입력을 받고 싶다면

userInputData = int(input('입력하세요 : ')) 

와 같이 input() 앞에 int, float, bool 같이 형을 나타내주는 함수를 작성하여 주면 된다.

콤마(,)를 이용하면 여러개의 데이터를 출력할 수 있다. print('User name : ', userName) 과 같이 코드를 쓰면 문자열과 변수 모두 출력 된다. print('3*7 = ', end='') 와 같이 end 에 빈 문자를 넣으면 다음 줄의 내용이 자동개행 되어 출력되는 것을 막을 수 있다.(한 줄로 출력하고 싶을 때 사용)

파이썬에서 데이터 출력의 정석적인 방법으로 사용하는것이 포맷 문자열을 이용하는 것이다. print(f' User name : {userName}') 과 같이 ''앞에 format 의 약자인 f 를 붙이고 변수에 해당하는 부분은 중괄호로 묶어주어 출력 가능하다.

특수문자 \t, \n 를 출력하는 문구 안에 넣어주면 각각 탭과 개행을 해준다.

format 함수에 대하여

print('User name : {}'.format(userName)) 

와 같이 format 함수를 사용하면 ''안의 문자열에 대하여 포맷함수를 사용하여 변수 전달을 할 수 있다. 그리고 이 format 함수 안에는 .format(userName, userAge) 와 같이 콤마를 사용하여 여러개의 변수를 모두 받을 수 있다. 또한 형식 문자를 이용하여 데이터 출력할 수도 있는데 %s, %d, %f 가 각각 문자열, 정수, 실수에 해당하는 형식 문자열이다. 예를 들어 print('User Name : %s' % userName)과 같이 사용할 수 있다. 그리고 %f의 경우 나타내기 원하는 소수점 자리를 정할 수 있는데 %.2f 이면 소수점 두번째 자리 까지 출력되는 것을 확인 할 수 있다.

연산자에 대하여

다른 언어처럼 파이썬에서도 여러 연산자가 존재한다. 산술 연산자에는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나눈값의 나머지(%)구하는 연산자, 나눗셈에서 몫만 구하는 연산자(//), 제곱승(**), 이외에 할당연산자(=, +=, -=, /=, %=, //=,**=), 비교연산자(>, <=, ==, !=), 논리 연산자(and, or, not)가 있다. result = num1 > num2 비교연산자를 사용하여 변수에 할당한 뒤 출력하면 연산결과는 bool 형태이다.

산술 연산자를 사용할때 문자와 숫자를 산술 연산하면 오류가 생기며 정수형 변수와 실수형 변수를 연산하고 이에 대한 결과의 타입을 출력 하면 실수로 나온다. 그리고 문자열의 경우 산술연중 덧셈은 가능하지만 뺄셈을 할 경우 오류가 생긴다.

곱셈의 경우 문자열을 이용한 곱셈이 가능하며 나눗셈의 경우 0으로 나누게 되면 오류 문구가 뜬다. 파이썬에서 나눗셈을 하는 경우, 예를 들어 20 / 5 를 할 때 4.0 실수 타입으로 나온다. 정수 형태로 바꾸고 싶다면 타입 캐스팅 함수를 사용하면 된다.

파이썬에서는 나머지와 몫을 한번에 구하는 divmod()함수가 있다. result = divmod(num1, num2) 와 같이 사용한다. num1 나누기 num2 가 되고 몫과 나머지를 출력하기 위해서는 각각 result[0], result[1] 과 같이 사용하면 된다.

math 모듈의 sqrt()와 pow()

sqrt() 함수는 제곱근을 구해주고 pow() 함수는 거듭제곱을 구해준다. 여기서 pow 함수는 pow(2,3) -> 2의 3거듭제곱 과 같이 사용할 수 있지만 sqrt 함수는 2제곱근의 값만 구해주므로 제곱근 공식을 알고 있어야한다. 모듈을 사용하기 위해서는 import math 와 같이 math 모듈을 import 해주고 사용하면 된다. 그리고 math.sqrt(2) 와 같이 사용할 수 있다.

format(숫자변수, ',') 해주면 숫자 3개 마다 콤마를 표시해준다. -> 하지만 이렇게 변수에 저장하는 경우 str(문자열) 데이터로 바뀐다는 단점이 있다.

아스키 코드를 이용한 비교연산

아스키 코드란 컴퓨터에서 사용하는 문자를 숫자로 정리한 것이며 필요할 때 인터넷 검색하여 표를 참조할 수 있다. 문자끼리 비교연산 하게 되면 문자를 이 아스키코드의 숫자로 판단하여 비교연산하게 된다. 문자를 아스키 코드로 변환하는 함수도 있는데 ord() 라는 함수이다. ord('A') 와 같이 작성한 뒤 출력하면 숫자로 나오게 된다. 반대로 아스키 코드를 기준으로 숫자를 문자로 바꿀 수 있는데 이것은 chr() 함수를 사용하면 된다. 문자'열' 끼리 비교할 때는 문자'열' 자체가 같은지 다른지 비교한다.

논리 연산자의 종류는 and, or, not 이 있으며 and 연산자는 모두 True 인 경우만 결과값을 True 가 나오고 or 은 하나만 True 인 경우에도 True 가 결과값으로 나온다. not 연산자는 상태를 부정하는 결과를 나타낸다.

profile
데이터분석 및 개발, 금융 관련

0개의 댓글