ν¨μκΈ°μ΄
κΈ°μ΄
-ν¨μ
:μ΄λ€ μΌμ μννλ μ½λμ λ©μ΄λ¦¬, μ½λμ λ¬Άμ
-ν¨μμ μ₯μ
: νμν λλ§λ€ νΈμΆ κ°λ₯
(λ°λ³΅μ μΌλ‘ μνν΄μΌ νλ μ
무λ₯Ό ν λ²λ§ μμ±ν΄ λκ³ νμν λλ§λ€ νΈμΆνμ¬ μ¬μ©)
:μ½λμ μΊ‘μν
μΈν°νμ΄μ€λ μ½λμ μ
λ ₯ λλκ°κ³Ό μν κ²°κ³ΌμΈ μΆλ ₯κ°μ λͺ
νν νλ€λ κ²
(νν λΈλλ°μ€λΌκ³ λ νλλ°, μΈν°νμ΄μ€κ° μ μ μλ ν¨μλΌλ©΄ μ½λμ λ΄λΆ ꡬ쑰λ₯Ό λͺ°λΌλ ν¨μλ₯Ό μ¬μ©νλ λ°μλ μ무 λ¬Έμ κ° μμ)
-ν¨μμ μ μΈ
1) defλ ‘definition’μ μ€μλ§λ‘ ν¨μ μ μ μμμ μλ―Έ
2)ν¨μμ΄λ¦ (μΌλ°μ μΌλ‘ λ°λ₯΄λ κ·μΉμ΄ μ‘΄μ¬)
:μλ¬Έμ μ
λ ₯, λμ΄μ°κΈ° λμ _κΈ°νΈ μ¬μ©
:λμ¬μ λͺ
μ¬λ₯Ό ν¨κ» μ¬μ© (ex.find_number)
:μ€μλ§λ³΄λ¨ μ§§κ³ λͺ
λ£ν μ΄λ¦ μ€μ
3)맀κ°λ³μ
:ν¨μμμ μ
λ ₯κ°μΌλ‘ μ¬μ©νλ λ³μλ₯Ό μλ―Ένλ©°, 1κ° μ΄μμ κ°μ μ μ μ μμ
4)λͺ
λ Ήλ¬Έ
:λ°λμ λ€μ¬μ°κΈ°ν ν μ½λλ₯Ό μ
λ ₯ν΄μΌ ν¨.
μνν΄μΌ νλ μ½λλ μΌλ°μ μΈ μ½λμ κ°μ.
ifλ forλ¬Έ λ±μ μ μ΄λ¬Έμ μ¬μ©ν μλ μκ³ , κ³ κΈ νλ‘κ·Έλλ° κΈ°λ² μΌλ‘ ν¨μ μμ ν¨μλ₯Ό μ¬μ©νκΈ°λ ν¨
def calculate_rectangle_area(x, y)
return x * y
ν¨μλͺ
μ calculate_rectangle_areaμ΄κ³ ,
xμ yλΌλ 2κ°μ 맀κ°λ³μ μ¬μ©, returnμ κ°μ λ°ννλ ν¨μ
-ν¨μμ μ€ν μμ
def calculate_rectangle_area(x, y)οΌ
return x * y
rectangle_x = 10
rectangle_y = 20
print("μ¬κ°ν xμ κΈΈμ΄:", rectangle_x)
print("μ¬κ°ν yμ κΈΈμ΄:", rectangle_y)
#λμ΄λ₯Όκ΅¬νλν¨μ νΈμΆ
print("μ¬κ°νμ λμ΄οΌ", calculate_rectangle_area(rectangle_x, rectangle_y))
1νμ ν¨μκ° μ μλ defλΆλΆμ μ€ν μλ¨ / ν¨μλ§ νμΌμ μ μ₯νκ³ λ³λ μΆλ ₯X
μ무κ²λ μ€νλμ§ μλ κ² κ°μ§λ§, μ€μ λ‘ ν΄λΉ μ½λλ₯Ό λ©λͺ¨λ¦¬μ μ
λ‘λν΄,
λ€λ₯Έ μ½λλ₯Ό νΈμΆν΄ μΈμ μλ μ€λΉκ³Όμ μ (맨 λ§μ§λ§μ μ μνλ©΄ μ€λ₯λ¨)
-ν¨μμ νν
#맀κ°λ³μX λ°νκ°X
#λ°νκ°μ΄ μκΈ° λλ¬Έμ ν¨μ μ체λ noneκ°μ κ°μ§
def a_rectangle_area()οΌ
print(5 * 7)
#맀κ°λ³μO λ°νκ°X
def b_rectangle_area(x, y)οΌ
print(x * y)
#ν¨μ μμ printκ° μλ κ²μ΄ μλ ν¨μλ₯Ό νΈμΆν λ printλ₯Ό μ¬μ©
#>returnμ΄ μλ κ²½μ° ν¨μλ₯Ό νΈμΆνλ κ³³μμ ν¨μμ λ°νκ°μ λ³μμ ν λΉ
#맀κ°λ³μX λ°νκ°O
def c_rectangle_area()οΌ
return(5 * 7)
#맀κ°λ³μO λ°νκ°O
def d_rectangle_area(x ,y)οΌ
return(x * y)
a_rectangle_area()
b_rectangle_area(5, 7)
print(c_rectangle_area())
print(d_rectangle_area(5, 7))
35
35
35
35
#λͺ¨λ 35λΌλ κ°μ κ°μ΄μ§λ§ , ν¨μμ ννμ λ°λΌ μ¬μ© λ°©λ²μ΄ λ€λ¦
ν¨μ μ¬ν
μ¬ν
-ν¨μμ νΈμΆλ°©μ
:λ©λͺ¨λ¦¬ μ£Όμλ λ³μκ° μ μ₯λλ 곡κ°μ κ°λ₯΄ν΄
: κ·Έ κ³΅κ° μ체μ μλ‘μ΄ κ°μ ν λΉνλ©΄,κ·Έ 곡κ°μ κ°λ¦¬ν€κ³ μλ λ€λ₯Έ λ³μμλ μν₯μ μ€
>νμ΄μ¬μ κ°μ²΄μ μ£Όμκ° ν¨μλ‘ λμ΄κ°λ€λ λ»μ κ°μ²΄ νΈμΆ λ°©μμ μ¬μ©ν¨
νμ΄μ¬μμ κ°μ²΄μ μ£Όμλ₯Ό ν¨μλ‘ λκΈ°κΈ° λλ¬Έμ μ λ¬λ κ°μ²΄μ κ°μ λ³κ²½μ΄ μμ κ²½μ°,
(=μ¦ μλ‘μ΄ κ°μ ν λΉνκ±°λ ν΄λΉ κ°μ²΄λ₯Ό μ§μΈ λλ)
μν₯μ μ£Όμ§ μμ§λ§, λ¨μν ν΄λΉ κ°μ²΄ μ κ°μ μΆκ°ν λλ μν₯μ μ€
def spam(eggs):
eggs.append(1)
eggs=[2,3]
ham =[0]
spam(ham)
print(ham)
[0,1]
-λ³μμ μ¬μ©λ²μ
:λ³μκ° μ½λμμ μ¬μ©λλ λ²μλ₯Ό λ§ν¨
ν¨μ λ΄λΆμμ μ¬μ©ν κ²μΈμ§, λλ νλ‘κ·Έλ¨ μ 체μμ μ¬μ©ν κ²μΈμ§ κ·Έ λ²μλ₯Ό κ²°μ νλ κ·μΉμ λ»ν¨
-μ§μ λ³μ: ν¨μ λ΄λΆμμλ§ μ¬μ©
-μ μ λ³μ: νλ‘κ·Έλ¨ μ 체μμ μ¬μ©
def test(t)οΌ
print(x)
t =20
print("In FunctionοΌ", t)
#xμ μΈ μν¨, tμ μΈ ν¨
#μ¬κΈ°λΆν° μμ
x = 10
test(x)
print("In Main:", x)
print("In MainοΌ", t)
#xλ νλ‘κ·Έλ¨ μ 체μμ μ¬μ©νλ μ μλ³μ (ν¨μ λ΄μμ μ¬μ μ μνμ)
10
In function: 20
In MainοΌ 10
#μλ¬
Traceback (most recent call last)οΌ
File "scoping_rule.py", line 9, in <module>
print("In Main:", t)
NameError: name 't' is not defined
#μλ¬κ° λ μ΄μ λ Tλ ν¨μλ΄λΆμμλ§ μ¬μ©νλ μ§μλ³μμ΄κΈ° λλ¬Έμ
def f()οΌ
s = "I love London!"
print(s)
s = "I love Paris!"
f()
print(s)
I love London!
I love Paris!
#ν¨μ λ΄λΆμ μΈλΆμ μλ λ³μsλ κ°μ μ΄λ¦μ΄μ§λ§ λ€λ₯Έ λ©λͺ¨λ¦¬ μ£ΌμμΈ λ€λ₯Έ λ³μ
#μλ‘ μν₯ μμ€
def f():
global s
s ="I love London!"
print(s)
s = "I love Paris!"
f()
print(s)
I love London!
I love London!
#ν¨μ λ΄λΆμ μΈλΆμ λ³μλ₯Ό κ°μ λ©λͺ¨λ¦¬μ λνλ©΄ μ μλ³μ μ μΈνλ©΄ λ¨ > global
#ν¨μ λ΄μΈλΆ κ°μ λ©λͺ¨λ¦¬μ£Όμ
-μ¬κ·ν¨μ
:μκΈ° μμ μ λ€μ νΈμ€νλ ν¨μ - μνμ μ νμκ³Ό κ°μ νν
def factorial(n)οΌ
if n == 1οΌ
return 1
elseοΌ
return n * factorial(n - 1)
print(factorial(int(input("Input Number for Factorial Calculation: ")))
Input Number for Factorial Calculation: 5
120
μ¬κ·ν¨μμ κΈ°λ³Έ ꡬ쑰: μ’ λ£μ‘°κ±΄, λ¨κ³λ³ λ°ν (=λ°λ³΅λ¬Έ(forλ¬Έκ³Ό whileλ¬Έκ³Ό λΉμ·)μΌλ‘ ννκ°λ₯)
>μ¬κ·ν¨μλ κ³ κΈ νλ‘κ·Έλλ¨Έλ‘ κ°μλ‘ μμ£Ό μ νκ² λ¨
ν¨μμ μΈμ
:ν¨μμ μ λ ₯μΌλ‘ λ€μ΄κ°λ λ³μμ λ€μν νν
- μΈμμ μ’
λ₯
-ν€μλ μΈμ
: ν¨μμ μ λ ₯λλ 맀κ°λ³μμ λ³μλͺ μ μ¬μ©ν΄ ν¨μμ μΈμλ₯Ό μ§μ νλ λ°©λ²
def print_something(my_name, your_name)οΌ
print("Hello {0}, My name is {1}".format(your_name, my_name))
#print_somethingμ΄λΌλ ν¨μλ (my_name, your_name)λΌλ μΈν°νμ΄μ€ κ°μ§
#λ³μμ κ°μ ν λΉ
print_Something("Sungchul", "TEAMLAB")
print_something(your_name = "TEAMLAB", my_name = "Sungchul")
Hello TEAMLAB, My name is Sungchul
Hello TEAMLAB, My name is Sungchul
-λν΄νΈ μΈμ
:맀κ°λ³μμ κΈ°λ³Έκ°μ μ§μ νμ¬ μ¬μ©νκ³ , μλ¬΄λ° κ°λ μΈμλ‘ λμ΄κ°μ§ μμ λ μ§μ λ κΈ°λ³Έκ°μ μ¬μ©νλ λ°©μ
#μΈν°νμ΄μ€ μ μ, your_nameμ κΈ°λ³Έκ°μ 'TEAMLAB'μΌλ‘ μ§μ
def print_something_2(my_name, your_name = "TEAMLAB")οΌ
print("Hello {0}, My name is {l}".format(your_name, my_name))
print_something_2("Sungchul", "TEAMLAB")
print_something_2("Sungchul")
Hello TEAMLAB, My name is Sungchul
Hello TEAMLAB, My name is Sungchul
-κ°λ³μΈμ (맀κ°λ³μμ κ°μλ₯Ό μ νμ§ μμμΌ νλ κ²½μ°)
:κΈ°λ³Έμ μΌλ‘ κ³±μ λλ μ κ³± μ°μ°μΈμλ λ³μλ₯Ό λ¬Άμ΄μ£Όλ κ°λ³ μΈμλ₯Ό λ§λ€ λ μ¬μ©ν¨
#*argsλ κ°λ³μΈμ
def asterisk_test(a, b, *args)οΌ
return a + b + sum(args)
print(asterisk_test(l, 2, 3, 4, 5))
15
def asterisk_test(a, b, *args)οΌ
print(args)
print(asterisk_test(l, 2, 3, 4, 5))
(3,4,5) # νν μλ£ν
NONE
def asterisk_test_2(*args)οΌ
x, y, *z = args # μ
λ ₯ λ°μ κ°λ³ μΈμμ κ°μλ₯Ό μλ€λ©΄ μΈν¨νΉ κ°λ₯
return x, y, z
print(asterisk_test_2(3, 4, 5))
(3,4,[5])
def asterisk_test_2(*args)οΌ
x, y, *z = args # μ
λ ₯ λ°μ κ°λ³ μΈμμ κ°μλ₯Ό μλ€λ©΄ μΈν¨νΉ κ°λ₯
return x, y, z
print(asterisk_test_2(3, 4, 5))
(3,4,[5])
-ν€μλ κ°λ³ μΈμ
:κ°λ³ μΈμλ λ³μμ μμλλ‘ ννννλ‘ μ μ₯
μ¬μ©ν λλ λ§€μ° κ°λ¨νμ§λ§ λ³μμ μ΄λ¦μ μ§μ ν μ μλ€λ λ¨μ
λ¨μ μ 보μνλ λ°©λ²μ΄ ν€μλ κ°λ³ μΈμ
ννμ΄ μλ λμ λ리 μλ£ν(μμΌλ‘ μ μ₯)
ν€μλ κ°λ³ μΈμλ λ°λμ 맀κ°λ³μμ 맨 λ§μ§λ§, κ°λ³μΈμ λ€μμ μ μΈλμ΄μΌ ν¨
(맀κ°λ³μμ μ΄λ¦μ λ°λ‘ μ§μ νμ§ μκ³ μ γ λ ₯νλ μ΄λ² κ°λ³μΈμ, *2κ°λ₯Ό μ΄μ©ν΄ 맀κ°λ³μ νμ)
def kwargs_test(**kwargs)οΌ
print(kwargs)
print("First value is {first}".format(**kwargs))
print("Second value is {second}".format(**kwargs))
print("Third value is {third}".format(**kwargs))
kwargs_test(first =3, second =4, third = 5)
{'first'οΌ 3, 'second'οΌ 4, 'third': 5} # λμ
λ리 μλ£ν
First value is 3
Second value is 4
Third value is 5
'π μ€ν°λ > νμ΄μ¬ μ€ν°λ κ°μμλ£' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[2ν/κΉκ°λ¦Ό, μ΅λ€μ] 5μ°¨μ νμ΄μ¬ μ€ν°λ - ν¨μ (0) | 2023.04.06 |
---|---|
[3ν/κΉκ²½μ] 5μ°¨μ νμ΄μ¬ μ€ν°λ - ν¨μ (0) | 2023.04.05 |
[4ν/κΉλ―Όν] 4μ°¨μ νμ΄μ¬ μ€ν°λ - λ°λ³΅λ¬Έ (0) | 2023.04.05 |
[3ν/κΉκ·λ¦¬] 5μ°¨μ νμ΄μ¬ μ€ν°λ - ν¨μ (0) | 2023.04.03 |
[3ν/μ΄μ§ν] 5μ°¨μ νμ΄μ¬ μ€ν°λ - ν¨μ (0) | 2023.04.02 |