1. list
# lang = ["python", "c", "java", "golang"]
lang = []
# my_list.append("value")
lang.append("pyhon")
lang.append("java")
lang.append("golang")
print(lang)
# my_list.insert(index, "value")
lang.insert(1, "c")
print(lang)
# my_list.remove("value")
lang.remove("golang")
print(lang)
# my_list.pop(index)
java = lang.pop(2)
print(lang)
print(java)
numbers = [2, 1, 4, 3]
print(numbers)
# my_list.sort()
numbers.sort()
print(numbers)
# my_list.reverse()
numbers = [2, 1, 4, 3]
numbers.reverse()
print(numbers)
# my_list.index("value")
index = numbers.index(2)
print(index)
# my_list.extend([a_list])
numbers.extend([5, 6, 7, 8])
print(numbers)
2. Tuple
더 이상 변경 불가능한 자료형
tuple1 = (1, 2, 3, 4)
# tuple은 삭제나 추가가 불가능
# del tuple1[1]
# tuple1[1] = 'c'
# tuple끼리 더하거나 박복하는 것은 가능
tuple2 = (5, 6)
print(tuple1 + tuple2)
print(tuple1 * 3)
3. Dictionary
순서가 없는 자료형
# dictionary 선언
dict1 = {}
print(dict1)
# dictionary에 key:value 추가
dict1 = {'name': 'foo bar'}
print(dict1)
dict1 = {'korean': 95, 'math': 100, 'science':[80, 70, 90, 60]}
print(dict1)
dict1['english'] = "pass"
print(dict1)
# dictionary의 key:value 삭제
del dict1['math']
print(dict1)
print(dict1['korean']) # value 출력
print(dict1.keys()) # 모든 key 출력
print(dict1.values()) # 모든 vlaue 출력
print(dict1.items()) # 모든 key, value 출력
4. 반복문
for
반복문에 변수가 필요할 경우 사용하면 좋다.
for i in "strings":
# 실행문1
# ...
while
조건의 경우가 True 혹은 False일 경우에 사용하면 좋다.
while condition:
# 실행문1
# ...
List Comprehension
result = [i for i in range(1,11)]
print(result)
Fizzbuzz
면접에 많이 사용될 정도로 기본이 되는 예제이다. 어떤 조건이 먼저오는지 설정하는 것이 중요하다.
- 범위 : 1에서부터 입력받은 수까지
- 3의 배수일 때, fizz
- 5의 배수일 때, buzz
- 15의 배수일 때, fizzbuzz
num = eval(input("Type the number: "))
for i in range(1, num + 1):
if i % 15 == 0:
print("fizzbuzz")
elif i % 3 == 0:
print("fizz")
elif i % 5 == 0:
print("buzz")
else:
print(i)
5. Fuction
def my_function_name(parameter):
# 실행문1
# 실행문2
# ...
return result
6. Class
- 최근 객체지향(OOP)보다 functional 기반이 프로그래밍이다. 그래도 파이썬은 객체지향으로 작성하는 것이 좋다.
- Class = Blueprint
class Classname:
def __init__(self):
self.x = apple
# method1
# method2
# ...
- 클래스에서 객체는 인스턴스 vs 나머지는 객체
pineapple_pen = Ppap() # Ppap 클래스의 인스턴스 생성
print(pineapple_pen.pen_adder(pineapple)) # pen_adder 메서드를 호출
과제
7. Shell Setting
Tree
$ brew install tree
$ tree --version
pathogen.vim
" .vimrc file
execute pathogen#infect()
syntax on
filetype plugin indent on
$ cd ~/.vim/bundle && \
$ git clone https://github.com/tpope/vim-sensible.git
NERD tree
$ git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree
# :NERDTreeToggle in VimEditor
# or set below
$ vim ~/.vimrc
" .vimrc file
" shortcut key to NERD Tree
map <F2> :NERDTreeToggle<CR>
vim-airline
$ git clone https://github.com/vim-airline/vim-airline ~/.vim/bundle/vim-airline