_
만 사용다양한 프로그래밍 언어 중 사람이 사용하는 언어에 가까운 언어를 하이레벨 언어라고 하는데, 파이썬은 하이레벨 언어 가운데서도 비전공자가 가장 쉽게 접근할 수 있을 정도로 이해하기 쉽고 직관적인 언어라 배우기도 쉽다는 장점이 있다.
예를 들어 다른 언어는 {}나 <> 같은 괄호로 코드 블록의 시작과 끝을 알리고 자동으로 들여쓰기(indentation)를 지원하지 않아 읽기가 힘든데 파이썬은 함수나 조건문을 선언하면 자동으로 코드가 들여쓰기가 되어 사용자가 읽기 편하게 해 준다. 또, 다른 언어들과 달리 변수 선언과 변수에 오는 값을 입력할 때 데이터 타입을 미리 지정해야 하는 것도 없고 기초 지식 없이도 어느 정도 내용을 이해할 수 있을 정도로 코드가 사람의 언어에 가깝게 작성되어 있다.
또 파이썬은 대량의 데이터를 빠르게 처리할 수 있다는 장점이 있다. 데이터 분석 측면에서 일반적인 수준의 데이터 분석은 엑셀로 충분히 처리할 수 있지만 지속적으로 발생하는 대량의 데이터를 처리할 때에는 엑셀만으로는 부족하다. 이 때 파이썬을 사용하면 엑셀과 비슷한 수식 계산, 함수, 그래프 등의 시각화뿐만 아니라 향후 예측까지 가능하고 반복되는 작업은 프로그래밍으로 처리할 수 있고 머신러닝, 딥려닝 등 다양한 분석이 가능하며 데이터 호환성도 좋아 분석 결과를 공유할 때도 좋다.
마지막으로 파이썬은 다양한 라이브러리를 지원하며 머신러닝, 딥려닝과 관련한 알고리즘을 불러와 적용해 실행하기만 하면 되서 편리하다.
위와 같은 이유로 좋은 데이터 분석가가 되기 위해서 파이썬을 배우면 좋다고 생각한다.
x = 2
y = 4
print(x+y) # 6
print(x-y) # -2
print(x*y) # 8
print(x/y) # 0.5
print(x**y) # 제곱 16
# 나눗셈 몫, 나머지
print(x//y) # 0
print(x%y) # 2
print("문자열은 문자, 단어들의 '집합'입니다.")
# 문자열은 문자, 단어들의 '집합'입니다.
print('문자열은 문자, 단어들의 "집합"입니다.')
# 문자열은 문자, 단어들의 "집합"입니다.
\\
print("\\'이스케이프\\"")
# '이스케이프"
print("\\'이스케이프\\"\\\\")
# '이스케이프"\\
print("백문이불여일견\\n백견이불여일타")
# 백문이불여일견
# 백견이불여일타
print(r"백문이불여일견\\n백견이불여일타")
# "백문이불여일견\\n백견이불여일타"
hi = "안녕"
more_politely = "하세요"
print(hi + more_politely) # 안녕하세요
print(hi*10) # 안녕안녕안녕안녕안녕안녕안녕안녕안녕안녕
# 문자열의 길이
print(len(hi)) # 2
# 문자열의 인덱싱과 슬라이싱
print(hi[0]) # 안
print(hi[-1]) # 녕
print(more_politely[:2]) # 하세
print(more_politely[2]) # 요
# 문자열 바꾸기
# 문자열.replace(타겟문자, 바꿀문자)
print(more_politely.replace("하세요", "요세하")) # 요세하
# 문자열 포멧팅
age = 10
print("%s%s, 저는 누구누구입니다" %(hi, more_politely))
print("%s%s, 저는 누구누구입니다. %d살이에요" %(hi, more_politely, age))
# format 함수를 이용한 포멧팅
print("{0}{1}, 저는 누구누구입니다".format(hi, more_politely))
# f-string
print(f"{hi}{more_politely}, 저는 누구누구입니다.")
# 소수점 표현 f-string
pi = 3.1415926535
# f"{실수:몇번째자리까지}"
print(f"{pi:0.2f}") # 소수점 3번째 자리에서 반올림됩니다. 3.14
print(f"{pi:0.3f}") # 소수점 4번째 자리에서 반올림됩니다. 3.142
# 문자열 관련 함수들
string = "aabbaeda"
# 개수 세기
print(string.count("a")) # 4
# 위치 찾기
print(string.find("e")) # 5
print(string.find("b")) # 찾는 문자가 여러개라면 가장 첫번째자리를 반환합니다. 2
print(string.find("z")) # -1 존재하지 않으면 -1을 반환합니다.
# index라는 함수도 위치를 찾는데 사용되나
# 차이로는 존재하지 않을시 에러를 발생시킵니다.
print(string.index("z")) # ValueError: substring not found
# 문자열 삽입
print(".".join(string)) # 각각 문자 사이에 "."을 삽입 a.a.b.b.a.e.d.a
# 대문자 소문자 변환
print(string.upper()) # AABBAEDA
print("AABBAEDA".lower()) # aabbaeda
# 공백 지우기
blank_string = " blank string "
# 오른쪽 공백 지우기
print(blank_string.rstrip()) # " blank string"
# 왼쪽 공백 지우기
print(blank_string.lstrip()) # "blank string "
# 양쪽 공백 지우기
print(blank_string.strip()) # "blank string"
# 문자열 나누기
split_string = "this : split string"
# split(기준으로나눌문자)
# split() 공백을 기준으로 나누겠다.
# split(":") : 을 기준으로 나누겠다
print(split_string.split()) # ['this', ':', 'split', 'string']
print(split_string.split(":")) # ['this ', ' split string']