[파이썬 기초] print / input / 주석

2026. 6. 15. 20:00·BI&Programming-Tools/Python

print

print()는 값을 터미널에 출력하는 함수입니다.

가장 기본적인 출력 수단이며, 디버깅 시에도 자주 사용합니다.

기본 사용법

print("Hello, World!")         # Hello, World!
print(42)                      # 42
print(3.14)                    # 3.14
print(True)                    # True
print([1, 2, 3])               # [1, 2, 3]


여러 값을 한꺼번에 출력할 수 있으며, 기본적으로 값 사이에 공백이 들어갑니다.

sample = "sample_01"
count = 15000000
print(sample, count)           # sample_01 15000000

주요 옵션

# sep: 값 사이의 구분자 지정 (기본값: 공백)
print("BRCA1", "TP53", "EGFR", sep=", ")    # BRCA1, TP53, EGFR
print("sample_01", "Homo sapiens", sep="\t") # 탭으로 구분

# end: 출력 끝에 붙는 문자 지정 (기본값: 개행 \n)
print("processing...", end=" ")
print("done")
# processing... done (같은 줄에 출력)

# 여러 값을 줄바꿈 없이 반복 출력
for i in range(3):
    print(i, end=" ")
# 0 1 2

포맷팅과 함께 사용

sample_id = "sample_01"
gc_content = 0.512
read_count = 15000000

# f-string (가장 많이 사용)
print(f"Sample: {sample_id}, GC: {gc_content:.2%}, Reads: {read_count:,}")
# Sample: sample_01, GC: 51.20%, Reads: 15,000,000

파일에 출력

file 옵션으로 출력 대상을 파일로 바꿀 수 있습니다.

with open("output.txt", "w") as f:
    print("Sample: sample_01", file=f)
    print("Read count: 15000000", file=f)


표준 에러로 출력하려면 sys.stderr를 사용합니다.

import sys
print("Error: file not found", file=sys.stderr)


로그성 메시지나 오류 메시지를 표준 출력과 분리해서 처리할 때 유용합니다.


input

input()은 사용자로부터 입력을 받는 함수입니다.
입력받은 값은 항상 문자열(str)로 반환됩니다.

기본 사용법

name = input("이름을 입력하세요: ")
print(f"입력한 이름: {name}")
sample_id = input("Sample ID를 입력하세요: ")
print(f"Processing {sample_id}...")

타입 변환

input()은 항상 문자열을 반환하므로 숫자가 필요한 경우 변환이 필요합니다.

count = int(input("읽을 줄 수를 입력하세요: "))
threshold = float(input("임계값을 입력하세요: "))

 

잘못된 값이 입력되면 ValueError가 발생합니다.

입력값이 불확실할 때는 예외 처리를 함께 사용합니다.

try:
    threshold = float(input("임계값을 입력하세요: "))
except ValueError:
    print("올바른 숫자를 입력해주세요.")
    threshold = 0.05    # 기본값

스크립트에서 input 대신 인자 사용

실제 분석 스크립트에서는 input()보다 커맨드라인 인자(sys.argv 또는 argparse)를 사용하는 경우가 많습니다.

input()은 인터랙티브한 입력이 필요한 경우에 사용하고, 자동화된 파이프라인에서는 인자 방식이 더 적합합니다.

import sys

# 커맨드라인 인자로 파일명 받기
input_file = sys.argv[1]
print(f"Processing: {input_file}")
python script.py sample_01.fastq


주석

주석은 코드 실행에 영향을 주지 않으며, 코드의 의도나 설명을 기록하는 데 사용합니다.

한 줄 주석

#으로 시작합니다.

# 이후의 내용은 모두 주석으로 처리됩니다.

# GC 함량 계산
gc = (seq.count("G") + seq.count("C")) / len(seq)

result = gc * 100    # 퍼센트로 변환

여러 줄 주석

파이썬에는 공식적인 여러 줄 주석 문법이 없습니다.

일반적으로 #을 여러 줄에 걸쳐 사용합니다.

# 이 함수는 FASTQ 파일에서 시퀀스를 읽어
# GC 함량을 계산하고 결과를 반환합니다.
# 입력: 파일 경로 (str)
# 출력: GC 함량 (float)
def calc_gc(filepath):
    pass

