-
파이썬 연산자, 변수, 자료형 알아보기코딩 연습/파이썬 기초(예제) 2023. 12. 2. 23:48
파이썬의 문법은 연산자, 변수, 자료형으로 구성되고, 그 외의 구성 요소로는 조건과 반복을 다루는 제어문, 예약어와 식별자, 함수, 클래스, 라이브러리, 모듈 등이 있는데,
본 포스팅에서 파이썬의 사칙연산, 숫자(정수, 실수), 문자형 불린 등에 대해 예제와 함께 연습할 수 있도록 올려봅니다.
파이썬 연산자를 이용한 사칙연산 표현식들
파이썬 연산자는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 정수 나누기(또는 나머지 버리기)(//), 나머지(%), 지수(**) 등이 있음
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) 그 값을 재사용하거나 반복적으로 사용하는 값을 관리하기 위함입니다.
파이썬의 변수는 영문 대소문자, 숫자, 문자, 특수문자('_')를 사용해서 만들 수 있으나 다음과 같은 제약 조건이 있습니다.
- 문자, 숫자, 밑줄 기호로만 구성
- 숫자로 시작할 수 없음
- 변수는 공백(빈칸)이 없어야 함
☞ 변수로 사용 못하는 예시)
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]
▶ 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
'코딩 연습 > 파이썬 기초(예제)' 카테고리의 다른 글
파이썬 입출력 - input(), open() 함수 사용 방법 (0) 2023.12.04 파이썬 제어문 종류 - 조건문과 반복문, 연습문제 (0) 2023.12.04 파이썬 리스트, 튜플, 딕셔너리, 세트 등에 대해 알아보기 (0) 2023.12.02 파이썬 zip(), unzip() 함수 사용 예제 (0) 2023.04.18 리스트 컴프리헨션(List Comprehention) 연습 (0) 2023.03.29