오늘은 데이터 과학을 위한 파이썬 프로그래밍 책을 읽으면서 한 번 정리하고 싶은 부분에 대해서 정리함
CHAPTER2. 변수와 자료형
변수와 메모리
- 프로그래밍에서의 변수는 어떠한 값을 저장하는 장소라는 뜻으로 사용되며, 이 장소를 메모리라고 함.
- 즉, 변수에 값이 저장되는 공간을 메모리라고 하며, 이 변수의 저장 위치를 메모리 주소라고 함.
- 변수에 들어가는 값은 반드시 어떤 특정 메모리 주소에 할당됨.
CHAPTER3. 화면 입출력과 리스트
리스트 추가 및 삭제 함수
함수 | 기능 | 용례 |
append() | 새로운 값을 기존 리스트의 맨 끝에 추가 | color.append('white') |
extend() | 새로운 리스트를 기존 리스트에 추가(덧셈 연산과 같은 효과) | color.extend(['white', 'black']) |
insert() | 기존 리스트의 i번째 인덱스에 새로운 값을 추가(i번쨰 인덱스를 기준으로 뒤쪽의 인덱스는 하나씩 밀림) | color.insert(0, 'black') |
remove() | 리스트 내의 특정 값을 삭제 | color.remove('white') |
del | 특정 인덱스값을 삭제 | del color[0] |
CHAPTER4. 조건문과 반복문
if-else문
if <조건>:
<수행 명령 1-1>
<수행 명령 1-2>
else:
<수행 명령 2-1>
<수행 명령 2-2>
if-elif-else문
if <조건1>:
<수행 명령 1-1>
elif <조건2>:
<수행 명령 2-1>
else:
<수행 명령 3-1>
if __name=='__main__'
def add(x, y):
return x+y
if __name__=='__main__':
print(add(10,5))
- 이 구문을 넣는 가장 큰 이유는 해당 파일을 파이썬 셸에서 불러올(import) 떄 함수 안에 들어 있지 않은 코드들이 작동되지 않게 하기 위해서
- 만약에 해당 구문 없이 print() 함수로 구문을 작성한다면 해당 파일을 파이썬 셸에서 호출할 때 그 구문이 화면에 출력됨
- if __name=='__main__'이 있다면 그 안에 있는 코드들은 외부에서 호출하더라도 따로 실행되지 않음
def addition(x, y):
return x + y
def divided_by_2(x):
return x / 2
def main():
base_line = float(input("밑변의 길이는? "))
upper_edge = float(input("윗변의 길이는? "))
height = float(input("높이는? "))
print("넓이는:", divided_by_2(addition(base_line, upper_edge) * height))
if __name__ == "__main__":
main()
- 파이썬 파일을 실행하면 가장 먼저 if문으로 간 다음 main() 함수를 호출하는 구조
- main() 함수를 호출하는 것은 추천하는 방법은 아니지만, 매우 간단하게 사용할 수 있어 오래전부터 많이 사용해 온 방식
매개변수(parameter)와 인수(argument)
- 매개변수는 함수의 인터페이스 정의에 있어 어떤 변수를 사용하는지를 정의하는 것임(예를 들어, 'def f(x):'의 x를 매개변수)
- 그에 반해, 인수는 실제 매개변수에 대입되는 값을 뜻함
CHAPTER5. 함수
가변인수
def asterisk_test(a, b, *args):
return a + b + sum(args)
print(asterisk_test(1, 2, 3, 4, 5))
- 코드를 작성할 때, 가끔 함수의 매개변수 개수가 정해지지 않고 진행해야 하는 경우에 사용함
- 가변 인수는 *(asterisk라고 부름)로 표현할 수 있음
CHAPTER7. 자료구조
스택
word = input("Input a word: ")
world_list = list(word)
print(world_list)
result = []
for _ in range(len(world_list)):
result.append(world_list.pop())
print(result)
print(word[::-1])
- for문에 _기호가 있으면 해당 반복문에서 생성되는 값은 코드에서 사용하지 않는다는 뜻(range(len(world_list))에서 생성되는 값이 반목문 내에서 사용되지 않으므로 _로 할당받은 것)
딕셔너리
country_code={}
country_code={"America":1, "Korea":82}
# 딕셔너리의 키 출력
country_code.keys()
# 딕셔너리의 값 출력
country_code.values()
# 딕셔녀리의 키-값 출력
country_code.items()
CHAPTER8. 파이썬 스타일 코드1
리스트값에 인덱스를 붙여 출력: enumerate() 함수
for i, v in enumerate(['tic', 'tac', 'toe']):
print(i, v)
0 tic
1 tac
2 toe
리스트값을 병렬로 묶어 출력: zip() 함수
alist=['a1', 'a2', 'a3']
blist=['b1', 'b2', 'b3']
for a, b in zip(alist, blist):
print(a, b)
a1 b1
a2 b2
a3 b3
CHAPTER11. 모듈과 패키지
네임스페이스
- 네임스페이스는 모듈 호출의 범위를 지정
__init__.py
- 설치 시 확인해야 할 내용 등 메타데이터라고 할 수 있는 내용을 담고 있음
- 해당 패키지가 포함된 모듈에 관한 정보가 있음
- 파이썬 3.6 버전 이상에서는 __init__.py 파일을 만들지 않아도 큰 문제가 생기지 않음
CHAPTER12. 예외 처리와 파일
디렉터리 만들기
import os
os.mkdir("log")
- os모듈을 사용하면 디렉터리를 쉽게 만들 수 있으며, 디렉터리를 생성하는 코드는 log임
CHAPTER13. CSV와 로그 관리
import argparse # argparse 모듈의 호출
parser = argparse.ArgumentParser(description='Sum two integers.') # 기본 설정 도움말
parser.add_argument('-a',"--a_value", dest="a", help="A integers", type=int) # a 인자(argument) 추가
parser.add_argument('-b',"--b_value", dest="b", help="B integers", type=int) # b 인자(argument) 추가
args = parser.parse_args() # 입력된 커맨드 라인 인자 파싱(command line argument parsing)
print(args) # 결과 출력
print(args.a)
print(args.b)
print(args.a + args.b)
- 위의 코드를 'arg_sum.py'로 저장하고, cmd 창에 'python arg_sum.py -a 5, -b 3'으로 입력하면 다음과 같이 출력됨
Namespace(a=5, b=3)
5
3
8
출처: 최성철(2019). 데이터 과학을 위한 파이썬 프로그래밍.
'파이썬 기초' 카테고리의 다른 글
[파이썬] main, argparse (0) | 2023.05.08 |
---|---|
파이썬 기초 (0) | 2023.05.06 |