Variables & Simple Data Types / 변수와 간단한 데이터 타입

2.1 Variables / 변수

  • Variables are used to store information to be used in a program.
    변수는 프로그램에서 사용할 정보를 저장하는 데 사용됩니다.
  • They are often described as boxes you can store values in.
    그들은 종종 당신이 값들을 저장할 수 있는 상자들로 묘사됩니다.
  • But it’s better to think of them as labels you can assign to values.
    그러나 그것들을 값들에 할당할 수 있는 라벨들로 생각하는 것이 더 좋습니다.
# 2.1_variables.py
message = "Hello World!"
print(message)

Variable Rules / 변수 규칙

Keep the following variable rules in mind / 다음 변수 규칙을 기억하세요.

  1. Naming: only letters (upper / lower), underscores (no spaces), and numbers (cannot start with a number)
    이름 지정: 문자(대문자/소문자), 밑줄(공백 없음), 숫자(숫자로 시작할 수 없음)만 사용
  2. Avoid using Python keywords and function names
    Python 키워드와 함수 이름을 사용하지 마세요.
  3. Variables should be short but descriptive (like message or msg instead of just m)
    변수는 짧지만 설명적이어야 합니다. (m이 아닌 messagemsg와 같이)
  4. UPPER_CASE is used for constants (we’ll study these later)
    UPPER_CASE는 상수에 사용됩니다. (나중에 이것들을 공부할 것입니다.)
  5. Correct spelling doesn’t matter, but the same spelling does
    맞춤법은 중요하지 않지만, 같은 맞춤법은 중요합니다.
# 2.2_variable_names.py
mesage = "Hello World!"
print(message) # NameError: name 'message' is not defined

mesage = "Hello World!"
print(mesage) # Hello World!

2.2 Strings / 문자열

  • Strings are a series of characters.
    문자열은 문자들의 연속입니다.
  • They are surrounded by single or double quotes.
    그들은 작은 따옴표나 큰 따옴표로 둘러싸여 있습니다.
  • You can use single quotes inside double quotes and vice versa.
    큰 따옴표 안에 작은 따옴표를 사용하거나 그 반대로 할 수 있습니다.
# 2.3_strings.py
message = "Hello World!"
print(message)

message = 'Hello World!'
print(message)

message = "Hello 'World'!"
print(message)

message = 'Hello "World"!'
print(message)

message = 'Hello 'World'!'
print(message) # SyntaxError: invalid syntax

String Methods / 문자열 메소드

  • We can change the case of a string using various methods.
    우리는 다양한 방법을 사용하여 문자열의 대소문자를 변경할 수 있습니다.
  • A method is an action that Python can perform on a piece of data.
    메소드는 Python이 데이터 조각에서 수행할 수 있는 작업입니다.
  • The dot (.) after the variable name tells Python to perform the action on the variable.
    변수 이름 뒤의 점(.)은 Python에게 변수에서 작업을 수행하도록 지시합니다.
# 2.4_string_methods.py
name = "ada lovelace"
print(name.title()) # Ada Lovelace
print(name.upper()) # ADA LOVELACE
print(name.lower()) # ada lovelace

Note: The lower() method is particularly useful for storing data.
참고: lower() 메소드는 데이터를 저장하는 데 특히 유용합니다.

Combining and Formatting Strings / 문자열 결합 및 서식 지정

  • We can also combine strings using concatenation (+) or f-strings.
    우리는 문자열을 연결할 수도 있습니다. (+) 또는 f-strings를 사용합니다.
  • The f is for format, and Python replaces the name of any variable in braces with its value.
    fformat을 의미하며, Python은 중괄호 안의 모든 변수 이름을 해당 값으로 대체합니다.
  • F-strings were introduced in Python 3.6. Before this, we used the format() method.
    F-strings는 Python 3.6에서 소개되었습니다. 이전에는 format() 메소드를 사용했습니다.
# 2.5_combining_strings.py
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name) # ada lovelace

