
Introduction to Python I (Python Basics I)
Introduction to Python I (Python Basics)¶
by JunPyo Park
Part of the Alpha Square Lecture Series:
νμ΄μ¬ κΈ°μ΄μ μλ£κ΅¬μ‘°, λ¬Έμμ΄, 쑰건문, λ°λ³΅λ¬Έ κ·Έλ¦¬κ³ ν¨μμ λν΄μ κ°λ¨νκ² μ λ¦¬ν΄ λ³΄μμ΅λλ€. μ£ΌνΌν° λ ΈνΈλΆ νκ²½μμ μμ±ν λ¬Έμμ΄κΈ° λλ¬Έμ μ£ΌνΌν° λ ΈνΈλΆμ μΌκ³ λ°λΌμ μ€μ΅ν΄ 보μλ©΄ μ½κ² μ΄ν΄νμ€μ μμ΅λλ€.
주석 코드(code comments)¶
μ£Όμ μ½λλ νλ‘κ·Έλλ¨Έκ° νλ‘κ·Έλ¨μ μμ€μ½λ μμ λ¨κΈ°λ λ©λͺ¨ μ
λλ€. μ£Όμμ λͺ©μ μ μμ€ μ½λλ₯Ό λͺ
νν νλκ²κ³Ό λλΆμ΄ λ€λ₯Έμ¬λλ€μ΄ μ½λλ₯Ό μ½κ² λ°λΌκ° μ μλλ‘ μλ΄ν΄μ£Όλ μν μ ν©λλ€. μ½λκ° μ€νλ λ μ£Όμμ²λ¦¬λ λͺ¨λ λ΄μ©μ 무μλ©λλ€. νμ΄μ¬μμ μ£Όμμ # μ ν΅ν΄ μμ±ν μ μμ΅λλ€(# μ£Όμ λ΄μ©
). #
μ΄ ν¬ν¨λ μ€μ μ΄λ€ λ΄μ©μ μ
λ ₯ν΄λ μ£Όμμ²λ¦¬ λ©λλ€.
# μ£Όμ μ²λ¦¬ μ°μ΅
# μ΄ μ€λ€μ νλ‘κ·Έλ¨μμ μ ν μν₯μ μ£Όμ§ μμ΅λλ€.
# # μ΄νμ μ΄λ€ λ΄μ©μ΄ μλ μ½λλ‘ μ€νλμ§ μμ΅λλ€.
ν° λ°μ΄ν μΈκ°λ₯Ό μ¬μ©ν μ£Όμ(""" μ΄κ³³μ μ
λ ΅λ ν
μ€νΈ """
)μ 보μ λΆλ€λ μμκ²λλ€. μ¬λ¬ μ€μ μ£Όμμ²λ¦¬λ₯Ό ν λ μ¬μ©λκΈ°λ νμ§λ§ μ ννκ² λ§νμλ©΄ μ΄λ docstring
μ΄λΌ λΆλ¦¬λ λ¬Έμμ΄ νμ
(string
)μ νΉμν ννμ
λλ€. docstring
μ ν¨μμ λͺ©μ κ³Ό κΈ°λ₯μ μ€λͺ
νλλ° μ£Όλ‘ μ¬μ©λ©λλ€.
"""docstring : special string"""
μ£Όμ μ²λ¦¬κ° λμ΄μλ λΆλΆμ΄ μλ€λ©΄ νμ μ μ΄ν΄λ³΄λ μ΅κ΄μ κ°μ§λ κ²μ΄ μ€μν©λλ€.
변수(Variables)¶
λ³μλ κ°μ μ΄λ¦μ λΆμ¬ μ¬μ©ν μ μλλ‘ ν΄μ€λλ€. μ΄λ€ κ°μ μ μ₯ν΄λκ³ λμ€μ λ°λ³΅μ μΌλ‘ μ¬μ©νκ² λ κ²½μ°, κ·Έ κ°μ μ΄λ¦μ λΆμ¬ λ³μμ μ μ₯ ν μ μμ΅λλ€. νλ‘κ·Έλλ°μμμ λ³μ μ¬μ©μ κΈ°λ³Έμ μΌλ‘ μνμμμ μ¬μ©κ³Ό μ μ¬νλ€κ³ μκ°νμλ©΄ λ©λλ€. νμ§λ§ νμ΄μ¬μ μΆκ°μ μΌλ‘ λ³μλ§λ€ λ€λ₯Έ λ°μ΄ν° νμ μ μ 곡ν©λλ€.
μ€λ μ΄ν΄λ³Ό κ°μ₯ κΈ°λ³Έμ μΈ λ³μ νμ
λ€μ integers(μ μν)
, floating point numbers(μμμ )
, booleans(μ°Έ/κ±°μ§)
, κ·Έλ¦¬κ³ strings(λ¬Έμμ΄)
μ΄ μμ΅λλ€.
integers(μ μν)
μ μνμμμ μ μμ κ°μ΅λλ€. νμ΄μ¬ λ΄μ₯ ν¨μμΈ print
ν¨μλ₯Ό ν΅ν΄ λ³μμ κ°κ³Ό νμ
μ μΆλ ₯ν΄ λ³Ό μ μμ΅λλ€.
my_integer = 50
print(my_integer, type(my_integer))
νμ
μ κ΄κ³μμ΄ λ³μλ λ±νΈ κΈ°νΈ(=
)λ₯Ό ν΅ν΄ κ°μ ν λΉν μ μμ΅λλ€. λ³μ μ΄λ¦μ λ/μλ¬Έμλ₯Ό ꡬλΆνκΈ°μ λ/μλ¬Έμλ₯Ό λ³κ²½ν κ²½μ° μμ ν λ€λ₯Έ λ³μκ° λ©λλ€.
one = 1
print(One)
첫 κΈμ¨κ° λλ¬ΈμμΈ One μ΄λΌλ λ³μλ κ°μ΄ ν λΉλμ§ μμκΈ° λλ¬Έμ μ€λ₯κ° λ°μν©λλ€.
float
μ΄λΌ λΆλ €μ§λ λ³μ νμ
μ μνμμ μ€μ(real number)λ₯Ό λνλΈλ€κ³ μκ°νμλ©΄ λ©λλ€. float
λ³μλ₯Ό μ μΈ νκΈ° μν΄μλ μμμ (.
)μ μ°μ΄μ£Όμκ±°λ ν λΉνλ €λ κ°μ΄ float μμ λνλ΄ μ£Όμ΄μΌ ν©λλ€.
my_float = 1.0
print(my_float, type(my_float))
my_float = float(1)
print(my_float, type(my_float))
int
ννμ λ³μλ€μ μμ«μ μ μλΌλ΄ λ²λ¦¬λ λ°λ©΄ float
ννλ νΉλ³ν μ§μκ° μλ€λ©΄ μμ«μ μ λ°μ¬λ¦Όνκ±°λ μλΌλ΄μ§ μμ΅λλ€. λ°λΌμ μμΉ κ³μ°μ μμ΄μλ float
ννμ λ³μκ° λ μ ν©νλ€κ³ ν μ μμ΅λλ€.
μ°Έκ³ ) μ΄μ μ λ°μ΄ν° κ°μ΄ float
ννμμ λνλ΄κΈ° μν΄ float()
μ΄λΌλ ν¨μλ₯Ό μ¬μ©νμμ΅λλ€. μ΄μ λ§μ°¬κ°μ§λ‘ int()
ν¨μλ₯Ό μ¬μ©νμ¬ λ°μ΄ν° κ°μ κ°μ λ‘ int
ννλ‘ μ²λ¦¬νλλ‘ ν μ μμ΅λλ€. μ΄λ, μμ«μ μ 무쑰건 λ²λ €μ§λλ€.
my_int = int(3.14159)
print(my_int, type(my_int))
μ΄λ₯Ό μμ©νμ¬ λ€μκ³Ό κ°μ΄ λ°μ¬λ¦Ό ν¨μλ₯Ό λ§λ€ μ μμ΅λλ€.
x = 3.49
int(x + 0.5)
x = 3.5
int(x + 0.5)
Strings(λ¬Έμμ΄)
νμ
μ ν
μ€νΈκ°μ μ μ₯ν μ μμ΅λλ€. μμ λ°μ΄ν('')λ ν° λ°μ΄ν("")λ₯Ό μ¬μ©νμ¬ λ¬Έμμ΄ λ³μλ₯Ό ν λΉν μ μμ΅λλ€.
my_string = 'This is a string with single quotes'
print(my_string)
my_string = "This is a string with double quotes"
print(my_string)
μμ λ°μ΄νμ ν° λ°μ΄ν λͺ¨λ μ¬μ© ν μ μκΈ°μ λ€μκ³Ό κ°μ΄ μμ λ°μ΄νλ ν° λ°μ΄ν μ체λ₯Ό λ¬Έμμ΄μ μ μ₯ν μ μμ΅λλ€.
my_string = '"Jabberwocky", by Lewis Carroll'
print(my_string)
my_string = "'Twas brillig, and the slithy toves / Did gyre and gimble in the wabe;"
print(my_string)
Booleans
, λλ bools
νμ
μ μ΄μ§ λ³μμ
λλ€. bool
νμ
μ True(μ°Έ)
κ³Ό False(κ±°μ§)
μ€ νλμ κ°λ§ κ°μ§ μ μμ΅λλ€. κ·Έλ κΈ° λλ¬Έμ μ΄μ§ λ³μλΌκ³ λΆλ¦¬λκ² μ
λλ€. μ΄λ° bool
νμ
μ νλ‘κ·Έλλ°μμ Logical Operators λΌλ μ΄λ¦μΌλ‘ νμ©λλλ° μμΈν λ΄μ©μ μΆν λ€λ£¨λλ‘ νκ² μ΅λλ€.
my_bool = True
print(my_bool, type(my_bool))
νμ΄μ¬μλ μμμ μ΄ν΄λ³Έ λ°μ΄ν° νμ μ΄μΈμλ λ§μ νμ λ€μ΄ μμ§λ§ μ΄κ²λ€μ΄ κ°μ₯ κΈ°λ³Έμ μΈ λ°μ΄ν° νμ μ΄κΈ°μ μ΄ν΄λ³΄μμ΅λλ€. μ΄λ² νν 리μΌμ μ§ννλ©΄μ μΆκ°μ μΌλ‘ λͺκ°μ§μ νμ λ€μ λ μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
기초 수학연산(Basic Math)¶
νμ΄μ¬μ κΈ°λ³Έμ μΌλ‘ λ΄μ₯λ μν ν¨μλ€μ μ 곡ν©λλ€. math ν¨ν€μ§λ₯Ό λΆλ¬μμ μΆκ°μ μΈ μν ν¨μλ€μ μ¬μ©ν μλ μμ΅λλ€.
+
, -
, /
, κ·Έλ¦¬κ³ *
μ κ°μ κΈ°λ³Έ 4μΉμ°μ°μ΄ μ§μλλ©° μ§μ κ³μ°μ **
, λλ¨Έμ§(modular)μ°μ°μ %
κΈ°νΈλ‘ κ³μ°μ΄ κ°λ₯ν©λλ€.
print('Addition: ', 2 + 2)
print('Subtraction: ', 7 - 4)
print('Multiplication: ', 2 * 5)
print('Division: ', 10 / 2)
print('Exponentiation: ', 3**2)
# 15λ₯Ό 4λ‘ λλ λλ¨Έμ§
print('Modulo:', 15 % 4)
μ΄λ° μ°μ°μ λ¬Όλ‘ λ³μμκ²λ μ μ©μ΄ κ°λ₯ν©λλ€.
first_integer = 4
second_integer = 5
print(first_integer * second_integer)
first_integer = 11
second_integer = 3
print(first_integer / second_integer)
μ΄μΈμ νμ΄μ¬μμ μμ£Ό μ°μ΄λ μν ν¨μλ€μ λ€μκ³Ό κ°μ΅λλ€.
abs()
round()
max()
min()
sum()
ν¨μμ΄λ¦μμ μ μΆν μ μλ― κ°κ°μ κΈ°λ₯μ μνν©λλ€. abs()
λ absolute value ν¨μλ‘μ¨ μ λκ°μ λ°νν©λλ€. round()
λ λ°μ¬λ¦Ό ν¨μλ‘ μ§μ λ μμμ μλ¦Ώμμ λ§κ² λ°μ¬λ¦Όλ κ°μ λ°νν©λλ€. Default κ°μ $0$ μ
λλ€. max()
μ min()
ν¨μλ μ«μμ΄(collection of numbers)μ λν΄ κ°κ° μ΅λκ°κ³Ό μ΅μκ°μ λ°νν©λλ€. sum()
ν¨μλ μ«μμ΄μ λν ν©μ λ°νν©λλ€. μ«μμ΄μ νμ΄μ¬μμ μ΄λ»κ² νννλμ§λ κ³§ μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€.
μ΄μΈ μΆκ°μ μΈ μν ν¨μλ math
ν¨ν€μ§λ₯Ό ν΅ν΄ λΆλ¬μ¬μ μμ΅λλ€.
import math
math λΌμ΄λΈλ¬λ¦¬μλ λ€μν μνν¨μλ€μ΄ ꡬμΆλμ΄ μμ΅λλ€. μμΈν λ΄μ©μ documentationμ ν΅ν΄ νμΈ κ°λ₯ν©λλ€.
print('Pi: ',math.pi)
print("Euler's Constant: ", math.e)
print('Cosine of pi: ', math.cos(math.pi))
my_list = [1, 2, 3]
print(my_list)
λκ΄νΈ μμ μΈλ±μ€λ₯Ό μ λ ₯νμ¬ λ¦¬μ€νΈ μμ λ΄μ©(element)μ μ κ·Όν μ μμ΅λλ€.
print(my_list[0])
print(my_list[2])
νμ΄μ¬μμ μΈλ±μ±μ μ«μ 0λΆν° μμν©λλ€. κΈΈμ΄κ° $n$μΈ λ¦¬μ€νΈκ° μλ€λ©΄ μ²μ λ΄μ©λ¬Όμ μΈλ±μ€ λ²νΈ $0$λ²μ μ μ₯λκ³ λ€μ λ΄μ©λ¬Όμ μΈλ±μ€ λ²νΈ $1$λ²μ μ μ₯λ©λλ€. λ°λΌμ λ§μ§λ§ λ΄μ©λ¬Όμ $n-1$λ² μΈλ±μ€ μμ μ μ₯λκ² λ©λλ€. μ‘΄μ¬ νμ§ μλ μΈλ±μ€μ μ κ·Όν κ²½μ° μλ¬ λ©μμ§κ° μΆλ ₯λκ² λ©λλ€.
print('The first, second, and third list elements: ',
my_list[0], my_list[1], my_list[2])
print('Accessing outside the list bounds causes an error: ',
my_list[3])
리μ€νΈμ λͺκ°μ λ΄μ©λ¬Όμ΄ μλμ§λ len()
ν¨μλ₯Ό ν΅ν΄ νμΈν μ μμ΅λλ€.
print(len(my_list))
리μ€νΈμ λ΄μ©λ¬Όμ λ³κ²½νκ³ μΆλ€λ©΄ λ€μκ³Ό κ°μ΄ ν΄λΉ μΈλ±μ€ κ°μ λ°κΎΈμ΄ μ£Όλ©΄ λ©λλ€.
print(my_list)
my_list[0] = 42
print(my_list)
μ΄λ string(λ¬Έμμ΄)
νμ
μ΄ μ²λ¦¬λλ λ°©μκ³Ό μμ ν λ€λ₯Έ λ°©μμ
λλ€. 리μ€νΈ
ꡬ쑰λ μμ κ°μ΄ λ΄μ©λ¬Όμ λ³κ²½μ΄ μμ λ‘κ² κ°λ₯νμ§λ§ string
νμ
κ³Ό κ°μ λͺλͺ λ°μ΄ν° νμ
μ κ²½μ° λ΄μ©λ¬Όμ λ³κ²½μ΄ λΆκ°λ₯ν©λλ€. μ΄μ κ°μ λ³κ²½λΆκ°λ₯(immutable) λ°μ΄ν° νμ
μ μΌλ¨ λ§λ€μ΄μ§λ©΄ μλ‘μ΄ κ°μ²΄λ₯Ό λ§λ€μ§ μλ μ΄μ λ³κ²½μ΄ λΆκ°λ₯ ν©λλ€.
my_string = "Strings never change"
my_string[0]
my_string[0] = 'Z'
μμμ μ€λͺ νμλ― λ¦¬μ€νΈλ μ΄λ€ λ°μ΄ν° νμ λ λ΄μ μ μμ΅λλ€. λ€μκ³Ό κ°μ΄ 리μ€νΈ μμ λ¬Έμμ΄μ μ μ₯ ν μ μμ΅λλ€.
my_list_2 = ['one', 'two', 'three']
print(my_list_2)
λν 리μ€νΈλ λ€μκ³Ό κ°μ΄ μ¬λ¬κ°μ§ μλ‘ λ€λ₯Έ νμ λ€μ νλ²μ λ΄μ μ μμ΅λλ€.
my_list_3 = [True, 'False', 42]
λ κ°μ§ 리μ€νΈλ₯Ό λΆμ¬μ νλλ‘ λ§λ€κ³ μΆλ€λ©΄ λ€μκ³Ό κ°μ΄ +
κΈ°νΈλ₯Ό ν΅ν΄ νλμ 리μ€νΈλ‘ λΆμΌ μ μμ΅λλ€.
my_list_4 = my_list + my_list_2 + my_list_3
print(my_list_4)
Slicing¶
리μ€νΈμμ νλμ λ°μ΄ν°κ° μλ νΉμ κ·Έλ£Ήμ λ°μ΄ν°μ μ κ·Όνκ³ μ ν λ μ¬λΌμ΄μ±(slicing) κΈ°λ²μ νμ© ν μ μμ΅λλ€. μ½λ‘ (:
) κΈ°νΈλ₯Ό ν΅ν΄ 리μ€νΈλ₯Ό μ¬λΌμ΄μ± ν μ μμ΅λλ€.
my_list = ['friends', 'romans', 'countrymen', 'lend', 'me', 'your', 'ears']
print(my_list[2:4])
μμ κ°μ΄ :
μ μ¬μ©νμ¬ λ¦¬μ€νΈ μμμ νΉμ μΈλ±μ€ κ·Έλ£Ήμ λν μ νμ ν μ μμ΅λλ€. μΈλ±μ€ 2λ² μμΉμ μλ λ°μ΄ν° λΆν° 4λ² λ³΄λ€ μμ μμΉμ μλ λ°μ΄ν°(2μ΄μ 4λ―Έλ§)μ μ κ·Όν λͺ¨μ΅μ
λλ€.
λ€μκ³Ό κ°μ΄ μ½λ‘ λ€μ μ«μλ₯Ό λΉμ΄λ€λ©΄ νΉμ μ§μ μ΄ν λͺ¨λ λ°μ΄ν°μ μ κ·Όν μ μμ΅λλ€.
print(my_list[1:])
μ΄μ λΉμ·νκ² μ½λ‘ μμ μ«μλ₯Ό λΉμ΄λ€λ©΄ νΉμ μ§μ μ΄μ κΉμ§μ λ°μ΄ν°μ μ κ·Όν μ μμ΅λλ€.
print(my_list[:4])
μμ μΈλ±μ€λ₯Ό μ
λ ₯ν κ²½μ° λ§μ§λ§ μΈλ±μ€λΆν° μΉ΄μ΄ν
νμ¬ ν΄λΉ λ°μ΄ν°μ μ κ·Ό ν μ μμ΅λλ€. μλ₯Ό λ€μ΄ λ€μκ³Ό κ°μ΄ -1
μΈλ±μ€μ μ κ·Όνλ€λ©΄ ν΄λΉ 리μ€νΈμ λ§μ§λ§ λ°μ΄ν° κ°μ΄ μΆλ ₯λ©λλ€.
print(my_list[-1])
0:7:2
μ κ°μ΄ μΈλ²μ§Έ μ«μλ₯Ό μ
λ ₯νμ¬ μ¬λΌμ΄μ±μ ν μ μμ΅λλ€. μΈλ²μ§Έ μ«μμ μλ―Έλ 건λλΈ κ°κ²©μ μ¬μ΄μ¦(step size) μ
λλ€.
print(my_list[0:7:2])
μμ μ½λλ₯Ό μμΈν μ΄ν΄λ³΄λ©΄ λ¨Όμ 0:7
μ μ 체 리μ€νΈλ₯Ό μ ννμμ μλ―Έν©λλ€(μΈλ±μ€ 0μμ 6κΉμ§λ₯Ό μλ―ΈνκΈ° λλ¬Έμ
λλ€). κ·Έλ¦¬κ³ λ§μ§λ§μ step size '2'λ₯Ό μ
λ ₯νμμ΅λλ€. κ·Έ κ²°κ³Ό 0
λ², 2
λ², 4
λ², 6
λ² μ ν΄λΉνλ λ°μ΄ν° κ°λ€μ΄ μΆλ ₯λ©λλ€.
μμ κ°μ΄ μ 체 리μ€νΈμ λν΄ step sizeλ₯Ό μ μ©ν κ²½μ° μλ μ½λμ κ°μ΄ μμκ³Ό λ λ²νΈμ ν΄λΉνλ κ°μ μλ΅ν΄λ 무κ΄ν©λλ€.
print(my_list[::2])
λͺ¨λ μ«μλ₯Ό μλ΅νκ³ :
λ§ μ
λ ₯ν κ²½μ° μλμ μΌλ‘ μ 체 리μ€νΈλ₯Ό μ ννκ² λ©λλ€.
print(my_list[:])
λ€μκ³Ό κ°μ΄ step size μμΉμ μμμΈ -1μ λ£μΌλ©΄ κ°λ¨νκ² μμμΌλ‘ λ°°μ΄λ 리μ€νΈλ₯Ό μ»μ μ μμ΅λλ€.
print(my_list[::-1])
numpy
μ κ°μ ν¨ν€μ§μλ νλ ¬μ νννλ μλ£κ΅¬μ‘°κ° λ°λ‘ μμ§λ§ νμ΄μ¬ μ체μλ νλ ¬μ ꡬννλ μλ£κ΅¬μ‘°κ° λ°λ‘ μμ΅λλ€. λ°λΌμ νμ΄μ¬ μ체μμ νλ ¬μ ꡬννκΈ° μν΄μλ 리μ€νΈ μμ 리μ€νΈ ꡬ쑰λ₯Ό μ¬μ©ν©λλ€.
νμ΄μ¬μ range()
λΌλ λ΄μ₯ν¨μλ₯Ό ν΅ν΄ 리μ€νΈλ₯Ό μμ±ν μ μμ΅λλ€. range()
ν¨μλ λͺκ°μ§ ννμ μ
λ ₯μ λ°μ μ μμΌλ©° list()
λͺ
λ Ήμ΄μ κ°μ΄ μ¬μ©νμ¬ μ
λ ₯ κ°μ λν 리μ€νΈλ₯Ό μ»μ μ μμ΅λλ€.
(νμ΄μ¬ 2μ κ²½μ° range()
λ₯Ό λ¨λ
μΌλ‘ μ¬μ©νλ©΄ 리μ€νΈλ₯Ό μ»μ μ μμ§λ§ νμ΄μ¬ 3 μμλ list(range())
μ κ°μ΄ μ¬μ©νμ¬μΌ μνλ 리μ€νΈλ₯Ό μ»μ μ μμ΅λλ€.)
b = 10
my_list = list(range(b))
print(my_list)
리μ€νΈ μ¬λΌμ΄μ± κΈ°λ²λ€μ λμΌνκ² μ μ©ν μ μμ΅λλ€.
a = 3
b = 10
my_list = list(range(a, b))
print(my_list)
a = 3
b = 10
step = 2
my_list = list(range(a, b, step))
print(my_list)
튜플(Tuples)¶
νν(Tuples)
μλ£κ΅¬μ‘°λ 리μ€νΈμ λΉμ·ν λ°μ΄ν° νμ
μΌλ‘ μλ‘ λ€λ₯Έ μ’
λ₯μ λ°μ΄ν° νμ
λ€μ λ΄μ©λ¬Όλ‘ κ°μ§ μ μμ΅λλ€. ν΅μ¬μ΄ λλ μ°¨μ΄μ μ νν
μ λ³κ²½λΆκ°λ₯(immutable)νλ€λ κ² μ
λλ€. λ΄μ©λ¬Όλ€ μ¬μ΄μ μΌν(,
)λ₯Ό μ
λ ₯νμ¬ ννμ μ μΈ ν μ μμ΅λλ€. μΌλ°μ μΌλ‘ ννμ μ μΈν λ κ΄νΈ(()
)λ₯Ό μ¬μ©νμ¬ λ¬Άμ΄μ£Όλ κ²μ΄ μ½λ κ°λ
μ±μ μ’μ΅λλ€.
my_tuple = 'I', 'have', 30, 'cats'
print(my_tuple)
my_tuple = ('I', 'have', 30, 'cats')
print(my_tuple)
μμμ μΈκΈνμλ― ννμ λ³κ²½λΆκ°λ₯ν©λλ€. μ΄λ€ λΆλΆλ μ κ·Όμ νμ¬ μμ μ΄ λΆκ°λ₯ν©λλ€.
# 'cats' κ°μ 'dogs' λ‘ λ°κΎΈλ € νλ€λ©΄ μλ¬κ° λ°μν©λλ€.
my_tuple[3] = 'dogs'
리μ€νΈ μ¬λΌμ΄μ± κΈ°λ²μ κ·Έλλ‘ μ¬μ©ν μ μμ΅λλ€.
print(my_tuple[1:3])
리μ€νΈμ λ§μ°¬κ°μ§λ‘ +
κΈ°νΈλ₯Ό ν΅ν΄ ν©μΉ μ μμ΅λλ€.
my_other_tuple = ('make', 'that', 50)
print(my_tuple + my_other_tuple)
λ€μκ³Ό κ°μ΄ ννμ μλ κ°λ€μ νμ΄μ(unpacking) κ° λ³μμ ν λΉ ν μ μμ΅λλ€.
str_1, str_2, int_1 = my_other_tuple
print(str_1, str_2, int_1)
μ΄λ κ² κ°λ€μ νμ΄μ€ λλ ννμ μλ κ°λ€μ΄ μμλλ‘ μΌμͺ½μ μ λ ₯ν λ³μλ€μ ν λΉλμ΄ μ§λλ€.
집합(Sets)¶
μ§ν©(Sets)
μλ£κ΅¬μ‘°λ μμκ° μκ³ (unordered) μ€λ³΅λ κ°μ μ κ±°νλ μλ£κ΅¬μ‘° μ
λλ€. νμ°½μμ μνμ±
맨 μμ λμ μ΄μ¬ν 곡λΆνλ μ§ν©μ κ°λ
κ³Ό κ±°μ μ μ¬νλ€κ³ μκ°νμλ©΄ λ©λλ€. Set
μ μ€κ΄νΈ ({}
)λ₯Ό μ¬μ©νμ¬ μ μν μ μμ΅λλ€.
things_i_like = {'dogs', 7, 'the number 4', 4, 4, 4, 42, 'lizards',
'man I just LOVE the number 4'}
print(things_i_like, type(things_i_like))
μΆλ ₯ κ²°κ³Όλ₯Ό μ΄ν΄λ΄€μ λ μ€λ³΅λμ΄ ν¬ν¨λ 4λ μ€λ³΅μ΄ μ κ±°λμ΄ νλ²λ§ μΆλ ₯λ κ²μ νμΈν μ μμ΅λλ€.
λ€μκ³Ό κ°μ΄ set()
ν¨μλ₯Ό ν΅ν΄ 리μ€νΈλ‘ λΆν° set
μλ£κ΅¬μ‘° ννλ₯Ό λ§λ€μ΄ λΌ μ μμ΅λλ€.
animal_list = ['cats', 'dogs', 'dogs', 'dogs', 'lizards', 'sponges',
'cows', 'bats', 'sponges']
animal_set = set(animal_list)
print(animal_set) # 리μ€νΈμμ μ€λ³΅λ κ°μ μ κ±° ν μ μμ΅λλ€.
len()
ν¨μλ₯Ό νμ©νμ¬ λͺ μ’
λ₯μ λλ¬Όμ΄ μλμ§ λ€μκ³Ό κ°μ΄ λ³Ό μ μμ΅λλ€.
print(len(animal_set))
Set
νμ
μ μμκ° μκΈ° λλ¬Έμ set[0]
μ κ°μ΄ νΉμ μΈλ±μ€ κ°μ ν΅ν΄ λ°μ΄ν°μ μ κ·Όν μ μμ΅λλ€. νμ§λ§ λ€μκ³Ό κ°μ΄ μ΄λ€ μμκ° λ€μ΄μλμ§ μ²΄ν¬λ κ°λ₯ν©λλ€.
# 'in' ν€μλλ₯Ό μ¬μ©νμ¬ 'cats' κ° animal_set μ λ€μ΄μλμ§ νμΈκ°λ₯ν©λλ€.
'cats' in animal_set
String 'cats' κ° animal_setμ λ€μ΄κ° μκΈ° λλ¬Έμ True κ°μ΄ λ°νλ©λλ€.
νμ°½μμ λ°°μ΄ κ΅μ§ν©κ³Ό ν©μ§ν©μ°μ°μ &
μ |
μ°μ°μλ₯Ό ν΅ν΄ ꡬνν μ μμ΅λλ€.
# κ΅μ§ν© μ°μ°μ μννμ¬ μΆλ ₯ν©λλ€.
print(animal_set & things_i_like)
# ν©μ§ν© μ°μ°μ μννμ¬ μΆλ ₯ν©λλ€.
print(animal_set | things_i_like)
μ΄ μΈμλ set
κ³Ό κ΄λ ¨λ λ€μν νμ΄μ¬ λ΄μ₯ν¨μλ€μ μ΄ν΄λ³΄μλ €λ©΄ 곡μ Documentation μ νμΈν΄ μ£ΌμΈμ.
딕셔너리(Dictionaries)¶
λμ
λ리λ λ νλμ κ°μ₯ μ€μν μλ£κ΅¬μ‘° ννλ‘ μ€κ΄νΈ({}
)μ μ½λ‘ (:
)μ μ¬μ©νμ¬ μ μν μ μμ΅λλ€.
μ€κ΄νΈλ λμ λ리μ μ²μκ³Ό λ λΆλΆμ λνλ΄κ³ μ½λ‘ κΈ°νΈλ ν€(key) μ κ°(value)μ μμ λνλ λλ€. λμ λ리λ λ³Έμ§μ μΌλ‘ key-valueμ μμΌλ‘ μ΄λ£¨μ΄μ§ μ§ν©(set) μλ£κ΅¬μ‘° μ λλ€. λμ λ리μ ν€(key)λ λ³κ²½λΆκ°λ₯ν μλ£ν μ΄μ΄μΌ ν©λλ€. λ°λΌμ λ¬Έμμ΄(string)κ³Ό νν(tuple)μ ν€(key)λ‘ μ°μΌ μ μμ΅λλ€. Key κ°λ€μ μΆκ°λκ±°λ μμ κ° κ°λ₯ν©λλ€.
μλμ μμ λ λμ
λ리λ₯Ό μμ±νλ μμ μ
λλ€. μ¬κΈ°μ Keyλ μ±
μ μ₯λ₯΄λ₯Ό λνλ΄λ string
νμ
μ λ°μ΄ν°μ΄κ³ valueλ list
νμ
μΌλ‘ ν΄λΉ Keyμ μνλ μ±
λ€μ λ΄κ³ μμ΅λλ€.
my_dict = {"High Fantasy": ["Wheel of Time", "Lord of the Rings"],
"Sci-fi": ["Book of the New Sun", "Neuromancer", "Snow Crash"],
"Weird Fiction": ["At the Mountains of Madness", "The House on the Borderland"]}
λ€μκ³Ό κ°μ΄ μ κ·Όμ μνλ Keyλ₯Ό μ λ ₯νμ¬ ν΄λΉνλ Valueλ₯Ό νμΈν μ μμ΅λλ€.
print(my_dict["Sci-fi"])
μ΄λ€ Keyκ°μ μ°κ²°λ Valueλ₯Ό μμ λ‘κ² μμ ν μ μμ΅λλ€.
my_dict["Sci-fi"] = "I can't read"
print(my_dict["Sci-fi"])
μλ‘μ΄ key-value μμ μΆκ° νκ³ μ νλ€λ©΄ λ€μκ³Ό κ°μ΄ μ μΈν΄ μ£Όλ©΄ λ©λλ€.
my_dict["Historical Fiction"] = ["Pillars of the Earth"]
print(my_dict["Historical Fiction"])
print(my_dict)