본문 바로가기
파이썬 기초

[데이터 과학을 위한 파이썬 프로그래밍] 파이썬 기초

by 나연하야 2023. 6. 2.

오늘은 데이터 과학을 위한 파이썬 프로그래밍 책을 읽으면서 한 번 정리하고 싶은 부분에 대해서 정리함

 

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