PYTHON/공부

실행(계산, 출력)

GaeGim 2022. 7. 25. 17:20
반응형
  • 숫자 자료형

- 정수(int)

- 실수(float)

- 복소수(complex)

 

 

  • 사칙연산

· 나눗셈 연산자 /

정수와 정수 나눗셈하면 실수로 캐스팅되어 결과 출력됨.

12 / 3 = 4.0

 

 

· 나눗셈 후 소수점 버리는 연산자 //

//은 버림 나눗셈(floor division)이라고 하며 나눗셈 후에 나오는 결과에서 소수점은 버리므로, 나눗셈의 몫을 구할 수 있다.

4 // 3 = 1

 

 

실수에서 사용하면 항상 소수점 자리는 .0이 된다.

6.2 // 3 = 3.0

 

 

※ / 연산의 결과 : 실수

   // 연산의 결과 : 정수

 

 

· 나눗셈 후 나머지 구하는 연산자 %

나눗셈 후 값이 나누어 떨어지지 않을 때의 나머지 값을 구하는 연산자로, 모듈로(modulo) 연산자라고도 한다.

11 % 5 = 1

 

 

· 거듭제곱을 구하는 연산자 **

특정 횟수 동안 특정 수를 곱해준다. 밑 ** 지수순으로 작성해 준다.

3⁵ = 243

 

 

· 값을 정수로 만들기

int에 괄호를 붙이고 숫자나 계산식을 넣으면 된다. 숫자일 때는 소수점 이하의 수를 버리게 된다. 그리고 문자열을 넣어도 정수로 만들 수 있는데, 정수로 된 문자열이어야 한다.

int(8.8)	//숫자
>>>8
int(7/4)	//계산식
>>>1
int('1')	//문자열
>>>1

※ int(8.8)은 실수 8.8을 int 클래스로 된 객체로 만든다는 의미다.

 

 

· 객체의 자료형 알아내기

type() 함수는 객체 타입을 알아내는 함수로, 이를 이용해서 알 수 있다. 파이썬에서는 숫자도 객체이고 객체는 클래스로 표현한다. 

>>>type(8.8)
<class 'float'>

 

 

· 몫과 나머지 구하기

divmod() 함수를 이용하기.

>>>divmod(13, 2)	//13을 2로 나눌 때
(6, 1)			//몫, 나머지

//튜플 이용하기
>>>quot, rem = divmod(13, 2)
>>>print(quot, rem)
6, 1

 

 

· 진수로 표현

2진수 : 숫자 앞에 0b 붙이고 0, 1로 표현

8진수 : 숫자 앞에 0o 붙이고 0~7로 표현

16진수 : 숫자 앞에 0x나 0X 붙이고 0~9, A~F(a~f )로 표현

>>>0b010
2
>>>0o07
7
>>>0xD
13

 

 

· 실수 계산하기

>>>4.4+1.9
6.3

 

 

· 실수와 정수 동시 계산

실수와 정수 동시에 계산하면 정수는 표현 범위가 더 넓은 실수로 캐스팅되어 계산된다.

>>>6.4+1
7.4

 

 

· 값을 실수로 만들기

float에 괄호 붙이고 숫자, 계산식, 실수로 된 문자열을 넣으면 된다.

>>>float(11)	//숫자
11.0
>>>float(1+4)	//계산식
5.0
>>>float('1.3')	//문자열
1.3

 

· 복소수

실수부와 허수부로 이뤄졌으며 허수부 뒤에 j가 붙는다(공학 표현).

>>>3.2+1.5j
(3.2+1.5j)

>>>complex(5.5, 2.3)
5.5+2.3j

 

※ 파이썬 셸은 결과를 즉시 보는 용도이기 때문에 값이나 계산식만 넣어도 결과가 출력되지만 스크립트 파일에선 계산식만 넣어선 결과가 출력되지 않는다. 계산도 원하고 계산 결과가 보여지는 것도 원한다면 print() 함수를 이용하자.

 

 

· 괄호 사용하기

연산 우선순위를 바꾸고 싶을 때 사용.

 

 

 

 

  • 변수

파이썬 셸을 이용해서 계산 결과를 바로 출력할 수는 있었지만 이를 계속 가지고 있을 순 없다. 그래서 변수에 값을 저장해야 한다.

· 변수 생성

x = 10

변수 생성과 동시에 값이 할당되고 할당받는 순간에 변수 타입이 정해진다.

 

 

· 변수 명명 규칙

- 영문 문자와 숫자만 사용 가능- 대소문자를 구분

- 문자부터 시작해야 하며 숫자로 시작 불가