# Using f-strings
print(f"Hello, {full_name.title()}!") # Hello, Ada Lovelace!

# Using format
message = "Hello, {}!".format(full_name.title())

Adding Whitespace to Strings / 문자열에 공백 추가

  • We can add whitespace to strings using tabs (\t) and newlines (\n).
    우리는 탭(\t)과 줄바꿈(\n)을 사용하여 문자열에 공백을 추가할 수 있습니다.
# 2.6_whitespace.py
print("Languages:\n\tPython\n\tC\n\tJavaScript")

Stripping Whitespace from Strings / 문자열에서 공백 제거

  • We can also strip whitespace from strings using the rstrip(), lstrip(), and strip() methods.
    우리는 rstrip(), lstrip(), strip() 메소드를 사용하여 문자열에서 공백을 제거할 수도 있습니다.
# 2.6_whitespace.py
favorite_language = 'python   '
print(favorite_language.rstrip()) # python

favorite_language = '   python'
print(favorite_language.lstrip()) # python

favorite_language = '   python   '
print(favorite_language.strip()) # python

2.3 Numbers and Operators / 숫자와 연산자

  • Python supports integers (whole numbers) and floating-point numbers (decimal numbers).
    Python은 정수(정수)와 부동 소수점 수(소수점 수)를 지원합니다.
  • You can add (+), subtract (-), multiply (*), and divide numbers (/).
    숫자를 더하고(+), 빼고(-), 곱하고(*), 나눌 수 있습니다(/).
# 2.7_operators.py
print(2 + 3) # 5
print(3 - 2) # 1
print(2 * 3) # 6
print(3 / 2) # 1.5

