반응형
Python 기초 및 문법¶
기본문법¶
Python의 기초적인 문법과 실행 방법
해당 내용은 Data 분석을 위한 python의 기초적인 실행과 문법에 대한 내용을 담은 내용이므로 python을 활용하는 목적이 다르거나 더 자세하게 공부하고자 한다면 여기서에서 추가로 찾아보는 것을 추천
- jupyter notebook 사용
- 기초 위주
코드 작성¶
작성시 주의사항
- 탭과 띄어쓰기를 구분해야한다.
- 반복문 조건문과 같은 경우는 들여쓰기를 해야하는데 이때 제대로 타이핑 한다면 enter를 누를 시 자동으로 4키가 설정이 되지만 잘못된 경우 안될 수 있다.
- python의 경우 4키를 기본으로 하는데 주피터에 있을때는 자동을 tab을 누를 시 4키가 되지만 다른 환경에서는 아닐 수 도 있다.
- tab 키가 아닌 임의로 띄어쓰기를 하거나 하는 습관을 들인다면 해당 공백이 일정하지 않을시에 코드 실행이 안될 수 있으므로 tab을 쓰는 습관을 들여야 한다.
In [2]:
print('hi')
hi
In [3]:
for i in range(3):
print('hi')
hi
hi
hi
In [4]:
for i in range(3):
print(hi)
Cell In[4], line 2
print(hi)
^
IndentationError: expected an indented block after 'for' statement on line 1
주석
- 코드라인에서 설명하기 위해서 주석을 사용 할 수 있다.
- 앞에
#
을 붙여서 사용할 수 있다. ctrl
+/
를 통해서 라인 전체 혹은 선택 전체를 주석처리 할 수 있다.- 주석의 경우 코드 결과에 영향을 미치지 않는다.
In [5]:
# 주석입니다!
In [6]:
print('hi') # hi를 출력합니다.
hi
코드 실행
코드를 기입하는 라인에 코드를 작성한 후, jupyter notebook의 경우에는 ctrl
+ enter
를 누르고 실행하면 Out이 나오게 된다. jupyter 환경에서는 Out 결과로 자동으로 나오는데 일반 환경의 경우 print문을 사용하여야 원하는 값을 출력할 수 있다. jupyter의 경우에는 맨 마지막 라인 및 값을 자동으로 출력해 준다.
In [7]:
20 + 23
Out[7]:
43
In [8]:
20+23
2+3
Out[8]:
5
자료형¶
숫자형
- 숫자를 담는 자료형으로 해당 정보의 속성을 기준으로 다섯 종류로 구분됨
- 정수
- 실수
- 복소수
- 8진수
- 16진수
문자형
- 특별한 형식이 없는 말 그대로 문자의 형태
- 따옴표
'
로 감싸서 표현 - 문자형 데이터도 연산 적용을 시킬 수 있는 경우가 있음
In [9]:
'1, 2, 3'
Out[9]:
'1, 2, 3'
In [10]:
"1, 2, 3"
Out[10]:
'1, 2, 3'
In [11]:
'''1,2,3'''
Out[11]:
'1,2,3'
In [12]:
"""1,2,3"""
Out[12]:
'1,2,3'
In [13]:
# 따옴표가 들어가서 실행이 안됩니다.
print('|&*^ M'c donalds' )
Cell In[13], line 2
print('|&*^ M'c donalds' )
^
SyntaxError: unterminated string literal (detected at line 2)
In [14]:
print(''' |&*^ \M'c donalds ''' )
|&*^ \M'c donalds
In [15]:
print("""|&*^\ M'c donalds""" )
|&*^\ M'c donalds
In [16]:
print('hi\')
Cell In[16], line 1
print('hi\')
^
SyntaxError: unterminated string literal (detected at line 1)
Escape Sequence를 사용하여 표현하기 힘든 문자, 기능들을 표현해준다.
\
를 앞에 붙여 사용한다.- \와 함께 사용되어 기능을 부여하기도 한다.
\
는 \ (백 슬래시)이다.
In [17]:
print('M\'c donalds')
M'c donalds
In [18]:
'\t 는 탭, \n은 줄바꿈 입니다~'
Out[18]:
'\t 는 탭, \n은 줄바꿈 입니다~'
In [19]:
print('\t 는 탭, \n은 줄바꿈 입니다~')
는 탭,
은 줄바꿈 입니다~
문자열은 대괄호 []
를 통해서 해당 위치와 원하는 만큼 들고 올 수 있다.
In [20]:
my_str = '광고 좀 눌러주세요. Please Click Adds...'
In [21]:
my_str[0]
Out[21]:
'광'
In [22]:
my_str[:11]
Out[22]:
'광고 좀 눌러주세요.'
In [23]:
my_str[0:3] + my_str[12:18]
Out[23]:
'광고 Please'
Index를 통해서 문자열의 원하는 위치에 있는 값을 반영할 수 있다.
- 인덱스는 0부터 시작한다.
- 맨마지막 인덱스는 포함하지 않는다.
:
로 슬라이싱 (원하는 만큼 추출) 한다.- 앞뒤로 아무것도 안들어가 있을 경우 자동으로 처음 혹은 마지막으로 설정된다.
- 문자열도 붙일 수 있다.
In [24]:
my_str[-7:-2]
Out[24]:
'Adds.'
In [25]:
my_str[-2 :-6]
Out[25]:
''
In [26]:
my_str[4:0]
Out[26]:
''
- 음수를 사용하여 끝에서 부터 추출 할 수 있다.
- 당연하게도 오름차순으로 가야 추출이 가능하다!
- 다양하게 찍어보면서 이를 익혀본다.
연산자¶
산술연산자
일반적인 산술연산자 +, -, *, / 와 더불어 조금은 생소 할 수 있는 산술연산자들이 있다.
%
나머지 : 나누고 나서 나머지를 반영한다.**
제곱을 표현하는 방식이다.//
몫을 표현하는 방식이다.
In [27]:
print(5%2)
print(5//2)
print(5**2)
1
2
25
비교연산자
- 비교를 위한 연산자이며 True / False 라는 Boolean 형식으로 나오며 각각 1/ 0 에 해당한다.
==
같다를 표시하며, 코딩을 처음 하는 경우=
를 쓰는 경우도 있다. 하지만=
는 값을 할당할 때 사용 하며 같다는==
를 사용한다.!=
는 다르다를 표시한다.- 그외 부등호는 설명을 생략한다.
>
/<
/>=
/<=
In [28]:
n=5
print(n != 4)
print(int (n!=4))
True
1
참고 (심화)
이를 활용해서 조건식을 할당할 수 있으며 이를 활용하거나 값을 활용 할 수 있다.
In [29]:
my_condition = n!=4
print(my_condition + 1)
2
리스트¶
[]
대괄호로 묶여있는 자료구조로 순서가 있으며 해당 자료를 수정, 조회 할 수 있다. 하지만 이를 복사할때는 주의가 필요하다.
- 더하기와 곱하기 기호를 사용할 수 있다.
- 리스트 내부에도 리스트를 넣을 수 있다.
In [30]:
alist = [1,2]
blist = [3,4]
In [31]:
print(alist + blist)
print(alist * 3)
[1, 2, 3, 4]
[1, 2, 1, 2, 1, 2]
In [32]:
print(alist * blist)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[32], line 1
----> 1 print(alist * blist)
TypeError: can't multiply sequence by non-int of type 'list'
In [33]:
my_list = ['광', '고', '무', '새', ['죄송','합니다.']]
In [34]:
print(my_list[0])
print(my_list[2])
print(my_list[-1][0])
print(my_list[2:])
광
무
죄송
['무', '새', ['죄송', '합니다.']]
튜플¶
- 자료의 수정이 불가능한 자료형
- 소괄호를 통해 생성한다.
- index를 통해 조회 가능하다.
- 원소가 하나인 튜플을 만들 경우 뒤에 쉼표 필요하다.
- 삽입이 불가능 하므로 삽입 및 수정을 하려고 할때 오류가 발생한다.
In [35]:
my_tuple = (1,2,3)
In [36]:
my_tuple[1]
Out[36]:
2
In [37]:
my_tuple[1] = 'insert'
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[37], line 1
----> 1 my_tuple[1] = 'insert'
TypeError: 'tuple' object does not support item assignment
Dictionary¶
- dictionary 는 key value로 이루어진 연관배열이다.
- 원하는 값을 위해서는 key를 통해 조회를 하며 조회시 value 값을 얻을 수 있다.
- 데이터에 쓰이며 key :value 구조로 이루어져 조금은 주의가 필요하다.
In [38]:
my_dict = {'a':'가', 'b':'다'}
In [39]:
print(my_dict['a'])
가
In [40]:
my_dict = {'a':{'가':[1,2,3]}, 'b':'나'}
In [41]:
my_dict['a']
Out[41]:
{'가': [1, 2, 3]}
Q) 2를 출력하기 위해서 어떻게 조회해야하는가
In [42]:
print(my_dict['a']['가'][1])
2
반응형
'데이터 분석 > 기초 조작 및 활용' 카테고리의 다른 글
Jupyter notebook 기초 조작 및 단축키 (0) | 2022.06.08 |
---|