- 밑줄(_)로 시작 가능- 특수문자 사용 불가- 키워드 사용 불가

 

 

· 변수 여러 개 한 번에 만들기

콤마로 구분해 변수에 할당될 값을 지정해준다. 변수와 값의 갯수는 동일하게 맞춰줘야 하며 나열된 순으로 값이 대입된다.

x, y, z = 32, 5, 10

a = b = c = 10

 

※ 변수 삭제 : del 변수이름

※ 빈 변수 생성 : 변수 이름 = None

 

 

· 변수 계산

>>>a = 10
>>>b = 30
>>>a + b
30

>>>x = 5
>>>x + 19
24
>>>x
5

>>>y = 10
>>>y += 2
>>>y
12

x + 10은 계산일 뿐이다. 변수에 저장하고 싶으면 =을 붙여야 한다.

 

 

· 부호 변환

>>>x = -1
>>>+x
-1
>>>-x
1

수학에서처럼 +일땐 부호변화가 없지만 -이면 부호가 반대가 된다.

 

 

· 값 입력 받기

사용자가 입력한 값을 가져오는 input() 함수를 이용한다. input() 입력 후 엔터키 누르면 다음 줄로 넘어간다. 

>>>a = input('입력 : ')
입력 : Hi
>>>a
Hi

 

 

· 두 수 합 구하기

input().split()의 결과는 문자열이다. 따라서 원하는 타입으로 변환시켜줘 연산이 필요하면 연산시켜 주면 된다.

>>>x = int(input())
>>>y = int(input())
print(x+y)

 

 

· 입력값을 변수 두개에 저장하기

- 변수1, 변수 2 = input().split() -> 공백 기준 분리

- 변수1, 변수2 = input().split('기준문자열') 

- 변수1, 변수2 = input('문자열').split()

- 변수1, 변수2 = input('문자열').split('기준문자열')

 

 

· 입력값을 정수 변환

a, b = input('입력 : ').split()

//1
a = (int)a
b = (int)b

//2
print(int(a)+int(b))

 

 

· map을 사용한 정수 변환

map에 int와 input().split()을 넣어주면 split 결과를 모두 int로 변환해줌

- 변수1, 변수 2 = map(input().split())

- 변수1, 변수2 = map(input().split('기준문자열')) 

- 변수1, 변수2 = map(input('문자열').split())

- 변수1, 변수2 = map(input('문자열').split('기준문자열'))

 

 

· 입력받은 값 콤마로 분리하기

기준 문자열에 콤마 넣기

-> 변수1, 변수2 = map(input().split(',')) 

 

 

 

  • 출력

· 값 여러 개 출력

print(값/변수1, 값/변수2, 값/변수3)

-> print() 함수에 공백이 아닌 콤마(,)로 변수나 값을 구분해 주면 공백으로 띄워줘 한 줄로 출력된다.

 

 

· sep(separator)으로 값 사이 문자 넣기

공백이 아닌 다른 문자를 넣고 싶을 때 print sep에 문자나 문자열 지정해 주면 된다.

print(값/변수1, 값/변수2, sep='문자나 문자열')

>>>print(10, 20, 30, sep=' ') //공백을 넣으면 공백이 출력된다.
1 2 3
>>>print(10, 20, 30, sep='x')
1x2x3
>>>print(10, 20, 30, sep='\n') //줄바꿈 넣으면 줄 띄워서 출력된다.
1
2
3

>>>print(10\n20\n30)
10
20
30

※ \n은 제어 문자라 \n으로 출력되지 않는다.

 

· 제어 문자

\n : 다음 줄로 이동

\t : 한 탭 이동

\\ : 문자 자체를 출력할 때

 

 

· end 사용

print() 함수는 기본적으로 줄 바꿔주는 \n의 기능이 있어 print() 함수가 여러 개 있으면 모두 줄 바꿔 출력된다. 이때 한 줄에 출력하고 싶으면 printd의 end에 빈 문자열을 지정해 주면 된다.

print(값/변수, end=' ')

>>>print(10, end='')
>>>print(20, end='')
>>>print(30)
102030

※ print의 end에는 \n이 지정된 상태인데 빈 문자열을 지정하면 강제로 \n을 지워준다. end는 해당 print()가 끝난 뒤  다음에 오는 print() 함수에 영향을 준다.

 

 

 

 

 

 

반응형

'PYTHON > 공부' 카테고리의 다른 글

딕셔너리  (0) 2022.07.25
시퀀스 자료 구조  (0) 2022.07.25
자료구조  (0) 2022.07.25
연산자  (0) 2022.07.25
PYTHON 기초  (0) 2022.07.25