Special Operators / 특수 연산자

  • You can also use exponents (**), find remainders (%), and perform floor division (//) which is like regular division except it rounds down to the nearest whole number.
    지수(**)를 사용하거나 나머지(%)를 찾거나 정수 나눗셈(//)을 수행할 수도 있습니다. 이것은 일반적인 나눗셈과 비슷하지만 가장 가까운 정수로 내림 처리합니다.
# 2.7_operators.py

# Exponents / 지수
print(3 ** 2) # 9
print(3 ** 3) # 27
print(10 ** 6) # 1000000

# Remainders / 나머지
print(4 % 2) # 0
print(5 % 2) # 1
print(6 % 2) # 0
print(7 % 2) # 1

# Floor division / 정수 나눗셈
print(4 // 2) # 2
print(5 // 2) # 2
print(6 // 2) # 3
print(7 // 2) # 3

Order of Operations / 연산 순서

  • You can use parentheses to modify the order of operations.
    괄호를 사용하여 연산 순서를 수정할 수 있습니다.
# 2.7_operators.py
print(2 + 3 * 4) # 14
print((2 + 3) * 4) # 20

Floats / 부동 소수점 수

  • Performing calculations with floats always results in a float.
    부동 소수점 수로 계산하면 항상 부동 소수점 수가 됩니다.
  • But sometimes the calculation is not exact.
    그러나 때로는 계산이 정확하지 않습니다.
  • Division operations always result in floats.
    나눗셈 연산은 항상 부동 소수점 수가 됩니다.
# 2.8_floats.py
print(0.1 + 0.1) # 0.2
print(0.2 + 0.2) # 0.4
print(2 * 0.1) # 0.2
print(2 * 0.2) # 0.4

# Imprecise calculations / 부정확한 계산
print(0.2 + 0.1) # 0.30000000000000004
print(3 * 0.1) # 0.30000000000000004

# Division always results in floats / 나눗셈은 항상 부동 소수점 수가 됩니다
print(4 / 2) # 2.0
print(5 / 2) # 2.5
print(6 / 2) # 3.0
print(7 / 2) # 3.5

Underscores in Numbers / 숫자에 밑줄

  • You can use underscores in numbers to make them easier to read.
    숫자에 밑줄을 사용하여 읽기 쉽게 만들 수 있습니다.
# 2.9_special_numbers.py
universe_age = 14_000_000_000
print(universe_age) # 14000000000

man_won = 1_0000
print(man_won) # 10000

ship_man_won = 10_0000
print(ship_man_won) # 100000

Multiple Assignment / 다중 할당

  • Multiple assignment allows you to assign values to more than one variable using a single line.
    다중 할당을 사용하면 한 줄에 여러 변수에 값을 할당할 수 있습니다.
# 2.9_special_numbers.py
x, y, z = 0, 10, 100
print(x, y, z) # 0 10 100

2.3.6 Constants / 상수

  • A constant DOES NOT change during the execution of a program.
    상수는 프로그램 실행 중에 변경되지 않습니다.
  • Constants are usually written in all uppercase.
    상수는 일반적으로 모두 대문자로 작성됩니다.
# 2.9_special_numbers.py
NUM_STUDENTS = 5

2.4 Comments / 주석

  • Comments (#) are used to explain code.
    주석(#)은 코드를 설명하는 데 사용됩니다.
  • Python ignores comments when running the program.
    Python은 프로그램을 실행할 때 주석을 무시합니다.
  • As your programs become longer and more complicated, you should add comments to clarify the code.
    프로그램이 길고 복잡해지면 코드를 명확히 하기 위해 주석을 추가해야 합니다.
# 2.10_comments.py
# Say hello to everyone.
print("Hello Python people!")

Commenting Guidelines / 주석 지침

  • Comments can be on their own line or at the end of a line of code.
    주석은 자체 행에 있거나 코드 행의 끝에 있을 수 있습니다.
  • Multi-line comments are usually surrounded by triple quotes (""" or ''').
    여러 줄의 주석은 일반적으로 삼중 따옴표(""" 또는 ''')로 둘러싸여 있습니다.
# 2.10_comments.py
# Say hello to everyone.
print("Hello Python people!")

print("Hello Python people!") # Say hello to everyone.

"""
Say hello to everyone.
모두에게 인사하세요.
"""
print("Hello Python people!")

'''
Say hello to everyone.
모두에게 인사하세요.
'''
print("Hello Python people!")

Comments for Debugging / 디버깅을 위한 주석

  • Comments are useful for explaining what your code does, but they are also useful for debugging.
    주석은 코드가 무엇을 하는지 설명하는 데 유용하지만, 디버깅에도 유용합니다.
  • If you’re getting an error, try commenting out the code that you think is causing the error.
    오류가 발생하면 오류의 원인이라고 생각되는 코드에 주석을 달아보세요.
  • If the error disappears, you’ve found the problem.
    오류가 사라지면 문제를 찾은 것입니다.
# 2.10_comments.py
message = "Hello Python people!"
# print(mesage) # NameError: name 'mesage' is not defined

Comments for Clarity / 명확성을 위한 주석

  • The best comments are those that explain the what, why, and how of the code.
    가장 좋은 주석은 코드의 무엇, , 그리고 어떻게를 설명하는 주석입니다.
  • Comments are useful for when you come back to your code after a long time.
    오랜 시간이 지난 후에 코드로 돌아올 때 주석이 유용합니다.
  • You will probably forget why you wrote the code the way you did if you don’t add comments.
    주석을 추가하지 않으면 코드를 작성한 이유를 잊어버릴 수도 있습니다.

2.5 Zen of Python / 파이썬의 신조

  • The Zen of Python is a collection of 19 principles that influence the design of the Python language.
    파이썬의 신조는 파이썬 언어의 설계에 영향을 미치는 19개의 원칙의 모음입니다.
  • It was written by Tim Peters, one of the most prolific Python contributors.
    가장 많은 Python 기여자 중 한 명인 Tim Peters가 작성했습니다.
  • You can read the Zen of Python by typing import this into the Python interpreter.
    Python 인터프리터에 import this를 입력하여 파이썬의 신조를 읽을 수 있습니다.
import this
  • The Zen of Python is also available online.
    파이썬의 신조는 온라인 에서도 볼 수 있습니다.