파이썬 문법 (자료형, print)
- 변수 선언 및 자료형
변수 작명 방식
- snake_case: 뱀 케이스는 단어를 밑줄(_)로 구분하여 작명하는 방식입니다.
- 모든 단어는 소문자로 시작하며, 단어 사이에는 밑줄(_)을 사용합니다.
- PEP 8 – Style Guide for Python Code | peps.python.org
- 모든 대문자 (All Caps): 모든 문자를 대문자로 작명하는 경우, 해당 변수는 상수를 의미하며 일반적으로 변경되지 않는 값으로 사용됩니다.
- 이러한 변수들은 주로 상수로 사용되며, 보통 "스네이크 케이스"를 사용하여 작명됩니다.
_를 맨 앞에 붙인 변수:_를 변수 이름의 첫 글자로 사용하는 것은 해당 변수가 보통 외부에서 직접적으로 사용되지 않는 '내부적인' 변수임을 의미합니다.- 이러한 변수들은 주로 내부적으로 사용되며, 외부에서는 직접적으로 접근하지 않는 것이 좋습니다.
변수 이름 규칙:
- 유효한 문자: 변수 이름은 영문 알파벳(대소문자), 숫자(0-9), 밑줄(_)로 이루어집니다.
- 시작 문자: 변수 이름은 숫자로 시작할 수 없습니다.
- 변수 이름은 밑줄(_)이나 영문 알파벳으로 시작해야 합니다.
- 예약어 사용 금지: 파이썬 예약어는 변수 이름으로 사용할 수 없습니다.
- 예약어는 프로그래밍 언어에서 특별한 목적으로 사용되는 단어로, 변수 이름으로 사용될 수 없습니다.
- 예약어의 목록은 다음과 같습니다:
False,None,True,and,as,assert,async,await,break,class,continue,def,del,elif,else,except,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield. - 대소문자 구분: 파이썬은 대소문자를 구분합니다. 즉,
my_variable과My_Variable은 서로 다른 변수로 취급됩니다. - 명확하고 의미 있는 이름 사용: 변수 이름은 해당 변수가 나타내는 데이터나 역할을 잘 설명해야 합니다.
- 예를 들어,
count라는 변수 이름은 어떤 것을 세는지 명확히 알려주지만,x나temp와 같은 이름은 의미가 모호합니다.
예시를 통해 변수 이름 규칙을 보여드리겠습니다:
# 올바른 변수 이름
my_variable = 10
name = 'Alice'
num_students = 50
total_marks = 500
# 잘못된 변수 이름
2nd_place = 'Bob' # 숫자로 시작함
totalMarks = 500 # 대문자와 소문자를 혼용함
for = 'Loop' # 예약어를 변수 이름으로 사용함
이러한 변수 이름 규칙을 따르면 코드의 가독성을 높일 수 있고, 코드를 이해하고 유지보수하는 데 도움이 됩니다.
자료형:
- 정수 (int): 정수는 소수점이 없는 숫자를 나타냅니다.
- 양수, 음수, 또는 0일 수 있습니다.
- 예시:
x = 5
y = -10
z = 1000
- 부동소수점 (float): 부동소수점은 소수점이 있는 숫자를 나타냅니다.
- 정수 부분과 소수 부분으로 이루어져 있습니다.
- 예시:
pi = 3.14
euler = 2.71828
negative_float = -0.5
- 문자열 (str): 문자열은 문자들의 시퀀스입니다.
- 작은따옴표(
')나 큰따옴표(")로 둘러싸여 있습니다. - 예시:
greeting = '안녕하세요'
language = "파이썬"
number_as_string = '123'
- 부울 (bool): 부울은 참(True) 또는 거짓(False)을 나타냅니다.
- 조건문과 논리 연산에 주로 사용됩니다.
- 예시:
is_valid = True
is_invalid = False
- 리스트: 리스트는 여러 항목을 담는 순서가 있는 컬렉션입니다.
- 대괄호
[]를 사용하여 생성됩니다. - 예시:
fruits = ['사과', '바나나', '오렌지']
numbers = [1, 2, 3]
mixed_list = [1, 'two', 3.0]
- 튜플: 튜플은 변경할 수 없는 순서가 있는 컬렉션입니다.
- 괄호
()를 사용하여 생성됩니다. - 예시:
point = (10, 20)
rgb_values = (255, 128, 64)
- 사전 (dict): 사전은 키-값 쌍의 컬렉션입니다.
- 중괄호
{}를 사용하여 생성됩니다. - 예시:
person = {'이름': 'Alice', '나이': 30}
fruit_prices = {'사과': 1.5, '바나나': 2.0, '오렌지': 1.0}
- 집합: 집합은 중복을 허용하지 않는 컬렉션입니다.
- 중괄호
{}를 사용하여 생성됩니다. - 예시:
prime_numbers = {2, 3, 5, 7, 11}
unique_characters = {'a', 'b', 'c', 'd'}
각 코드 블록은 해당 자료형의 설명과 함께 예시를 포함하고 있습니다. 이러한 설명과 예시를 통해 각 자료형을 이해할 수 있을 것입니다.
- 출력
파이썬으로 결과물을 출력하거나 테스트를 해볼 때, 값을 출력하여 아는 방법이 있습니다.
그때 사용하는 것이 print라는 함수입니다.
한 문장 출력
print("Hello World")
# Hello World
print('Hello World')
# Hello World
C/C++에서는 ‘(작은 따옴표)는 문자를 “(큰 따옴표)는 문자열을 의미하지만,
파이썬에서는 “(큰 따옴표), ‘(작은 따옴표)의 구분이 없습니다.
※ 문자는 문자 ‘하나’를 의미하고, 문자열은 문자의 집합이라고 이해하면 될 것 같습니다.
공백을 두고 출력하기
- 값 사이에
,를 넣는 방법
print(1, 2)
# 1 2
sep을 사용하여 직접 설정하는 방법
print(1, 2, sep=" ") # 공백을 두고 print
# 1 2
print(1, 2, sep=",") # ,을 두고 print
# 1,2
print(1, 2, sep="/") # /을 두고 print
# 1/2
- end 속성 변경
print()는 end 값에 기본적으로 ‘\n’(Enter key)가 들어가 있기 때문에 알아서 다음 줄로 넘어갑니다. 하지만 end 값을 변경하면 다른 출력을 볼 수 있습니다.
print(1, end=' ')
print(2)
# 1 2
특수 문자 출력
다음과 같이 코드를 작성하게 되면 hi\\\ 출력을 예상하셨겠지만, 에러가 발생합니다.
그 이유는 문자열 안에서 명령어로 사용되는 특수 문자들 때문에 발생합니다.
간단히 말하여 문자로 쓰려고 했지만, 명령어로 인식하여 에러가 발생하는 것입니다.
print("hi\\\"
# error
| 문자 | 설명 |
|---|---|
| \n | 줄바꿈(enter) |
| \t | 탭 (tab) |
| \ | 백슬래시() 자체 |
| ’ | ‘(작은 따옴표) |
| ” | “(큰 따옴표) |
이를 해결할 수 있는 방법은 크게 두 가지가 있습니다.
- 특수 문자 앞에 백슬래시(
\)를 붙이는 방법
print("hi\\\\\\)
# hi\\\
“””또는‘’’를 사용하는 방법
print("""Hello World
Welcome to Inha Univ""")
# Hello World
# Welcome to Inha Univ
위 처럼 “”” 또는 ‘’’를 사용하게 되면, 사용자가 보는 그대로 출력을 하게 됩니다.
저 예제를 보면, \n(Enter key)가 World 뒤에 붙어있지만 그 또한 포함하여 출력을 한 것입니다.
변수를 포함한 출력
- 변수 출력
a = 1
b, c = 2, 3
d = a + b # d -> 3; 1 + 2
print('a =', a)
# a = 1
print('d =', d)
# d = 3
- 변수의 자료형 확인
toy = "lego"
pi = 3.1415926535
print(type(toy))
#
print(type(pi))
#
- 변수 포멧 이용; C-style
| 코드 | 설명 |
|---|---|
| %s | 문자열(String) |
| %c | 문자(Character) |
| %d | 정수(Integer) |
| %f | 실수(Floating-Point) |
a = 10
print("a = %d" % a)
# 10
b = "Hello"
print("b = %s" % b)
# Hello
print("a = %d \n b = %s" % (a, b))
# a = 10
# b = Hello
format함수 활용
x, y = 10, "code"
print("x is {0}" .format(x))
print("x is {new_x}" .format(new_x=x))
print("\n")
print("x is {0} and y is {1}" .format(x, y))
print("x is {new_x} and y is {new_y}" .format(new_x=x, new_y=y))
print("y is {1} and x is {0}" .format(x, y))
print("y is {new_y} and x is {new_x}" .format(new_x=x, new_y=y))
#print("x is {x}" .format(x)) # error
x is 10
x is 10
x is 10 and y is code
x is 10 and y is code
y is code and x is 10
y is code and x is 10
f-stringformat 이용 (권장)
x, y = 10, "code"
print(f"x is {x}")
print(f"y is {y}")
print(f"x is {x} and y is {y}")
x is 10
y is code
x is 10 and y is code
실수형 변수 소수점 수정 후 출력
- 변수 포멧 (%d, %s 등) 이용
x = 3.141592653
print("%.4f" % x)
# 3.1416
format사용
x = 3.141592653
print("{0:.4f}" .format(x))
# 3.1416
f-string사용
x = 3.141592653
print(f"{x:.4f}")
# 3.1416