파이썬의 특성
1. 높은 생산성
2. 코드의 간결함
3. 빠른 개발 속도
4. 스크립트 언어
이터레이터와 제너레이터 개념 다시 정리
에러 처리를 위한 필수 과정이다.
에러가 발생할 경우 except 부분이 실행되고, 에러가 발생하지 않으면 try 부분이 실행된다.
a = 8
b = 0
try:
#실행 코드
print(a/b)
except:
print('에러가 발생했습니다.')
b = b+1 #이런 식으로 except 부분에서 값을 수정해 결과값을 조정할 수 있다.
print("값 수정 : ", a/b)
time 모듈을 이용해서 측정할 수 있다.
import time
begin = time.time() # 시작 시간 저장
a = 100
for i in range(100,0,-1):
a -= 1
# 작업 코드
print("time :", time.time() - begin) # 결과는 '초' 단위 입니다.
컴퓨터가 작업을 처리하는 속도를 높여주는 방법 중 하나이다.
병렬처리는 4개의 문자열이 동시에 처리되어 저장되는 반면 순차처리는 말 그대로 순서를 지켜 처리된다.
출처: https://sebastianraschka.com/Articles/2014_multiprocessing.html
파이썬에서 병렬처리를 하기 위해선 multiprocessing 모듈을 이용한다.
런타임에서 생성해 활용 가능한 익명 함수. def를 이용해 이름을 정의하는 함수와 다르게 이름이 없다. 표현식의 형태를 띄어서 람다 표현식(lambda expression)이라고 부른다.
(lambda x: x+1)(0)
>>> 1
# map
num_list = [1, 2, 3]
num_list = list(map(lambda x: x+1, num_list))
print(num_list)
>>> [2, 3, 4]
# 조건부 식 사용하기 - if, else 반드시 둘 다 써야함
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list(map(lambda x: str(x) if x % 3 == 0 else x, a))
>>> [1, 2, '3', 4, 5, '6', 7, 8, '9', 10]
# filter 조건에 해당하는 요소만 반환
list(filter(lambda x: x % 2, range(10))) # 파이썬 2 및 파이썬 3
>>> [1, 3, 5, 7, 9]
# reduce - 누적해서 함수에 적용 시킴
from functools import reduce #python3 부터 내장함수가 아님
reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])
>>> 10
절차지향 | 객체지향 | |
---|---|---|
일이 진행되는 순서로 프로그래밍 | 객체를 먼저 작성하고 함수를 작성.객체 간 상호작용 가능 | |
장점 | 순서대로 읽고 이해하기 용이함 | 코드 재활용이 쉬움. 코드 분석 쉬움, 아키텍처 변경 쉬움 |
단점 | 순서대로 작성된 특성 상 한 오류가 연쇄적인 영향을 끼칠 가능성이 있어 유지보수가 어려움. 일반적으로 코드 길이가 길어 분석이 어려움 | 객체 간의 상호작용으로 인해 설계에 많은 시간이 소비됨. 설계에 문제가 생기면 전반적으로 재구성을 할 필요가 생길 수 있음 |
코드 스타일 - The Hitchhiker's Guide to Python
정리: 우분투라는 운영체제 안에서 파이썬이라는 프로그래밍 언어로, 텐서플로우라는 딥러닝 프레임워크를 써서 여러가지를 배워나갈 예정
리눅스는 그 자체로 운영체제가 아니라, 커널임.
우리가 흔히 리눅스 운영체제라 부르는 것들은 리눅스를 커널로 사용하는 운영체제들을 가리킨다. 우분투나 Android, ChromeOS 말고도 Debian, CentOS, Red Hat Enterprise Linux 등 다양한 종류가 있다.
def solution(s):
return ''.join(sorted(s, reverse=True))
그동안 지나쳐왔던 개념이 많아서 정리하는데 시간이 오래 걸렸다. 제너레이터 개념은 오늘 처음 접했는데 이터레이터와 같이 이해해야할 거 같아서 나중에 코딩도장을 공부할 때 다시 보려고 한다. CS 개념이 부족함을 느껴서 책을 더 읽거나 해야할 것 같다.