전공과목 정리/프로그래밍언어 (Python, C++)

[파이썬프로그래밍🐍] 변수, 계산, 자료형

최연재 2022. 1. 29. 00:54

내용 출처  : 두근두근 파이썬, 파이썬 코딩 수학 with 딥러닝

 

-------

개발 블로그를 티스토리로 옮기며 기존의 네이버 블로그에 작성한 내용을 그대로 옮겼습니다.

https://blog.naver.com/0yeonjae2/222591600049

-------

 

1. 파이썬

: 파이썬은 1991년 귀도 반 로섬(Guido van Rossum)이 개발한 대화형 프로그래밍 언어이다.

1) 파이썬의 특징

· 생산성이 뛰어나다.

· 초보자에게 좋은 인터프리터 언어이다.

· 문법이 쉬워서 코드를 보면 직관적으로 알 수 있는 부분이 많다.

· 오픈소스이므로 무료이다.

· 라이브러리가 풍부하다.

· 애니메이션이나 그래픽을 쉽게 사용할 수 있다.

· 모바일 앱 개발 환경에서 사용하기 어렵다.

· 시스템 영역의 프로그램 개발이 어렵다.

· 컴파일 시 타입 검사가 안 된다.

 


 

2. 변수

변수는 컴퓨터 메모리 공간에 만들어지며 값을 저장한다. 변수에 있는 값은 언제든지 바뀔 수 있다.

파이썬에서 변수의 생성은 x = 10의 형태로 한다. 변수에는 정수뿐만 아니라 문자열도 저장할 수 있다.

 

1) 변수의 이름

· 의미 있는 이름을 사용한다.

· 소문자와 대문자는 서로 다르게 취급한다.

· 특수문자는 _만 사용 가능하다.

· 숫자는 첫 번째 문자로 올 수 없다.

· 키워드는 이름에 포함할 수 없다.

· 변수의 이름은 영문자와 숫자, 밑줄로 이루어진다.

· 변수의 이름 중간에 공백이 들어가면 안 된다.

· 단어를 구분하려면 _을 사용하거나 낙타체를 사용한다.

- 낙타체 : 변수의 첫 글자는 소문자로, 나머지 단어의 첫 글자는 대문자로 작성하는 방법이다.

ex) myFirstCoding

 

 

3. 계산

수식 : 피연산자들과 연산자의 조합

연산자 : 연산을 나타내는 기호

피연산자 : 연산의 대상이 되는 값

 

1) 산술 연산자

// 연산자는 소수점 없이 몫을 구하고, / 연산자는 소수점이 나오는 형태로 몫을 구한다.

파이썬 버전 2.x에서는 / 연산자의 결과가 정수로 나온다. 

연산자
기호
사용 예
결과
덧셈
+
6 + 4
10
뺄셈
-
6 - 4
2
곱셈
*
6 * 4
24
나눗셈
//
6 // 4
1
나눗셈
/
6 / 4
1.5
나머지
%
6 % 4
2

 

나머지 연산자는 짝수와 홀수를 구분하는 데 많이 사용된다.

n % 2 == 1 -> 홀수, n % 2 == 0 -> 짝수

 

지수를 계산할 때는 **연산자를 사용한다. ex) 2**3 == 8

 

제곱근이나 절댓값을 구할 때는 numpy 패키지를 이용한다.

np.sqrt는 제곱근을 구한다. () 안 값이 음수면 결과가 nan(없다)이 나온다.

np.abs는 절댓값을 구한다.

import numpy as np
print(np.sqrt(100))
varA = -10
print(np.abs(varA))
 

2) 복합 연산자

복합 연산자는 대입 연산자와 다른 연산자를 합쳐놓은 연산자이다.

 
복합 연산자
의미
x += y
x = x + y
x -= y
x = x - y
x *= y
x = x * y
x /= y
x = x / y
x %= y
x = x %y

 

3) 연산자의 우선순위표

순위
연산자
설명
1
**
지수 연산자
2
~ + -
단항 연산자
3
* / % //
곱셈, 나눗셈, 나머지 연산자
4
+ -
덧셈, 뺄셈
5
>> <<
비트 이동 연산자
6
&
비트 AND 연산자
7
^ |
비트 XOR 연산자, 비트 OR 연산자

 


4. 자료

파이썬에서 사용 가능한 자료의 종류는 정수, 실수, 문자열이다.

 

1) 문자열

문자열(string)은 문자들의 나열(sequence of characters)이다.

문자열은 큰따옴표 혹은 작은따옴표로 내용을 감싸 만든다. 하지만 큰따옴표와 작은따옴표를 혼용해 사용할 수 없다.

ex) "hello" (0) , 'hi'(o) "string' (x)

문자열을 숫자로 바꾸려면 다음과 같이 하면 된다.

x = input("정수를 입력하세요 : ")
x = int(x) 

y = input("실수를 입력하세요 : ")
y =  float(y)
 

int()는 문자열을 정수로, float()는 문자열을 실수로 바꾼다. 참고로 숫자를 문자열로 바꿀 때는 str() 함수를 사용한다.

 

두 개의 문자열을 합치려면 +를 사용하고, 문자열을 반복하려면 *을 사용한다.

단 문자열과 숫자를 +를 사용해 연결할 수는 없다.

print("나는 현재", 20 , "살이다.")
print("나는 현재"+20+"살이다.")
 

첫 번째 코드는 맞지만 두 번째 코드는 틀렸다.

 

 

2) 문자열 포맷팅 : 문자열에 변수의 값을 삽입해 출력할 때 사용한다.

문자열 포맷팅
기능
%d, %x, %o
각각 십진수, 16진수, 8진수
%f %.숫자f
실수를 출력(복소수 x), 표시할 소수점 아래 자릿수를 명시한다.
%s
문자열 출력
%%
'%' 문자 자체를 출력

 

price = 1200
print("상품의 가격은 %s원입니다." %price)
 

상품의 가격은 1200원입니다. 가 출력된다.

 

3) 특수 문자열

특수 문자열
의미
\n
줄 바꿈 문자
\t
탭 문자
\\
역슬래시 자체
\"
큰따옴표 자체
\'
작은따옴표 자체

 

print("말 한마디로 \n 천 냥 빚을 갚는다.")

말 한마디로

천 냥 빚을 갚는다.의 형태로 출력된다.

 

4) 문자열 인덱싱 및 슬라이싱

·문자열의 길이 : len()

>>> myString = 'hello world'

>>> len(myString)

결과는 11이다.

 

·글자 일부 슬라이싱

>>> mystring[0:5]

'hello'

이때 []는 슬라이싱할 범위를 지정할 때 사용하는 기호이다.

 

·슬라이싱 종류

b[:] 처음부터 끝까지 모두 출력

b[start:end] start 인덱스부터 end 인덱스 바로 전까지 출력

b[:end] 처음부터 end 인덱스 바로 전까지 출력

b[start:] start 인덱스부터 마지막 인덱스까지 출력

b[start:end:step] start 인덱스부터 end 인덱스 바로 전까지 step 만큼 건너뛰며 출력