본문 바로가기
코딩 연습/파이썬 기초(예제)

파이썬 연산자, 변수, 자료형 알아보기

by good4me 2023. 12. 2.

goodthings4me.tistory.com

파이썬 연산자, 변수, 자료형

 

파이썬의 문법은 연산자, 변수, 자료형으로 구성되고, 그 외의 구성 요소로는 조건과 반복을 다루는 제어문, 예약어와 식별자, 함수, 클래스, 라이브러리, 모듈 등이 있는데,

 

본 포스팅에서 파이썬의 사칙연산, 숫자(정수, 실수), 문자형 불린 등에 대해 예제와 함께 연습할 수 있도록 올려봅니다.

 

파이썬 연산자를 이용한 사칙연산 표현식들

 

 

파이썬 연산자는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 정수 나누기(또는 나머지 버리기)(//), 나머지(%), 지수(**) 등이 있음

print(2 + 3 * 6)
# 20
print((2 + 3) * 6)
# 30
print(123456789 * 987654321)
# 121932631112635269
print(2 ** 8)
# 256
print(23 / 7)
# 3.2857142857142856
print(23 // 7)
# 3
print((23 / 7) - (23 // 7))
# 0.2857142857142856
print(4 % 3)
# 1
print(-4 % 3)
# 2
print(24 % 7)
# 3
print((5 - 1) * ((7 + 1) / (3 - 1)))
# 16.0

 

 

파이썬 변수의 개념과 사용 연습

변수는 값을 저장할 수 있는 컴퓨터 메모리 상의 공간을 의미하며,

 

변수를 사용하는 이유는 i) 값 대신에 이름을 붙여 쉽게 사용하고, ii) 그 값을 재사용하거나 반복적으로 사용하는 값을 관리하기 위함입니다.

 

IT, 전자제품 선물

 

 

파이썬의 변수는 영문 대소문자, 숫자, 문자, 특수문자('_')를 사용해서 만들 수 있으나 다음과 같은 제약 조건이 있습니다.

  • 문자, 숫자, 밑줄 기호로만 구성
  • 숫자로 시작할 수 없음
  • 변수는 공백(빈칸)이 없어야 함

☞ 변수로 사용 못하는 예시)

apt-name(하이픈), apt name(공백), 4people(숫자로 시작), $total(특수문자), 'name'(특수문자)

## 변수 선언과 사용
var1 = 'Python'  # 문자 
print(var1)
# Python
var2 = 12345  # 숫자 
print(var2)
# 12345
var3 = ['a', 'b', 'c', 'd', 'e']  # list(리스트) 
print(var3)
# ['a', 'b', 'c', 'd', 'e']
var4 = {'a': 1, 'b': 2, 'c': 3}  # dictionary(딕셔너리) 
print(var4)
# {'a': 1, 'b': 2, 'c': 3}
var5 = print  # 함수 
print(var5)
# <built-in function print>
a1, b1 = 10, 20  # 두 변수에 입력하기 
print(a1, b1)
# 10 20
a2, b2 = [10, 20]  # 리스트 사용 
print(a2, b2)
# 10 20
a = b = 123  # 두 변수에 같은 값 입력하기 
print(a, b)
# 123 123
a1, b1 = b1, a1  # 두 변수의 값 바꾸기
print(a1, b1)
# 20 10

## 변수 삭제하기
del a1  # 또는 del(a1)
#print(a1)  # NameError: name 'a1' is not defined.

 

 

파이썬 자료형

기본 자료형

정수, 실수, 문자, 논리, 컬렉션(list, tuple, dictionary), 지수 표현 등 알아보기

# 숫자(정수) : int
123, -97, 0

# 숫자(실수) : float
1.23, -3.14, 1.1e-10

# 문자 : str
'A', "hello", '123', '8*2'

# 논리(Boolean, 참과 거짓) : True, False
True, False

# List(값의 집합체 - 수정가능)
[1, 2, 3], ['A', "hello", 123]

# Tuple(값의 집합체 - 수정불가)
(1, 2, 3), ('A', "hello", 123)

# Dictionary(키-값으로 구성된 집합체)
{'a': 1, 'b': 2, 'c': 3}, {'seoul': '서울', 'busan': '부산'}

## 지수 표현

print(1.1e2)
# 110.0
print(1.1e-2)
# 0.011

# 16진수(0x숫자, x는 알파벳 'x')
print(0x9)
# 9
print(0xE)
# 14

# 8진수(0o숫자, o는 알파벳 'o')
print(0o7)
# 7
print(0o11)
# 9

# 2진수(Ob숫자, b는 알파벳 'b')
print(0b11)
# 3
print(0b1)
# 1

 

 

문자 자료형

파이썬 문자 자료형은 작은 따옴표(') 또는 큰 따옴표(") 또는 따옴표 세개(''' '''또는 """ """)를 사용하여 표현하며,

print('Hello', "Hello", '''Hello''', """Hello""")
# Hello Hello Hello Hello 

## 작은 따옴표와 큰 따옴표 중복 사용(이스케이프 문자(₩) 사용)
# Hello 'Python' 글자 출력시
print("Hello 'Python'")
# Hello 'Python'
print("Hello \'Python\'")
# Hello 'Python'

 

※ 이스케이프 문자는 특수문자 중 "역슬래시(\) + 미리 정의해 둔 문자"의 조합을 말하여 특정 특수문자를 문자로 인식시기는테, 그 종류는 다음과 같다.

  • \n : 줄바꿈
  • \t : 탭 (일정 간격 띄어쓰기)
  • \\ : ₩ 문자 표시
  • \' : (quote) 문자 표시
  • \" : (double quote) 문자 표시

 

▶ 문자 연산 - 더하기, 곱하기

print('Hello' + 'Python')
# HelloPython
print('Hello' + ' ' + 'Python')
# Hello Python
print('Hello' * 3)
# HelloHelloHello
# print('2' + 3)  # TypeError: can only concatenate str (not "int") to str
print(int('2') + 3)
# 5

 

 

문자 인덱싱, 슬라이싱

text = 'Hello Python'
print(text[0])
# H
print(text[6])
# P
print(text[-1])
# n
print(text[-6])
# P
print(text[-12])
# H
print(text[0:])
# Hello Python
print(text[6:])
# Python
print(text[:5])
# Hello
print(text[:-4])
# Hello Py
print(text[-6:-4])
# Py
print(text[:])
# Hello Python
print(text[:len(text)])
# Hello Python

 

 

Formatting % 기호 문자 종류

  • %d : 정수
  • %f : 실수
  • %c : 문자
  • %s : 문자열
  • 진수 : %o(8진수), %x(16진수), %%(%문자)
print('Python version %d' % 3)
# Python version 3
print('Python version %5d' % 3)
# Python version     3
print('test %s' % 10)
# test 10
print('test %s' % '10')
# test 10
print('test %s' % (10))
# test 10
print('Python version %s' % '3.14')
# Python version 3.14
print('Python version %f' % 3.141592)
# Python version 3.141592
print('Python version %.2f' % 3.141592)
# Python version 3.14
print('Python version %5.2f' % 3.141592)
# Python version  3.14
print('Python %s %d.%d.%f' % ('version', 3, 14, 1592))
# Python version 3.14.1592.000000
print('Python 점유 %%는 %f' % 30.5)
# Python 점유 %는 30.500000

 

 

 

▶ 문자 포맷 format, f-string 사용법 - 문자열의 특정 부분에 변수값 입력하기

st = 'Life is too short, You need Python'
print('test {}'.format(10))
# test 10
print('test {0}.{1}'.format(10, 5))
# test 10.5
print('test {a} {b}'.format(a='영화', b="'서울의 봄'"))
# test 영화 '서울의 봄'
print(f'test {10}')
# test 10
print(f'test {st}')
# test Life is too short, You need Python

 

 

▶ 문자 관련 함수 알아보기

  • count() - 특정 문자의 개수
  • find() - 특정 문자의 위치
  • strip(), rstrip(), lstrip() - 양 끝의 공백 제거
  • replace - 특정 문자 바꾸기
  • split() - 특정 문자로 나누기
  • str() - 문자열 자료형으로 변환
  • index() - 특정 문자의 위치
txt = 'Life is too short, You need Python'

## count()
print(txt.count('i'))
# 2
print(txt.count('e'))
# 3
print(txt.count(' '))
# 6
print(txt.count(' ', 5))
# 5
print(txt.count(' ', 5, 12))
# 2
print(txt.count('X'))
# 0

## find()
print(txt.find('i'))
# 1
print(txt.find('e'))
# 3
print(txt.find(' '))
# 4
print(txt.find(' ', 5))  # start(index 5)
# 7
print(txt.find(' ', 5, 12))  # start(index 5) ~ end(12-1)
# 7
print(txt.find('X'))
# -1

## index()
print(txt.index('i'))
# 1
print(txt.index('e'))
# 3
print(txt.index(' '))
# 4
print(txt.index(' ', 5))
# 7
print(txt.index(' ', 8, 12))
# 11
# print(txt.index('X'))  # 에러 발생

## strip()
ex = ' Life is '
print(repr(ex.rstrip()))
# ' Life is'
print(repr(ex.lstrip()))
# 'Life is '
print(repr(ex.strip()))
# 'Life is'

## replace()
print(text.replace('i', 'I'))
# Hello Python
print(text.replace(', ', '\n'))
# Hello Python
print(text.split(' '))
# ['Hello', 'Python']
print(text.split(', '))
# ['Hello Python']
print(text.split('o'))
# ['Hell', ' Pyth', 'n']

## upper()
print(ex.upper())
# LIFE IS

## lower()
print(ex.lower())
#  life is

## split()
text = 'Life is too short, You need Python'
print(text.split(' ') )
# ['Life', 'is', 'too', 'short,', 'You', 'need', 'Python']
print(text.split(', ') )
# ['Life is too short', 'You need Python']
print(text.split('o') )
# ['Life is t', '', ' sh', 'rt, Y', 'u need Pyth', 'n']

## str() - 정수 또는 실수 등을 문자열 자료형으로 변환하는 함수
print(str(123))
# 123
print(str(3.14e2))
# 314.0
print(str(int(3.14e2)))
# 314
print(str([1, 2, 3]) )
# [1, 2, 3]

 

IT관련서비스제품

 

▶ boolean - 참과 거짓 판단하는 자료형으로 True, False 값을 가짐

  • 파이썬에서는 0, '', [], (), {}, None의 경우 False, 아니면 True
  • 제어문의 조건을 표현할 때 많이 사용(논리 판단)
  • bool() : 파이썬에서 불리언 타입으로 변환하는 함수
## bool() : 파이썬에서 불리언 타입으로 변환하는 함수

print(bool(1))
# True
print(bool('-1'))
# True
print(bool('a'))
# True
print(bool('[1]'))
# True
print(bool('1,'))
# True

print(bool(None))
# False
print(bool(0))
# False
print(bool(''))
# False
print(bool([]))
# False
print(bool(()))
# False
print(bool({}))
# False

print(type(None))
# <class 'NoneType'>
print(type(0))
# <class 'int'>
print(type(''))
# <class 'str'>
print(type([]))
# <class 'list'>
print(type(()))
# <class 'tuple'>
print(type({}))
# <class 'dict'>

 

 

파이썬의 논리연산자는 다른 개발 언어의 논리연산자와 유사함

  • '=='(같음), '!='(다름)
  • 왼쪽 기준, '<'(작음), '>'(큼), '<='(작거나 같음), '>='(크거나 같음)
  • 'and'(그리고), 'or'(또는), 'not'(부정)
  • '~'(비트 not), '^'(비트 XOR, 배타적 논리합) : XOR은 두 비트가 서로 다를 때 1이 되는 연산 수행
a = 1
print(~a)  # '-(a + 1)'

b = False
print(~b)  # '-(b + 1)'

 

 

 

파이썬 리스트, 튜플, 딕셔너리, 세트 등에 대해 알아보기

빅데이터 분석이나 머신러닝 등에 가장 많이 사용하는 언어인 파이썬 문법을 배울 때 다른 언어에 비해 재미있는 부분이 바로 파이썬 리스트, 튜플, 딕셔너리, 세트 자료형입니다. 이 자료형들

goodthings4me.tistory.com

 

 

아나콘다 설치, 가상환경 생성, 업데이트, 주피터 노트북 저장경로

파이썬 설치 방법 중 파이썬 공식 사이트(python.org)에서 파일 다운로드 후 설치하는 방법 이외에 Anaconda(아나콘다)를 설치하는 방법이 있습니다. 본 포스팅에서는 Anaconda 설치, conda 가상환경 설정

goodthings4me.tistory.com

 

댓글