프로그래밍 언어/Python

[파이썬 개념 정리 4]파이썬 응용 개념 정리

ourkofe's story 2024. 6. 28. 00:52

이번 글은 코드잇 강의를 수강하면서 배운 내용을 주로 하여 정리되어 있습니다. (코드잇 스프린트 데이터 애널리스트 트랙 1기 훈련생)


모듈

다른 파이썬 프로그램에서 사용할 수 있는 파이썬 코드

코드가 길어지는 것을 방지하기 위해 코드를 여러 파일로 분리하고 모듈로 호출하여 코딩할 수 있다.

import 모듈

# 함수등을 만들어 둔 파일이 있다면 (파일 이름이 예를 들어 calculator.py라면) calculator안에는 더하기, 빼기, 곱하기, 나누기를 해주는 함수가 포함되어 있다.
import calculator # 만들어둔 모듈 호출 가능

print(calculator.add(2, 5))
print(calculator.multiply(3,3))

# 모듈명이 너무 길어 코드를 입력하는 데 불편하다면 축약 가능
import calculator as calc

print(calc.add(2, 5)) # 동일

# 다른 방법으로
from calculator import add, multiply # 이런 방식으로도 호출 가능

스탠다드 라이브러리 (표준 라이브러리)

파이썬에서 표준(기본)으로 제공하는 라이브러리로

기본적인 라이브러리에는 math, random, os가 있다.

  • math(수학적인 연산이 가능한 모듈)
import math

print(math.log10(100))
print(math.cos(0))
print(math.pi)
  • random(랜덤한 값을 만들어 내고 싶을때 사용하는 모듈)
import random

print(random.random()) # random.random은 0.0 과 1.0 사이의 랜덤한 수 출력
  • os(운영체제를 조작하기 위한 모듈)
import os

print(os.getlogin())
print(os.getcwd()) # 현재 디렉토리 출력

random 모듈

랜덤으로 숫자를 생성하는 다양한 함수들을 제공하는 라이브러리 입니다.

  • randint : 두 수 사이의 어떤 랜덤한 정수를 리턴하는 함수
    randint(a, b)를 통해 a ≤ N ≤ b를 만족하는 어떤 랜덤한 정수 N을 리턴하게 된다.
import random

print(random.randint(1, 20)) # 8
  • uniform : 두 수 사이의 랜덤한 소수를 리턴하는 함수
    uniform(a, b)를 통해 a ≤ N ≤ b를 만족하는 어떤 랜덤한 소수 N을 리턴하게 된다.
import random

print(random.uniform(0, 1)) # 0.08811632754196952

input 함수

함수를 입력할 경우 콘솔을 통해 사용자로부터 정보를 받아 코드가 진행되는 것이다.

name = input("이름을 입력하세요: ")
print(name) # 입력한 이름이 출력된다.

x = int(input("숫자를 입력하세요: ")) # input함수가 받는 사용자 입력은 항상 문자열이다.
print(x + 5)

파일 읽기

파이썬에서 파일을 가져오고 읽는 방법

with open('../data/ourkofe.txt', 'r') as f: # with open과 함께 첫번째 파라미터로 파일명 두번째 파라미터로 read의 약자로 r, 나중에 쓰고싶을때는 w를 쓴다.
    for line in f: # f라는 변수에 파일을 넣음
        print(line)

strip과 split

strip

파이썬에서 엔터는 \n 탭은 \t 공백은 "" 으로 사용할 수 있으며, \n,\t,""은 화이트 스페이스라고 한다.

print("hello\n")
print("hello")

#출력
hello

hello

strip은 어떤 문자열에서 앞뒤로 존재하는 화이트스페이스를 지워주는 함수이다.

# 예시
print("          abc    def     ".strip()) # 양쪽 끝의 화이트 스페이스를 제거
# abc    def

with open('../data/chicken.txt', 'r') as f:
    for line in f:
        print(line.strip()) # 엔터가 되어있는 데이터의 화이트스페이스가 제거되어 엔터없이 데이터가 정리된다.

split

문자열을 지정한 규칙으로 잘라서 리스트로 만들어 주는 함수이다.

my_string = "1. 2. 3. 4. 5. 6"
print(my_string.split(". ")) # ['1', '2', '3', '4', '5', '6'] ". "를 기준으로 잘라서 리스트로 만들어준다.


full_name = "Kim, Yuna"
name_data = full_name.split(", ") # ", "를 기준으로 잘라서 리스트로 만들어줌
last_name = name_data[0]
first_name = name_data[1]
print(first_name, last_name)

print("       \n\n    2     \t    3  \n  5 7 11  \n\n".split()) # ['2', '3', '5', '7', '11']
numbers = "       \n\n    2     \t    3  \n  5 7 11  \n\n".split()
print(numbers[0] + numbers[1]) # 문자열이기 때문에 23이 출력

파일 쓰기

파이썬에서 직접 내용을 작성하여 파일을 작성하는 방법

# 파일 쓰기
with open('../data/new_file.txt', 'w') as f: # 파일을 쓰고싶다면 w를 쓴다.
    f.write("Hello World!\n")
    f.write("My name is oukofe.\n")
    
# 파일 수정하기 
with open('../data/new_file.txt', 'a') as f: # 기존의 파일에 덮어쓰는 것이 아닌 새로 파일을 추가하고 싶다면 w가 아닌 a를 쓴다.
    f.write("Hello World!\n")
    f.write("My name is oukofe.\n") # 이 이름의 파일이 있다면 a로 추가로 기능
    f.write("i want to earn money.\n") # 파일의 이름이 없더라도 a를 통해 파일이 만들어짐

이번 글에서는 모듈과 스탠다드 라이브러리 / input / 파일 읽기 쓰기 / strip과 split 이 포함된 내용을 정리했으며, 파이썬을 통해 코드를 작성하는 경우에 모두 필수적인 개념들로 꼭 잊지 말고 알아가야 하는 내용인 것 같습니다.

글 읽어주셔서 감사합니다


출처 및 참고자료 : 코드잇 사이트 강의 '파이썬 응용하기' https://www.codeit.kr/topics/making-use-of-python

 

728x90