Search

반응형

'Program'에 해당되는 글 18건

  1. 2020.10.01 [HOW]파이썬(Python) 문자열(Strings) 활용하는 기본 방법.
  2. 2020.09.30 [HOW]파이썬(Python) 숫자로 계산기처럼 사용하는 방법, Numbers 연산
반응형

안녕하세요. 신기한 연구소입니다.

신나는 파이썬(Python) 공부하는 시간이네요. ㅎㅎ

 

이전 포스팅에서 Numbers(숫자)의 사칙연산과 사용법에 대해 살펴봤습니다.

이번 포스팅은 프로그램을 개발하는 데 당연한 기본으로 알아야 하는

문자열(Strings)에 대해 알아봅니다.

화면 조회 시 조건을 사용하는데 이 조건 등 어떤 값 등을 저장해서 

전달해야 하는 경우가 있습니다.

그리고 결과를 받으면 화면에 보여주기도 해야겠지요?

또한 결과 값에 대해 가공이 필요할 수도 있겠지요?

그럼 파이썬(Python)에서는 문자열(Strings)을 어떻게 다루는지 시작해봅니다.

먼저 Shell을 실행하겠습니다.

pizza라는 문자열을 표현하고 싶지만 오류가 납니다.

단순히 pizza를 입력하면 명령어인 줄 알고 찾을테고 없으니 오류가 나는 겁니다.

파이썬(Python)은 문자열을 표현하기 위해 위 예제처럼 ' 또는 "로 감싸서 사용합니다.

자바(Java)는 문자열에 "만 사용하는데 파이썬(Python)은 자바스크립트처럼 두 가지를 

모두 사용할 수 있네요.

문자열 내에 ' 또는 "를 사용하기 위해서는 다음과 같이 사용하면 됩니다.

문자열 내 '를 사용하고 싶다면 "문자열"로 묶어주면 됩니다.

반대로 문자열 내 "를 사용하고 싶다면 '문자열'로 묶어주면 됩니다.

이스케이프(escape)문자를 사용해도 됩니다.

파이썬(Python)뿐 아니라 다른 C, C++, Java 등에서도 사용하는 특수문자입니다.

escape는 탈출하다라는 뜻으로 ' 또는 "에 감싸진 문자열에서 탈출해서 원하는 표현을 

한다는 의미인 듯 싶네요.

그 외에도 \n (문자열 안에서 줄 바꿈), \t (문자열 사에 탭 간격) 등도 있습니다.

변수에 할당도 하고 print() 함수를 사용하는 경우에 사용합니다.

변수에 ' 또는 "로 감싸서 할당도 해봤고

변수를 직접 호출도 해보고

print함수를 사용해서 출력도 해봤습니다.

우리가 시스템의 경로를 보여주고 싶은 경우가 있습니다.

"D:\pic\jan" 

이렇게 표현하는데 특수문자 \를 사용하네요?

첫 번째 예를 보면 결과가 이상하게 나왔습니다.

이유는 \table에서 \t를 탭으로 인식했기 때문입니다.

해결 방법은 \\를 사용하거나 ' 또는 "를 시작하기 전 영문자 r을 추가해 주면 됩니다.

위 예제를 잘 살펴보세요.

특수문자 \를 사용하는 방법 중 \n에 대해 설명했는데요.

줄 바꿈이 실행되었습니다.

파이썬(Python)에서는 더 편하게 사용할 수 있는 기능이 있습니다.

바로 """문자열""" 또는 '''문자열'''입니다.

세 개씩 앞 뒤로 붙여주니 문자열 안에서 줄을 바꿀 수 있게 되었습니다.

그래서 몇 가지 테스트를 해봤습니다.

결과는 문자열 내 ' 또는 "는 잘 적용이 되지만 특수문자\는 그대로 실행이 되네요.

다음 포스팅은 문자열에 대해 더 다양한 기능을 알아보겠습니다.

 

잘못된 내용이나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

드디어 파이썬(Python)으로 실습하는 시간이 되었습니다.

 

 

먼저 간단히 숫자에 대해 살펴보겠습니다.

숫자 연산이라고 하면 보통 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/)을 생각합니다.

개발할 때 숫자 연산은 자주 사용하는데 기본적으로 파이썬(Python)에서는

어떤 숫자형과 연산자를 사용할 수 있는지 알아봅니다.

 

숫자형

파이썬(Python)에서는 정수형(int), 실수형(float) 그리고 복소수(Complex numbers, j/J사용)가

있습니다.

그리고 프로그램 언어이니 2진수, 8진수, 16진수도 사용이 가능합니다.

 

연산자

기본적으로 +, -, * 그리고 /가 있습니다. 초등학교에서 배운 대로 사용하면 되겠군요.

실제 파이썬(Python) Shell을 실행해서 테스트해 봐야겠지요?

코딩은 실전처럼~

 

파이썬(Python) 을 설치했다면 위 이미지를 찾을 수 있습니다.

IDLE를 실행하면 다음 Shell창이 실행됩니다.

지금 기준 최신 버번 Python 3.8.5입니다.

이제 숫자형 기본 사칙연산을 테스트해 볼게요.

위 ">>>" 옆에 원하는 연산을 넣으면 된답니다.

 