삼중 따옴표(""")는 실행되지 않는 문자열이기 때문에 주석처럼 사용하는 경우가 있지만, 이는 독스트링(docstring)으로 사용하는 방식이지 진짜 주석이 아닙니다.

독스트링 (docstring)

함수, 클래스, 모듈의 첫 줄에 삼중 따옴표로 작성하는 문서 문자열입니다.

help() 함수나 IDE에서 함수 설명을 보여줄 때 활용됩니다.

def calc_gc(seq):
    """
    DNA 시퀀스의 GC 함량을 계산합니다.

    Args:
        seq (str): DNA 시퀀스 문자열

    Returns:
        float: GC 함량 (0~1 사이의 값)
    """
    g = seq.count("G")
    c = seq.count("C")
    return (g + c) / len(seq)

help(calc_gc)    # 독스트링 내용 출력

주석 작성 팁

코드 자체가 무엇을 하는지는 코드를 읽으면 알 수 있습니다.

좋은 주석은 코드가 왜 그렇게 작성되었는지, 어떤 의도인지를 설명합니다.

# 좋지 않은 주석: 코드를 그대로 설명
i = i + 1    # i에 1을 더함

# 좋은 주석: 의도를 설명
i = i + 1    # 헤더 줄을 건너뛰기 위해 인덱스 1부터 시작

 

임시로 코드를 비활성화할 때도 #을 사용합니다.

# print(debug_info)    # 디버깅용, 배포 전 제거 예정


정리표

항목 설명
print(값) 터미널에 출력
print(a, b, sep=",") 구분자 지정 출력
print(값, end="") 줄바꿈 없이 출력
print(값, file=f) 파일에 출력
input("안내문") 사용자 입력 받기 (항상 str 반환)
# 한 줄 주석
"""...""" 독스트링 (함수/클래스 문서화)

 

'BI&Programming-Tools > Python' 카테고리의 다른 글

[파이썬 기초] 반복문 (while, for, comprehension)  (0) 2026.06.16
[파이썬 기초] 조건문과 연산자  (0) 2026.06.15
[파이썬 기초] 딕셔너리, 셋, 불리언  (0) 2026.06.15
[파이썬 기초] 리스트와 튜플  (0) 2026.06.15
[파이썬 기초] 숫자와 문자열 다루기  (0) 2026.06.15
'BI&Programming-Tools/Python' 카테고리의 다른 글
  • [파이썬 기초] 반복문 (while, for, comprehension)
  • [파이썬 기초] 조건문과 연산자
  • [파이썬 기초] 딕셔너리, 셋, 불리언
  • [파이썬 기초] 리스트와 튜플
데이터로 읽는 생명
데이터로 읽는 생명
is-note 님의 블로그 입니다.
  • 데이터로 읽는 생명
    In Silico Note
    데이터로 읽는 생명
  • 전체
    오늘
    어제
    • 분류 전체보기 (190)
      • Bio-Knowledge (16)
        • 분자생물학 & 유전학 기초 (0)
        • 전사체학 & 유전자 발현 (0)
        • 구조생물학 & 단백질 (0)
        • 싱글셀 & 다중오믹스 (0)
        • 임상유전학 & 질환 데이터 (0)
      • Programming (4)
        • API (4)
      • BI&Programming-Tools (111)
        • File Formats (14)
        • Linux & Bash Script (38)
        • Python (35)
        • R (11)
        • 통계 (8)
        • Pipeline Manager (0)
        • Etc (5)
      • Bio Data Analysis (28)
        • 서열분석개론 (6)
        • WGS(Whole Genome Seq) (11)
        • WES(Whole Exome Seq) (2)
        • RNA-Seq (4)
        • Metagenome (2)
        • Non-human Resequencing (1)
        • 임상유전체 분석 (1)
        • Multi-Omics (1)
      • Bio-Trends & Tech (1)
      • 코딩테스트 연습 (30)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    데이터분석
    fasta
    통계
    리눅스
    wgs
    유전체분석
    생물정보학
    파이썬연습
    R
    리눅스기초
    코딩테스트
    분자생물학
    ngs
    bioinformatics
    GATK
    FASTQ
    파일포맷
    R기초
    파이썬기초
    파이썬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
데이터로 읽는 생명
[파이썬 기초] print / input / 주석
상단으로

티스토리툴바