훌륭한 계산기가 되었습니다.

덧셈, 뺄셈, 곱셈, 나눗셈이 완벽하게 잘 되네요.

그런데 자세히 보니 나눗셈은 딱 나눠지는데도 실수형 결과가 나왔습니다.

파이썬(Python)은 나눗셈에 대해 항상 실수형 결과가 나온답니다.

나눗셈에 대해 더 알아볼까요?

8을 3으로 나누면 몫은 2가 되고 나머지가 발생하네요.

그래서 2.6666... 이 나옵니다.

이 소수점을 제거하고 싶다면 바로 '//'연산사를 사용하면 됩니다.

두 번째 8//3을 해보니 소수점 이하인. 66666... 이 사라졌습니다.

몫이 아닌 나머지만 사용하고 싶다면

8%3을 사용하면 됩니다.

8을 3으로 나누면 몫은 2가 되고 나머지는 2가 됩니다.

여기까지는 쉽네요.

제곱도 표현할 수 있습니다.

다음 이미지를 보겠습니다.

 

X**Y 연산자는 X의 Y승을 의미한답니다.

그래서 5**2를 하면 5의 2승으로 5*5와 같기에 25가 나왔습니다.

2**4는 2*2*2*2를 의미하기에 16이 나왔습니다.

 

만약 정수와 실수를 사칙연산으로 계산한다면

어떤 결과가 나올까요?

예상했던 대로 소수점(float) 실수형으로 결과가 나옵니다.

위 덧셈의 경우는 소수점에. 5가 있으니 당연 나오겠지만

뺄셈 곱셈은. 0으로 단순히 소수점만 표기했음에도 결과가 실수로 나오게 되네요.

 

진수 표현도 함께 확인해봐요.

2진수는 숫자 0과 영어 b를 결합해서 사용하면 됩니다.

2진수니 0과 1만 가능하겠죠?

0b01001은 10진수 9가 나옵니다.

8진수는 7까지 사용하는데 숫자 0과 영어 o를 결합해서 사용합니다.

4번의 오류가 났습니다.

16진수의 A, 8진수끼리 연산 등을 사용하면 8진수에 사용할 수 없다는

오류가 발생합니다.

0o7 다음은 0o10, 0o11 로 연결됩니다.

마지막 16진수는 숫자 0과 x를 결합해서 사용합니다. 

9 다음으로 a, b, .., f까지 사용합니다.

위 연산자를 보면 3+4*2로 복합적으로 사용했습니다.

결과는 4*2를 먼저 한 후 3을 더해서 11이 나왔습니다.

연산자 우선순위가 잘 적용되었네요.

우리가 수학을 하면서 "="을 사용합니다.

3+4=7 (3 더하기 4는 7)

보통 같다는 의미로 생각할 수 있는데요.

프로그램 언어에서는 "=="를 같다는 의미로 사용합니다.

그럼 "="는 뭘까요?

"="는 값을 할당한다고 합니다.

위 예제를 보겠습니다.

a=7의 의미는 a가 7과 같다라는 의미가 아니라 a에 7을 할당했다는 의미입니다.a는 이제 7의 값을 가지게 되었습니다.b도 같은 의미로 3의 값을 가지게 되었습니다.a+b를 하면 문자 2개를 더하는 것이 아닌 할당된 값들을 더하게 됩니다.즉, 7+3과 같은 의미가 된답니다.결과는 10이 나왔습니다.파이썬(Python)이든 자바(Java)든 개발에서 "="는 할당 연산자입니다. 기억하세요.수학에서 배운 복소수를 아시는 분들이 있을 겁니다.파이썬(Python)에서도 복소수를 사용하는데j/J를 붙여서 복소수를 표현합니다.

 

먼저 a에 복소수 5+3j를 할당했습니다.

a를 연산하면 (5+3j)가 잘 나옵니다. 괄호()가 붙어서 나오네요.imag는 허수(j가 붙은 수)만 보여줍니다.real은 실수(j가 붙지 않은 수)만 보여줍니다.conjugate()는 켤레 복소수를 보여줍니다. 수학에서 배운 건데 가물 거리네요.사실 지금까지 업무 개발을 하면서 복소수 개념을 사용한 적은 없기에.. 참고로만...

k에 100을 할당하고, m에 5를 할당합니다. 그리고 n은 0.02를 할당했습니다.

그리고 k*m을 실행합니다. 결과는 500이 맞게 나옵니다.

그런데 그다음 연산을 보면 _*n을 했는데

"_"는 무엇일까요? 실행하니 오류는 안 나고 10.0이 나왔습니다.

확인을 위해 20+_도 실행했습니다. 결과는 30.0이 나왔습니다.

"_"는 바로 직전 값을 의미합니다.

_*n의 경우는 "_"는 앞의 값인 500을 의미하고

20+_의 경우는 "_"가  앞의 결과 10.0을 의미합니다.

 

파이썬(Python)의 Numbers(숫자)에 대해 알아봤습니다.

잘못된 정보나 수정이 필요하면 댓글 주세요.

아래 하트(공감) 버튼을 눌러서 더 다양한 글을 쓸 수 있게 응원 부탁드립니다. 감사합니다.

반응형