chapter05 íšì
íìµ ëª©í
- íšì륌 ì ìžíë ë°©ë², íšìì ì€í ìì, íšìì 4ê°ì§ ííì ëíŽ ìì볞ë€
- íšì륌 ížì¶íë ë°©ì곌 ë³ìì ì¬ì© ë²ìì ëíŽ íìµíê³ , ì¬ê· íšìì ëíŽ ìŽíŽíë€
- íšìì ìžììž í€ìë ìžì, ëíŽíž ìžì, ê°ë³ ìžì, í€ìë ê°ë³ ìžìì ëíŽ ìì볞ë€
- ì¢ì ìœëì ì믞륌 ìŽíŽíê³ , ìœë© ê·ì¹ê³Œ íšì ê°ë° ê°ìŽëëŒìžì ëíŽ íìµíë€
01 íšì êž°ìŽ
01 íšìì ê°ë 곌 ì¥ì
íšìë ìŽë€ ìŒì ìííë ìœëì ë©ìŽëŠ¬
<aside> ð¡ ê³µìì 믞늬 ë§ë€ìŽëê³ ì«ìë§ ëì íë©Ž ì죌 ìœê² ì£ ?
</aside>
- íìí ë ë§ë€ ížì¶ ê°ë¥
- íšìë ë°ë³µì ìŒë¡ ìííŽìŒ íë ì 묎륌 í ë²ë§ ìì±íŽ ëê³ íìí ë ë§ë€ ížì¶íì¬ ì¬ì©
- ìœë륌 ìì í ë ì¬ë¬ ë² ìì í íìììŽ í ë²ì ê°ë¥
- ë
ŒëŠ¬ì ìž ëšìë¡ ë¶í ê°ë¥
- íšìë ìœë륌 ë ŒëŠ¬ì ìž ëšìë¡ ëë ì ìë€
- ìœëì 캡ìí
- íšìì ìží°íìŽì€ë§ ì ì ìíë©Ž ë€ë¥ž ì¬ëìŽ ìì ì ìœë륌 ìœê² ê°ì žë€ ì¬ì©ìŽ ê°ë¥
- ìží°íìŽì€ë¥Œ ì ì ìíë€ = ìœëì ì ë ¥ëë ì ë ¥ê°ê³Œ ìœëì ìí ê²°ê³Œìž ì¶ë ¥ê°ì ëª íí íë€ë ê² (íìŽíž ë°ì€)
02 íšìì ì ìž
def íšì ìŽëŠ (맀ê°ë³ì):
ëª
ë ¹ë¬ž1
ëª
ë ¹ë¬ž2
return<ë°íê°>
def: definitionì ì€ìë§ë¡ íšìì ì ì륌 ììíë€ë ì믞
íšì ìŽëŠ: íšì ìŽëŠì ê°ë°ìê° ë§ìëë¡ ì í ì ìì ê·žë ì§ë§, ì묵ì ìž ê·ì¹ìŽ ìì
- ì묞ìë¡ ì ë ¥
- ëìŽì°êž°ë _êž°íž (underbar)
- ìì ì ëíëŽêž° ìíŽ ëì¬ ëª ì¬ íšê» ì¬ì© (e.g. find_number)
- ìžë¶ ê³µê° íšìë ì€ìë§ì ì¬ì©íì§ ìê³ ì§§ê³ ëª ë£íê² ì íë€
→ ë³ì ì ìžíë ê·ì¹ê³Œ ìë¹í ì ì¬íë€
맀ê°ë³ì(parameter): 맀ê°ë³ìë íšììì ì ë ¥ê°ìŒë¡ ì¬ì©íë ë³ì륌 ì믞, 1ê° ìŽìì ê°ì ì ì ì ìì
ëª ë ¹ë¬ž: ëª ë ¹ë¬žì ë°ëì ë€ì¬ì°êž°í í ìœë륌 ì ë ¥
ìííŽìŒíë ìœëë if묞ìŽë for묞곌 ê°ì ì ìŽë¬žìŽë ê³ êž íë¡ê·žëë° êž°ë²ì ì°êž°ë íš
return: ë°íìŽë print()륌 ì¬ì©íì§ ìê³ ë 결곌ê°ì 볎ì¬ì£Œë íšììŽë€ ìŠ, 결곌ê°ì ë°ííë ê°ìŽë€
<ì 늬>
- íšì륌 ë§ë€ ë def ì°êž°
- íšì ìŽëŠì ë³ì ìŽëŠê³Œ ì ì¬í ë°©ìì ì¬ì©íì¬ ì§êž°
- íšì ìŽëŠê³Œ 맀ê°ë³ì ì§ì ë€ ìœë¡ ì¬ì©
- ëª ë ¹ë¬žì ë°ëì ë€ì¬ì°êž° ì¬ì©
03 íšìì ì€í ìì
íšì륌 ë§ë€ê³ ëì íšì륌 ìšìŒê² ì£ ? ìŽ ê³Œì ì ëíŽ ìŽíŽë³Žê² ìµëë€
def calculate_rectangle_area(x,y):
return x * y
rectangle_x = 10
rectangel_y = 20
print("ì¬ê°í xì êžžìŽ:", rectangle_x)
print("ì¬ê°í yì êžžìŽ:", rectangle_y)
print("ì¬ê°íì ëìŽ:", calculate_rectangle_area(rectangle_x, rectangle_y))
íšìì ì ìë§ìŒë¡ë íšìê° ì€íëì§ ìëë€. ì°ëŠ¬ê° print()íšì륌 ì§ì ìœëì ìì±íì¬ ë¶ë¬ì€ë ê²ì²ëŒ ë§ë€ìŽì§ íšì륌 ë¶ë¬ì ì€ííŽìŒë§ ì¬ì©í ì ìë€
>>> ì¬ê°í xì êžžìŽ: 10
>>> ì¬ê°í yì êžžìŽ: 20
>>> ì¬ê°íì ëìŽ: 200
04 íë¡ê·žëë°ì íšìì ìíì íšì
- íë¡ê·žëë° íšìì ìíì íšìë ìë¹í ì ì¬!
- ìì ) f(x) = x+1<aside> ð¡ ììëë©Ž ìžëªšìë íëŒë¯ží°(parameter) vs ìžì(argument) íëŒë¯ží°ë íšì ìží°íìŽì€ ì ìì ììŽ ìŽë€ ë³ì륌 ì¬ì©íëì§ ì ìíë ê² ìžìë ì€ì 맀ê°ë³ìì ëì ëë ê° ëªšë íšìì ì ë ¥ê°ìŒë¡ ë¶ëŠ¬ì§ë§ ì íí ì믞륌 íì íê³ ì¬ì©í©ìë€!
- </aside>
05 íšìì íí
def a_rectangle_area():
print(5*7)
def b_rectangle_area():
print(x,y)
def c_rectangle_area(x,y):
return(5*7)
def d_rectangle_area(x,y):
return(x,y)
a_rectangle_area()
b_rectangle_area()
print(c_rectangle_area())
print(d_rectangle_area(5,7))
02 íšì ì¬í
01 íšìì ížì¶ ë°©ì
íšììì ë³ì ížì¶ ë°©ì
def f(x):
y = x
x = 5
return y*y
x=3
print(f(x))
print(x)
02 ë³ìì ì¬ì© ë²ì
ë³ìì ì¬ì© ë²ìë ë§ ê·žëë¡ ë³ìê° ìœëìì ì¬ì©ëë ë²ì
- ì§ì ë³ì(local variable): íšì ëŽë¶ììë§ ì¬ì©
- ì ì ë³ì(global variable): íë¡ê·žëš ì 첎ìì ì¬ì©
def test(t):
print(x)
t = 20
print("In Function:", t)
x = 10
test(x)
print("In Main:", x)
print("In Main:", t)
def f():
s = " I love London!"
print(s)
s = " I love Paris!"
f()
print(s)
def f():
global s
s = " I love London!"
print(s)
s = " I love Paris!"
f()
print(s)
def calculate(x, y):
total = x + y
print("In Function")
print("a:",str(a), str(b), "a+b:", str(a+b), "total:", str(total))
return total
a = 5
b = 7
total = 0
print("In Program -1")
print("a:",str(a), str(b), "a+b:", str(a+b))
sum = calculate(a,b)
print("After Calculate")
print("Total:", str(total), "sum:", str(sum))
03 ì¬ê· íšì
ì¬ê·íšìë ìêž° ìì ì ë€ì ížì¶íë íšì
ìì ì ìŽì©íì¬ ë€ë¥ž íšì륌 ì ìí ë ì¬ì©
e.g.) ìíì ì íì
def factorial(n):
if n == 1:
return 1
else:
return n * factorial (n-1)
print(factorial(int(input("Input Number for Factorial Calculation:")))
03 íšìì ìžì
01 í€ìë ìžì
í€ìë ìžìë íšìì ì ë ¥ëë 맀ê°ë³ìì ë³ìëª ì ì¬ì©íì¬ íšìì ìžì륌 ì§ì íë ë°©ë²
def print_somthing(my_name, your_name):
print("Hello {0}, My name is {1}".format(your_name, my_name))
print_something("Sungchul", "TEAMLAB")
print_something(your_name = "TEAMLAB", my_name = "Sungchul")
02 ëíŽíž ìžì
ëíŽíž ìžìë 맀ê°ë³ìì Ʞ볞ê°ì ì§ì íì¬ ì¬ì©íê³ , ìë¬Žë° ê°ë ìžìë¡ ëìŽê°ì§ ìì ë ì§ì ë Ʞ볞ê°ì ì¬ì©íë ë°©ì
def print_somthing_2(my_name, your_name = "TEAMLAB"):
print("Hello {0}, My name is {1}".format(your_name, my_name))
print_something_2("Sungchul", "TEAMLAB")
print_something_2("Sungchul")
03 ê°ë³ ìžì
ê°ë³ ìžìë ìœë륌 ìì±í ë ê°ë íšìì 맀ê°ë³ì ê°ì륌 ì íì§ ìììŒ íë 겜ì°ê° ìë€ ìŽë ì¬ì©íë ê²ìŽ ê°ë³ ìžììŽë€.
def asterisk_test(a,b, *args)
return a+b+sum(args)
print(asterisk_test(1,2,3,4,5))
def asterisk_test(a,b, *args)
print(args)
print(asterisk_test(1,2,3,4,5))
def asterisk_test_2(*args)
x, y, *z = args
return x,y,z
print(asterisk_test_2(3,4,5))
def asterisk_test_2(*args)
x, y, *z = args
return x,y,z
print(asterisk_test_2(3,4,5,10,20))
04 í€ìë ê°ë³ ìžì
ê°ë³ ìžìë ë³ìì ììëë¡ íí ííë¡ ì ì¥ëë€ ì¬ì©í ëë ë§€ì° ê°ëšíì§ë§ ë³ìì ìŽëŠì ì§ì í ì ìë€ë ëšì
→ ìŽë¥Œ 볎ìíêž° ìí ë°©ë²ìŽ í€ìë ê°ë³ ìžì
í€ìë ê°ë³ ìžìë *륌 2ê° ì¬ì©íì¬ íšìì 맀ê°ë³ì륌 íìíë€. ê·žëŠ¬ê³ ì ë ¥ë ê°ì íí ìë£íìŽ ìë ëì ë늬 ìë£íìŒë¡ ì¬ì©í ì ìë€
<aside> ð¡ ëì ë늬ë ë³ìëª ê³Œ ê°ì ììŒë¡ ì ì¥íë ë°©ììŽëŒ ìê°íì (ìì§ ë°°ì°ì§ ìì ê°ëšíê² ìŽì ëë©Ž 충ë¶íë€!)
</aside>
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))
Kwarg_test(first = 3, second = 4, third = 5)
04 ì¢ì ìœë륌 ìì±íë ë°©ë²
01 ì¢ì ìœëì ì믞
- 1죌찚ë¶í° ë ê°ì¡°íë ê² → ìœëë ë íŒì ì§ë ê² ìëë€!
- íŒìì ìì±í ìë ìê² ì§ë§ ì°ëŠ° ì¬íì ìŽê³ ìêž° ë묞ì íì¬ììë ê°ìžìŽê±Ž ìœë륌 ê³µì íê² ëë€ ë°ëì
- ê·žëì ì¢ì ê·ì¹ìŽ íìíë€
- ì¢ì ê·ì¹: ë³ì ìŽëŠ ê·ì¹, íšì ìŽëŠ ê·ì¹ …
02 ìœë© ê·ì¹
- ë€ì¬ì°êž°ë 4 ì€íìŽì€
- í ì€ì ìµë 79ìê¹ì§
- ë¶íìí 공백 ì ê±°
- 죌ìì íì ê°±ì íê³ ë¶íìí 죌ì ìì
⇒ PEP8
ìŽë¬í ê·ì¹ë€ì ì ìí 묞ììŽë€. ë°ëì ì§ìŒìŒíë 걎 ìëì§ë§ ì ì§ìŒì ëì 걎 ì뀅
ìŽë¬í ê·ì¹ì ì ëë¡ ì§ìŒ°ëì§ íìžíë 몚ë: flake8
→ 몚ëê¹ì§ ì¡Žì¬íë ê±° 볎멎 ê·ì¹ì ì€ìì±ìŽ ëê»Žì§ ê²ìŽë€
03 íšì ê°ë° ê°ìŽëëŒìž
íšì ê°ë° ê°ìŽëëŒìžì íìŽì¬ íì ìŽ ìë íë¡ê·žëë° ì ë°ì ì ì©ìí¬ ì ìë ê²
íšì ìŽëŠ
- íšì ëŽì©ì ê°ë¥íë©Ž ì§§ê² ìì±(ì€ ì륌 ì€ìŒ ê²)
- íšì ìŽëŠì íšìì ìí 곌 ìë륌 ëª íí ëë¬ëŒ ê²
íšì ìí
- íëì íšììë ì ì¬í ìí ì íë ìœëë§ í¬íš
- íšìë í ê°ì§ ìí ì ëª ííê² íŽìŒ íë€
íšì륌 ë§ë€ìŽìŒ íë 겜ì°
- ê³µíµìŒë¡ ì¬ì©ëë ìœë륌 íšìë¡ ë³í
- ë³µì¡í ë¡ì§ìŽ ì¬ì©ëìì ë ìë³ ê°ë¥í ìŽëŠì íšìë¡ ë³í
a = 5
if (a>3):
print("Hello World")
print("Hello TEAMLAB")
if (a>4):
print("Hello World")
print("Hello TEAMLAB")
if (a>5):
print("Hello World")
print("Hello TEAMLAB")
def print_hello():
print("Hello World")
print("Hello TEAMLAB")
a= 5
if (a>3):
print_hello()
if (a>4):
print_hello()
if (a>5):
print_hello()
chapter05 íšì
íìµ ëª©í
- íšì륌 ì ìžíë ë°©ë², íšìì ì€í ìì, íšìì 4ê°ì§ ííì ëíŽ ìì볞ë€
- íšì륌 ížì¶íë ë°©ì곌 ë³ìì ì¬ì© ë²ìì ëíŽ íìµíê³ , ì¬ê· íšìì ëíŽ ìŽíŽíë€
- íšìì ìžììž í€ìë ìžì, ëíŽíž ìžì, ê°ë³ ìžì, í€ìë ê°ë³ ìžìì ëíŽ ìì볞ë€
- ì¢ì ìœëì ì믞륌 ìŽíŽíê³ , ìœë© ê·ì¹ê³Œ íšì ê°ë° ê°ìŽëëŒìžì ëíŽ íìµíë€
01 íšì êž°ìŽ
01 íšìì ê°ë 곌 ì¥ì
íšìë ìŽë€ ìŒì ìííë ìœëì ë©ìŽëŠ¬
<aside> ð¡ ê³µìì 믞늬 ë§ë€ìŽëê³ ì«ìë§ ëì íë©Ž ì죌 ìœê² ì£ ?
</aside>
- íìí ë ë§ë€ ížì¶ ê°ë¥
- íšìë ë°ë³µì ìŒë¡ ìííŽìŒ íë ì 묎륌 í ë²ë§ ìì±íŽ ëê³ íìí ë ë§ë€ ížì¶íì¬ ì¬ì©
- ìœë륌 ìì í ë ì¬ë¬ ë² ìì í íìììŽ í ë²ì ê°ë¥
- ë
ŒëŠ¬ì ìž ëšìë¡ ë¶í ê°ë¥
- íšìë ìœë륌 ë ŒëŠ¬ì ìž ëšìë¡ ëë ì ìë€
- ìœëì 캡ìí
- íšìì ìží°íìŽì€ë§ ì ì ìíë©Ž ë€ë¥ž ì¬ëìŽ ìì ì ìœë륌 ìœê² ê°ì žë€ ì¬ì©ìŽ ê°ë¥
- ìží°íìŽì€ë¥Œ ì ì ìíë€ = ìœëì ì ë ¥ëë ì ë ¥ê°ê³Œ ìœëì ìí ê²°ê³Œìž ì¶ë ¥ê°ì ëª íí íë€ë ê² (íìŽíž ë°ì€)
02 íšìì ì ìž
def íšì ìŽëŠ (맀ê°ë³ì):
ëª
ë ¹ë¬ž1
ëª
ë ¹ë¬ž2
return<ë°íê°>
def: definitionì ì€ìë§ë¡ íšìì ì ì륌 ììíë€ë ì믞
íšì ìŽëŠ: íšì ìŽëŠì ê°ë°ìê° ë§ìëë¡ ì í ì ìì ê·žë ì§ë§, ì묵ì ìž ê·ì¹ìŽ ìì
- ì묞ìë¡ ì ë ¥
- ëìŽì°êž°ë _êž°íž (underbar)
- ìì ì ëíëŽêž° ìíŽ ëì¬ ëª ì¬ íšê» ì¬ì© (e.g. find_number)
- ìžë¶ ê³µê° íšìë ì€ìë§ì ì¬ì©íì§ ìê³ ì§§ê³ ëª ë£íê² ì íë€
→ ë³ì ì ìžíë ê·ì¹ê³Œ ìë¹í ì ì¬íë€
맀ê°ë³ì(parameter): 맀ê°ë³ìë íšììì ì ë ¥ê°ìŒë¡ ì¬ì©íë ë³ì륌 ì믞, 1ê° ìŽìì ê°ì ì ì ì ìì
ëª ë ¹ë¬ž: ëª ë ¹ë¬žì ë°ëì ë€ì¬ì°êž°í í ìœë륌 ì ë ¥
ìííŽìŒíë ìœëë if묞ìŽë for묞곌 ê°ì ì ìŽë¬žìŽë ê³ êž íë¡ê·žëë° êž°ë²ì ì°êž°ë íš
return: ë°íìŽë print()륌 ì¬ì©íì§ ìê³ ë 결곌ê°ì 볎ì¬ì£Œë íšììŽë€ ìŠ, 결곌ê°ì ë°ííë ê°ìŽë€
<ì 늬>
- íšì륌 ë§ë€ ë def ì°êž°
- íšì ìŽëŠì ë³ì ìŽëŠê³Œ ì ì¬í ë°©ìì ì¬ì©íì¬ ì§êž°
- íšì ìŽëŠê³Œ 맀ê°ë³ì ì§ì ë€ ìœë¡ ì¬ì©
- ëª ë ¹ë¬žì ë°ëì ë€ì¬ì°êž° ì¬ì©
03 íšìì ì€í ìì
íšì륌 ë§ë€ê³ ëì íšì륌 ìšìŒê² ì£ ? ìŽ ê³Œì ì ëíŽ ìŽíŽë³Žê² ìµëë€
def calculate_rectangle_area(x,y):
return x * y
rectangle_x = 10
rectangel_y = 20
print("ì¬ê°í xì êžžìŽ:", rectangle_x)
print("ì¬ê°í yì êžžìŽ:", rectangle_y)
print("ì¬ê°íì ëìŽ:", calculate_rectangle_area(rectangle_x, rectangle_y))
íšìì ì ìë§ìŒë¡ë íšìê° ì€íëì§ ìëë€. ì°ëŠ¬ê° print()íšì륌 ì§ì ìœëì ìì±íì¬ ë¶ë¬ì€ë ê²ì²ëŒ ë§ë€ìŽì§ íšì륌 ë¶ë¬ì ì€ííŽìŒë§ ì¬ì©í ì ìë€
>>> ì¬ê°í xì êžžìŽ: 10
>>> ì¬ê°í yì êžžìŽ: 20
>>> ì¬ê°íì ëìŽ: 200
04 íë¡ê·žëë°ì íšìì ìíì íšì
- íë¡ê·žëë° íšìì ìíì íšìë ìë¹í ì ì¬!
- ìì ) f(x) = x+1<aside> ð¡ ììëë©Ž ìžëªšìë íëŒë¯ží°(parameter) vs ìžì(argument) íëŒë¯ží°ë íšì ìží°íìŽì€ ì ìì ììŽ ìŽë€ ë³ì륌 ì¬ì©íëì§ ì ìíë ê² ìžìë ì€ì 맀ê°ë³ìì ëì ëë ê° ëªšë íšìì ì ë ¥ê°ìŒë¡ ë¶ëŠ¬ì§ë§ ì íí ì믞륌 íì íê³ ì¬ì©í©ìë€!
- </aside>
05 íšìì íí
def a_rectangle_area():
print(5*7)
def b_rectangle_area():
print(x,y)
def c_rectangle_area(x,y):
return(5*7)
def d_rectangle_area(x,y):
return(x,y)
a_rectangle_area()
b_rectangle_area()
print(c_rectangle_area())
print(d_rectangle_area(5,7))
02 íšì ì¬í
01 íšìì ížì¶ ë°©ì
íšììì ë³ì ížì¶ ë°©ì
def f(x):
y = x
x = 5
return y*y
x=3
print(f(x))
print(x)
02 ë³ìì ì¬ì© ë²ì
ë³ìì ì¬ì© ë²ìë ë§ ê·žëë¡ ë³ìê° ìœëìì ì¬ì©ëë ë²ì
- ì§ì ë³ì(local variable): íšì ëŽë¶ììë§ ì¬ì©
- ì ì ë³ì(global variable): íë¡ê·žëš ì 첎ìì ì¬ì©
def test(t):
print(x)
t = 20
print("In Function:", t)
x = 10
test(x)
print("In Main:", x)
print("In Main:", t)
def f():
s = " I love London!"
print(s)
s = " I love Paris!"
f()
print(s)
def f():
global s
s = " I love London!"
print(s)
s = " I love Paris!"
f()
print(s)
def calculate(x, y):
total = x + y
print("In Function")
print("a:",str(a), str(b), "a+b:", str(a+b), "total:", str(total))
return total
a = 5
b = 7
total = 0
print("In Program -1")
print("a:",str(a), str(b), "a+b:", str(a+b))
sum = calculate(a,b)
print("After Calculate")
print("Total:", str(total), "sum:", str(sum))
03 ì¬ê· íšì
ì¬ê·íšìë ìêž° ìì ì ë€ì ížì¶íë íšì
ìì ì ìŽì©íì¬ ë€ë¥ž íšì륌 ì ìí ë ì¬ì©
e.g.) ìíì ì íì
def factorial(n):
if n == 1:
return 1
else:
return n * factorial (n-1)
print(factorial(int(input("Input Number for Factorial Calculation:")))
03 íšìì ìžì
01 í€ìë ìžì
í€ìë ìžìë íšìì ì ë ¥ëë 맀ê°ë³ìì ë³ìëª ì ì¬ì©íì¬ íšìì ìžì륌 ì§ì íë ë°©ë²
def print_somthing(my_name, your_name):
print("Hello {0}, My name is {1}".format(your_name, my_name))
print_something("Sungchul", "TEAMLAB")
print_something(your_name = "TEAMLAB", my_name = "Sungchul")
02 ëíŽíž ìžì
ëíŽíž ìžìë 맀ê°ë³ìì Ʞ볞ê°ì ì§ì íì¬ ì¬ì©íê³ , ìë¬Žë° ê°ë ìžìë¡ ëìŽê°ì§ ìì ë ì§ì ë Ʞ볞ê°ì ì¬ì©íë ë°©ì
def print_somthing_2(my_name, your_name = "TEAMLAB"):
print("Hello {0}, My name is {1}".format(your_name, my_name))
print_something_2("Sungchul", "TEAMLAB")
print_something_2("Sungchul")
03 ê°ë³ ìžì
ê°ë³ ìžìë ìœë륌 ìì±í ë ê°ë íšìì 맀ê°ë³ì ê°ì륌 ì íì§ ìììŒ íë 겜ì°ê° ìë€ ìŽë ì¬ì©íë ê²ìŽ ê°ë³ ìžììŽë€.
def asterisk_test(a,b, *args)
return a+b+sum(args)
print(asterisk_test(1,2,3,4,5))
def asterisk_test(a,b, *args)
print(args)
print(asterisk_test(1,2,3,4,5))
def asterisk_test_2(*args)
x, y, *z = args
return x,y,z
print(asterisk_test_2(3,4,5))
def asterisk_test_2(*args)
x, y, *z = args
return x,y,z
print(asterisk_test_2(3,4,5,10,20))
04 í€ìë ê°ë³ ìžì
ê°ë³ ìžìë ë³ìì ììëë¡ íí ííë¡ ì ì¥ëë€ ì¬ì©í ëë ë§€ì° ê°ëšíì§ë§ ë³ìì ìŽëŠì ì§ì í ì ìë€ë ëšì
→ ìŽë¥Œ 볎ìíêž° ìí ë°©ë²ìŽ í€ìë ê°ë³ ìžì
í€ìë ê°ë³ ìžìë *륌 2ê° ì¬ì©íì¬ íšìì 맀ê°ë³ì륌 íìíë€. ê·žëŠ¬ê³ ì ë ¥ë ê°ì íí ìë£íìŽ ìë ëì ë늬 ìë£íìŒë¡ ì¬ì©í ì ìë€
<aside> ð¡ ëì ë늬ë ë³ìëª ê³Œ ê°ì ììŒë¡ ì ì¥íë ë°©ììŽëŒ ìê°íì (ìì§ ë°°ì°ì§ ìì ê°ëšíê² ìŽì ëë©Ž 충ë¶íë€!)
</aside>
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))
Kwarg_test(first = 3, second = 4, third = 5)
04 ì¢ì ìœë륌 ìì±íë ë°©ë²
01 ì¢ì ìœëì ì믞
- 1죌찚ë¶í° ë ê°ì¡°íë ê² → ìœëë ë íŒì ì§ë ê² ìëë€!
- íŒìì ìì±í ìë ìê² ì§ë§ ì°ëŠ° ì¬íì ìŽê³ ìêž° ë묞ì íì¬ììë ê°ìžìŽê±Ž ìœë륌 ê³µì íê² ëë€ ë°ëì
- ê·žëì ì¢ì ê·ì¹ìŽ íìíë€
- ì¢ì ê·ì¹: ë³ì ìŽëŠ ê·ì¹, íšì ìŽëŠ ê·ì¹ …
02 ìœë© ê·ì¹
- ë€ì¬ì°êž°ë 4 ì€íìŽì€
- í ì€ì ìµë 79ìê¹ì§
- ë¶íìí 공백 ì ê±°
- 죌ìì íì ê°±ì íê³ ë¶íìí 죌ì ìì
⇒ PEP8
ìŽë¬í ê·ì¹ë€ì ì ìí 묞ììŽë€. ë°ëì ì§ìŒìŒíë 걎 ìëì§ë§ ì ì§ìŒì ëì 걎 ì뀅
ìŽë¬í ê·ì¹ì ì ëë¡ ì§ìŒ°ëì§ íìžíë 몚ë: flake8
→ 몚ëê¹ì§ ì¡Žì¬íë ê±° 볎멎 ê·ì¹ì ì€ìì±ìŽ ëê»Žì§ ê²ìŽë€
03 íšì ê°ë° ê°ìŽëëŒìž
íšì ê°ë° ê°ìŽëëŒìžì íìŽì¬ íì ìŽ ìë íë¡ê·žëë° ì ë°ì ì ì©ìí¬ ì ìë ê²
íšì ìŽëŠ
- íšì ëŽì©ì ê°ë¥íë©Ž ì§§ê² ìì±(ì€ ì륌 ì€ìŒ ê²)
- íšì ìŽëŠì íšìì ìí 곌 ìë륌 ëª íí ëë¬ëŒ ê²
íšì ìí
- íëì íšììë ì ì¬í ìí ì íë ìœëë§ í¬íš
- íšìë í ê°ì§ ìí ì ëª ííê² íŽìŒ íë€
íšì륌 ë§ë€ìŽìŒ íë 겜ì°
- ê³µíµìŒë¡ ì¬ì©ëë ìœë륌 íšìë¡ ë³í
- ë³µì¡í ë¡ì§ìŽ ì¬ì©ëìì ë ìë³ ê°ë¥í ìŽëŠì íšìë¡ ë³í
a = 5
if (a>3):
print("Hello World")
print("Hello TEAMLAB")
if (a>4):
print("Hello World")
print("Hello TEAMLAB")
if (a>5):
print("Hello World")
print("Hello TEAMLAB")
def print_hello():
print("Hello World")
print("Hello TEAMLAB")
a= 5
if (a>3):
print_hello()
if (a>4):
print_hello()
if (a>5):
print_hello()
chapter05 íšì
íìµ ëª©í
- íšì륌 ì ìžíë ë°©ë², íšìì ì€í ìì, íšìì 4ê°ì§ ííì ëíŽ ìì볞ë€
- íšì륌 ížì¶íë ë°©ì곌 ë³ìì ì¬ì© ë²ìì ëíŽ íìµíê³ , ì¬ê· íšìì ëíŽ ìŽíŽíë€
- íšìì ìžììž í€ìë ìžì, ëíŽíž ìžì, ê°ë³ ìžì, í€ìë ê°ë³ ìžìì ëíŽ ìì볞ë€
- ì¢ì ìœëì ì믞륌 ìŽíŽíê³ , ìœë© ê·ì¹ê³Œ íšì ê°ë° ê°ìŽëëŒìžì ëíŽ íìµíë€
01 íšì êž°ìŽ
01 íšìì ê°ë 곌 ì¥ì
íšìë ìŽë€ ìŒì ìííë ìœëì ë©ìŽëŠ¬
<aside> ð¡ ê³µìì 믞늬 ë§ë€ìŽëê³ ì«ìë§ ëì íë©Ž ì죌 ìœê² ì£ ?
</aside>
- íìí ë ë§ë€ ížì¶ ê°ë¥
- íšìë ë°ë³µì ìŒë¡ ìííŽìŒ íë ì 묎륌 í ë²ë§ ìì±íŽ ëê³ íìí ë ë§ë€ ížì¶íì¬ ì¬ì©
- ìœë륌 ìì í ë ì¬ë¬ ë² ìì í íìììŽ í ë²ì ê°ë¥
- ë
ŒëŠ¬ì ìž ëšìë¡ ë¶í ê°ë¥
- íšìë ìœë륌 ë ŒëŠ¬ì ìž ëšìë¡ ëë ì ìë€
- ìœëì 캡ìí
- íšìì ìží°íìŽì€ë§ ì ì ìíë©Ž ë€ë¥ž ì¬ëìŽ ìì ì ìœë륌 ìœê² ê°ì žë€ ì¬ì©ìŽ ê°ë¥
- ìží°íìŽì€ë¥Œ ì ì ìíë€ = ìœëì ì ë ¥ëë ì ë ¥ê°ê³Œ ìœëì ìí ê²°ê³Œìž ì¶ë ¥ê°ì ëª íí íë€ë ê² (íìŽíž ë°ì€)
02 íšìì ì ìž
def íšì ìŽëŠ (맀ê°ë³ì):
ëª
ë ¹ë¬ž1
ëª
ë ¹ë¬ž2
return<ë°íê°>
def: definitionì ì€ìë§ë¡ íšìì ì ì륌 ììíë€ë ì믞
íšì ìŽëŠ: íšì ìŽëŠì ê°ë°ìê° ë§ìëë¡ ì í ì ìì ê·žë ì§ë§, ì묵ì ìž ê·ì¹ìŽ ìì
- ì묞ìë¡ ì ë ¥
- ëìŽì°êž°ë _êž°íž (underbar)
- ìì ì ëíëŽêž° ìíŽ ëì¬ ëª ì¬ íšê» ì¬ì© (e.g. find_number)
- ìžë¶ ê³µê° íšìë ì€ìë§ì ì¬ì©íì§ ìê³ ì§§ê³ ëª ë£íê² ì íë€
→ ë³ì ì ìžíë ê·ì¹ê³Œ ìë¹í ì ì¬íë€
맀ê°ë³ì(parameter): 맀ê°ë³ìë íšììì ì ë ¥ê°ìŒë¡ ì¬ì©íë ë³ì륌 ì믞, 1ê° ìŽìì ê°ì ì ì ì ìì
ëª ë ¹ë¬ž: ëª ë ¹ë¬žì ë°ëì ë€ì¬ì°êž°í í ìœë륌 ì ë ¥
ìííŽìŒíë ìœëë if묞ìŽë for묞곌 ê°ì ì ìŽë¬žìŽë ê³ êž íë¡ê·žëë° êž°ë²ì ì°êž°ë íš
return: ë°íìŽë print()륌 ì¬ì©íì§ ìê³ ë 결곌ê°ì 볎ì¬ì£Œë íšììŽë€ ìŠ, 결곌ê°ì ë°ííë ê°ìŽë€
<ì 늬>
- íšì륌 ë§ë€ ë def ì°êž°
- íšì ìŽëŠì ë³ì ìŽëŠê³Œ ì ì¬í ë°©ìì ì¬ì©íì¬ ì§êž°
- íšì ìŽëŠê³Œ 맀ê°ë³ì ì§ì ë€ ìœë¡ ì¬ì©
- ëª ë ¹ë¬žì ë°ëì ë€ì¬ì°êž° ì¬ì©
03 íšìì ì€í ìì
íšì륌 ë§ë€ê³ ëì íšì륌 ìšìŒê² ì£ ? ìŽ ê³Œì ì ëíŽ ìŽíŽë³Žê² ìµëë€
def calculate_rectangle_area(x,y):
return x * y
rectangle_x = 10
rectangel_y = 20
print("ì¬ê°í xì êžžìŽ:", rectangle_x)
print("ì¬ê°í yì êžžìŽ:", rectangle_y)
print("ì¬ê°íì ëìŽ:", calculate_rectangle_area(rectangle_x, rectangle_y))
íšìì ì ìë§ìŒë¡ë íšìê° ì€íëì§ ìëë€. ì°ëŠ¬ê° print()íšì륌 ì§ì ìœëì ìì±íì¬ ë¶ë¬ì€ë ê²ì²ëŒ ë§ë€ìŽì§ íšì륌 ë¶ë¬ì ì€ííŽìŒë§ ì¬ì©í ì ìë€
>>> ì¬ê°í xì êžžìŽ: 10
>>> ì¬ê°í yì êžžìŽ: 20
>>> ì¬ê°íì ëìŽ: 200
04 íë¡ê·žëë°ì íšìì ìíì íšì
- íë¡ê·žëë° íšìì ìíì íšìë ìë¹í ì ì¬!
- ìì ) f(x) = x+1<aside> ð¡ ììëë©Ž ìžëªšìë íëŒë¯ží°(parameter) vs ìžì(argument) íëŒë¯ží°ë íšì ìží°íìŽì€ ì ìì ììŽ ìŽë€ ë³ì륌 ì¬ì©íëì§ ì ìíë ê² ìžìë ì€ì 맀ê°ë³ìì ëì ëë ê° ëªšë íšìì ì ë ¥ê°ìŒë¡ ë¶ëŠ¬ì§ë§ ì íí ì믞륌 íì íê³ ì¬ì©í©ìë€!
- </aside>
05 íšìì íí
def a_rectangle_area():
print(5*7)
def b_rectangle_area():
print(x,y)
def c_rectangle_area(x,y):
return(5*7)
def d_rectangle_area(x,y):
return(x,y)
a_rectangle_area()
b_rectangle_area()
print(c_rectangle_area())
print(d_rectangle_area(5,7))
02 íšì ì¬í
01 íšìì ížì¶ ë°©ì
íšììì ë³ì ížì¶ ë°©ì
def f(x):
y = x
x = 5
return y*y
x=3
print(f(x))
print(x)
02 ë³ìì ì¬ì© ë²ì
ë³ìì ì¬ì© ë²ìë ë§ ê·žëë¡ ë³ìê° ìœëìì ì¬ì©ëë ë²ì
- ì§ì ë³ì(local variable): íšì ëŽë¶ììë§ ì¬ì©
- ì ì ë³ì(global variable): íë¡ê·žëš ì 첎ìì ì¬ì©
def test(t):
print(x)
t = 20
print("In Function:", t)
x = 10
test(x)
print("In Main:", x)
print("In Main:", t)
def f():
s = " I love London!"
print(s)
s = " I love Paris!"
f()
print(s)
def f():
global s
s = " I love London!"
print(s)
s = " I love Paris!"
f()
print(s)
def calculate(x, y):
total = x + y
print("In Function")
print("a:",str(a), str(b), "a+b:", str(a+b), "total:", str(total))
return total
a = 5
b = 7
total = 0
print("In Program -1")
print("a:",str(a), str(b), "a+b:", str(a+b))
sum = calculate(a,b)
print("After Calculate")
print("Total:", str(total), "sum:", str(sum))
03 ì¬ê· íšì
ì¬ê·íšìë ìêž° ìì ì ë€ì ížì¶íë íšì
ìì ì ìŽì©íì¬ ë€ë¥ž íšì륌 ì ìí ë ì¬ì©
e.g.) ìíì ì íì
def factorial(n):
if n == 1:
return 1
else:
return n * factorial (n-1)
print(factorial(int(input("Input Number for Factorial Calculation:")))
03 íšìì ìžì
01 í€ìë ìžì
í€ìë ìžìë íšìì ì ë ¥ëë 맀ê°ë³ìì ë³ìëª ì ì¬ì©íì¬ íšìì ìžì륌 ì§ì íë ë°©ë²
def print_somthing(my_name, your_name):
print("Hello {0}, My name is {1}".format(your_name, my_name))
print_something("Sungchul", "TEAMLAB")
print_something(your_name = "TEAMLAB", my_name = "Sungchul")
02 ëíŽíž ìžì
ëíŽíž ìžìë 맀ê°ë³ìì Ʞ볞ê°ì ì§ì íì¬ ì¬ì©íê³ , ìë¬Žë° ê°ë ìžìë¡ ëìŽê°ì§ ìì ë ì§ì ë Ʞ볞ê°ì ì¬ì©íë ë°©ì
def print_somthing_2(my_name, your_name = "TEAMLAB"):
print("Hello {0}, My name is {1}".format(your_name, my_name))
print_something_2("Sungchul", "TEAMLAB")
print_something_2("Sungchul")
03 ê°ë³ ìžì
ê°ë³ ìžìë ìœë륌 ìì±í ë ê°ë íšìì 맀ê°ë³ì ê°ì륌 ì íì§ ìììŒ íë 겜ì°ê° ìë€ ìŽë ì¬ì©íë ê²ìŽ ê°ë³ ìžììŽë€.
def asterisk_test(a,b, *args)
return a+b+sum(args)
print(asterisk_test(1,2,3,4,5))
def asterisk_test(a,b, *args)
print(args)
print(asterisk_test(1,2,3,4,5))
def asterisk_test_2(*args)
x, y, *z = args
return x,y,z
print(asterisk_test_2(3,4,5))
def asterisk_test_2(*args)
x, y, *z = args
return x,y,z
print(asterisk_test_2(3,4,5,10,20))
04 í€ìë ê°ë³ ìžì
ê°ë³ ìžìë ë³ìì ììëë¡ íí ííë¡ ì ì¥ëë€ ì¬ì©í ëë ë§€ì° ê°ëšíì§ë§ ë³ìì ìŽëŠì ì§ì í ì ìë€ë ëšì
→ ìŽë¥Œ 볎ìíêž° ìí ë°©ë²ìŽ í€ìë ê°ë³ ìžì
í€ìë ê°ë³ ìžìë *륌 2ê° ì¬ì©íì¬ íšìì 맀ê°ë³ì륌 íìíë€. ê·žëŠ¬ê³ ì ë ¥ë ê°ì íí ìë£íìŽ ìë ëì ë늬 ìë£íìŒë¡ ì¬ì©í ì ìë€
<aside> ð¡ ëì ë늬ë ë³ìëª ê³Œ ê°ì ììŒë¡ ì ì¥íë ë°©ììŽëŒ ìê°íì (ìì§ ë°°ì°ì§ ìì ê°ëšíê² ìŽì ëë©Ž 충ë¶íë€!)
</aside>
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))
Kwarg_test(first = 3, second = 4, third = 5)
04 ì¢ì ìœë륌 ìì±íë ë°©ë²
01 ì¢ì ìœëì ì믞
- 1죌찚ë¶í° ë ê°ì¡°íë ê² → ìœëë ë íŒì ì§ë ê² ìëë€!
- íŒìì ìì±í ìë ìê² ì§ë§ ì°ëŠ° ì¬íì ìŽê³ ìêž° ë묞ì íì¬ììë ê°ìžìŽê±Ž ìœë륌 ê³µì íê² ëë€ ë°ëì
- ê·žëì ì¢ì ê·ì¹ìŽ íìíë€
- ì¢ì ê·ì¹: ë³ì ìŽëŠ ê·ì¹, íšì ìŽëŠ ê·ì¹ …
02 ìœë© ê·ì¹
- ë€ì¬ì°êž°ë 4 ì€íìŽì€
- í ì€ì ìµë 79ìê¹ì§
- ë¶íìí 공백 ì ê±°
- 죌ìì íì ê°±ì íê³ ë¶íìí 죌ì ìì
⇒ PEP8
ìŽë¬í ê·ì¹ë€ì ì ìí 묞ììŽë€. ë°ëì ì§ìŒìŒíë 걎 ìëì§ë§ ì ì§ìŒì ëì 걎 ì뀅
ìŽë¬í ê·ì¹ì ì ëë¡ ì§ìŒ°ëì§ íìžíë 몚ë: flake8
→ 몚ëê¹ì§ ì¡Žì¬íë ê±° 볎멎 ê·ì¹ì ì€ìì±ìŽ ëê»Žì§ ê²ìŽë€
03 íšì ê°ë° ê°ìŽëëŒìž
íšì ê°ë° ê°ìŽëëŒìžì íìŽì¬ íì ìŽ ìë íë¡ê·žëë° ì ë°ì ì ì©ìí¬ ì ìë ê²
íšì ìŽëŠ
- íšì ëŽì©ì ê°ë¥íë©Ž ì§§ê² ìì±(ì€ ì륌 ì€ìŒ ê²)
- íšì ìŽëŠì íšìì ìí 곌 ìë륌 ëª íí ëë¬ëŒ ê²
íšì ìí
- íëì íšììë ì ì¬í ìí ì íë ìœëë§ í¬íš
- íšìë í ê°ì§ ìí ì ëª ííê² íŽìŒ íë€
íšì륌 ë§ë€ìŽìŒ íë 겜ì°
- ê³µíµìŒë¡ ì¬ì©ëë ìœë륌 íšìë¡ ë³í
- ë³µì¡í ë¡ì§ìŽ ì¬ì©ëìì ë ìë³ ê°ë¥í ìŽëŠì íšìë¡ ë³í
a = 5
if (a>3):
print("Hello World")
print("Hello TEAMLAB")
if (a>4):
print("Hello World")
print("Hello TEAMLAB")
if (a>5):
print("Hello World")
print("Hello TEAMLAB")
def print_hello():
print("Hello World")
print("Hello TEAMLAB")
a= 5
if (a>3):
print_hello()
if (a>4):
print_hello()
if (a>5):
print_hello()
chapter05 íšì
íìµ ëª©í
- íšì륌 ì ìžíë ë°©ë², íšìì ì€í ìì, íšìì 4ê°ì§ ííì ëíŽ ìì볞ë€
- íšì륌 ížì¶íë ë°©ì곌 ë³ìì ì¬ì© ë²ìì ëíŽ íìµíê³ , ì¬ê· íšìì ëíŽ ìŽíŽíë€
- íšìì ìžììž í€ìë ìžì, ëíŽíž ìžì, ê°ë³ ìžì, í€ìë ê°ë³ ìžìì ëíŽ ìì볞ë€
- ì¢ì ìœëì ì믞륌 ìŽíŽíê³ , ìœë© ê·ì¹ê³Œ íšì ê°ë° ê°ìŽëëŒìžì ëíŽ íìµíë€
01 íšì êž°ìŽ
01 íšìì ê°ë 곌 ì¥ì
íšìë ìŽë€ ìŒì ìííë ìœëì ë©ìŽëŠ¬
<aside> ð¡ ê³µìì 믞늬 ë§ë€ìŽëê³ ì«ìë§ ëì íë©Ž ì죌 ìœê² ì£ ?
</aside>
- íìí ë ë§ë€ ížì¶ ê°ë¥
- íšìë ë°ë³µì ìŒë¡ ìííŽìŒ íë ì 묎륌 í ë²ë§ ìì±íŽ ëê³ íìí ë ë§ë€ ížì¶íì¬ ì¬ì©
- ìœë륌 ìì í ë ì¬ë¬ ë² ìì í íìììŽ í ë²ì ê°ë¥
- ë
ŒëŠ¬ì ìž ëšìë¡ ë¶í ê°ë¥
- íšìë ìœë륌 ë ŒëŠ¬ì ìž ëšìë¡ ëë ì ìë€
- ìœëì 캡ìí
- íšìì ìží°íìŽì€ë§ ì ì ìíë©Ž ë€ë¥ž ì¬ëìŽ ìì ì ìœë륌 ìœê² ê°ì žë€ ì¬ì©ìŽ ê°ë¥
- ìží°íìŽì€ë¥Œ ì ì ìíë€ = ìœëì ì ë ¥ëë ì ë ¥ê°ê³Œ ìœëì ìí ê²°ê³Œìž ì¶ë ¥ê°ì ëª íí íë€ë ê² (íìŽíž ë°ì€)
02 íšìì ì ìž
def íšì ìŽëŠ (맀ê°ë³ì):
ëª
ë ¹ë¬ž1
ëª
ë ¹ë¬ž2
return<ë°íê°>
def: definitionì ì€ìë§ë¡ íšìì ì ì륌 ììíë€ë ì믞
íšì ìŽëŠ: íšì ìŽëŠì ê°ë°ìê° ë§ìëë¡ ì í ì ìì ê·žë ì§ë§, ì묵ì ìž ê·ì¹ìŽ ìì
- ì묞ìë¡ ì ë ¥
- ëìŽì°êž°ë _êž°íž (underbar)
- ìì ì ëíëŽêž° ìíŽ ëì¬ ëª ì¬ íšê» ì¬ì© (e.g. find_number)
- ìžë¶ ê³µê° íšìë ì€ìë§ì ì¬ì©íì§ ìê³ ì§§ê³ ëª ë£íê² ì íë€
→ ë³ì ì ìžíë ê·ì¹ê³Œ ìë¹í ì ì¬íë€
맀ê°ë³ì(parameter): 맀ê°ë³ìë íšììì ì ë ¥ê°ìŒë¡ ì¬ì©íë ë³ì륌 ì믞, 1ê° ìŽìì ê°ì ì ì ì ìì
ëª ë ¹ë¬ž: ëª ë ¹ë¬žì ë°ëì ë€ì¬ì°êž°í í ìœë륌 ì ë ¥
ìííŽìŒíë ìœëë if묞ìŽë for묞곌 ê°ì ì ìŽë¬žìŽë ê³ êž íë¡ê·žëë° êž°ë²ì ì°êž°ë íš
return: ë°íìŽë print()륌 ì¬ì©íì§ ìê³ ë 결곌ê°ì 볎ì¬ì£Œë íšììŽë€ ìŠ, 결곌ê°ì ë°ííë ê°ìŽë€
<ì 늬>
- íšì륌 ë§ë€ ë def ì°êž°
- íšì ìŽëŠì ë³ì ìŽëŠê³Œ ì ì¬í ë°©ìì ì¬ì©íì¬ ì§êž°
- íšì ìŽëŠê³Œ 맀ê°ë³ì ì§ì ë€ ìœë¡ ì¬ì©
- ëª ë ¹ë¬žì ë°ëì ë€ì¬ì°êž° ì¬ì©
03 íšìì ì€í ìì
íšì륌 ë§ë€ê³ ëì íšì륌 ìšìŒê² ì£ ? ìŽ ê³Œì ì ëíŽ ìŽíŽë³Žê² ìµëë€
def calculate_rectangle_area(x,y):
return x * y
rectangle_x = 10
rectangel_y = 20
print("ì¬ê°í xì êžžìŽ:", rectangle_x)
print("ì¬ê°í yì êžžìŽ:", rectangle_y)
print("ì¬ê°íì ëìŽ:", calculate_rectangle_area(rectangle_x, rectangle_y))
íšìì ì ìë§ìŒë¡ë íšìê° ì€íëì§ ìëë€. ì°ëŠ¬ê° print()íšì륌 ì§ì ìœëì ìì±íì¬ ë¶ë¬ì€ë ê²ì²ëŒ ë§ë€ìŽì§ íšì륌 ë¶ë¬ì ì€ííŽìŒë§ ì¬ì©í ì ìë€
>>> ì¬ê°í xì êžžìŽ: 10
>>> ì¬ê°í yì êžžìŽ: 20
>>> ì¬ê°íì ëìŽ: 200
04 íë¡ê·žëë°ì íšìì ìíì íšì
- íë¡ê·žëë° íšìì ìíì íšìë ìë¹í ì ì¬!
- ìì ) f(x) = x+1<aside> ð¡ ììëë©Ž ìžëªšìë íëŒë¯ží°(parameter) vs ìžì(argument) íëŒë¯ží°ë íšì ìží°íìŽì€ ì ìì ììŽ ìŽë€ ë³ì륌 ì¬ì©íëì§ ì ìíë ê² ìžìë ì€ì 맀ê°ë³ìì ëì ëë ê° ëªšë íšìì ì ë ¥ê°ìŒë¡ ë¶ëŠ¬ì§ë§ ì íí ì믞륌 íì íê³ ì¬ì©í©ìë€!
- </aside>
05 íšìì íí
def a_rectangle_area():
print(5*7)
def b_rectangle_area():
print(x,y)
def c_rectangle_area(x,y):
return(5*7)
def d_rectangle_area(x,y):
return(x,y)
a_rectangle_area()
b_rectangle_area()
print(c_rectangle_area())
print(d_rectangle_area(5,7))
02 íšì ì¬í
01 íšìì ížì¶ ë°©ì
íšììì ë³ì ížì¶ ë°©ì
def f(x):
y = x
x = 5
return y*y
x=3
print(f(x))
print(x)
02 ë³ìì ì¬ì© ë²ì
ë³ìì ì¬ì© ë²ìë ë§ ê·žëë¡ ë³ìê° ìœëìì ì¬ì©ëë ë²ì
- ì§ì ë³ì(local variable): íšì ëŽë¶ììë§ ì¬ì©
- ì ì ë³ì(global variable): íë¡ê·žëš ì 첎ìì ì¬ì©
def test(t):
print(x)
t = 20
print("In Function:", t)
x = 10
test(x)
print("In Main:", x)
print("In Main:", t)
def f():
s = " I love London!"
print(s)
s = " I love Paris!"
f()
print(s)
def f():
global s
s = " I love London!"
print(s)
s = " I love Paris!"
f()
print(s)
def calculate(x, y):
total = x + y
print("In Function")
print("a:",str(a), str(b), "a+b:", str(a+b), "total:", str(total))
return total
a = 5
b = 7
total = 0
print("In Program -1")
print("a:",str(a), str(b), "a+b:", str(a+b))
sum = calculate(a,b)
print("After Calculate")
print("Total:", str(total), "sum:", str(sum))
03 ì¬ê· íšì
ì¬ê·íšìë ìêž° ìì ì ë€ì ížì¶íë íšì
ìì ì ìŽì©íì¬ ë€ë¥ž íšì륌 ì ìí ë ì¬ì©
e.g.) ìíì ì íì
def factorial(n):
if n == 1:
return 1
else:
return n * factorial (n-1)
print(factorial(int(input("Input Number for Factorial Calculation:")))
03 íšìì ìžì
01 í€ìë ìžì
í€ìë ìžìë íšìì ì ë ¥ëë 맀ê°ë³ìì ë³ìëª ì ì¬ì©íì¬ íšìì ìžì륌 ì§ì íë ë°©ë²
def print_somthing(my_name, your_name):
print("Hello {0}, My name is {1}".format(your_name, my_name))
print_something("Sungchul", "TEAMLAB")
print_something(your_name = "TEAMLAB", my_name = "Sungchul")
02 ëíŽíž ìžì
ëíŽíž ìžìë 맀ê°ë³ìì Ʞ볞ê°ì ì§ì íì¬ ì¬ì©íê³ , ìë¬Žë° ê°ë ìžìë¡ ëìŽê°ì§ ìì ë ì§ì ë Ʞ볞ê°ì ì¬ì©íë ë°©ì
def print_somthing_2(my_name, your_name = "TEAMLAB"):
print("Hello {0}, My name is {1}".format(your_name, my_name))
print_something_2("Sungchul", "TEAMLAB")
print_something_2("Sungchul")
03 ê°ë³ ìžì
ê°ë³ ìžìë ìœë륌 ìì±í ë ê°ë íšìì 맀ê°ë³ì ê°ì륌 ì íì§ ìììŒ íë 겜ì°ê° ìë€ ìŽë ì¬ì©íë ê²ìŽ ê°ë³ ìžììŽë€.
def asterisk_test(a,b, *args)
return a+b+sum(args)
print(asterisk_test(1,2,3,4,5))
def asterisk_test(a,b, *args)
print(args)
print(asterisk_test(1,2,3,4,5))
def asterisk_test_2(*args)
x, y, *z = args
return x,y,z
print(asterisk_test_2(3,4,5))
def asterisk_test_2(*args)
x, y, *z = args
return x,y,z
print(asterisk_test_2(3,4,5,10,20))
04 í€ìë ê°ë³ ìžì
ê°ë³ ìžìë ë³ìì ììëë¡ íí ííë¡ ì ì¥ëë€ ì¬ì©í ëë ë§€ì° ê°ëšíì§ë§ ë³ìì ìŽëŠì ì§ì í ì ìë€ë ëšì
→ ìŽë¥Œ 볎ìíêž° ìí ë°©ë²ìŽ í€ìë ê°ë³ ìžì
í€ìë ê°ë³ ìžìë *륌 2ê° ì¬ì©íì¬ íšìì 맀ê°ë³ì륌 íìíë€. ê·žëŠ¬ê³ ì ë ¥ë ê°ì íí ìë£íìŽ ìë ëì ë늬 ìë£íìŒë¡ ì¬ì©í ì ìë€
<aside> ð¡ ëì ë늬ë ë³ìëª ê³Œ ê°ì ììŒë¡ ì ì¥íë ë°©ììŽëŒ ìê°íì (ìì§ ë°°ì°ì§ ìì ê°ëšíê² ìŽì ëë©Ž 충ë¶íë€!)
</aside>
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))
Kwarg_test(first = 3, second = 4, third = 5)
04 ì¢ì ìœë륌 ìì±íë ë°©ë²
01 ì¢ì ìœëì ì믞
- 1죌찚ë¶í° ë ê°ì¡°íë ê² → ìœëë ë íŒì ì§ë ê² ìëë€!
- íŒìì ìì±í ìë ìê² ì§ë§ ì°ëŠ° ì¬íì ìŽê³ ìêž° ë묞ì íì¬ììë ê°ìžìŽê±Ž ìœë륌 ê³µì íê² ëë€ ë°ëì
- ê·žëì ì¢ì ê·ì¹ìŽ íìíë€
- ì¢ì ê·ì¹: ë³ì ìŽëŠ ê·ì¹, íšì ìŽëŠ ê·ì¹ …
02 ìœë© ê·ì¹
- ë€ì¬ì°êž°ë 4 ì€íìŽì€
- í ì€ì ìµë 79ìê¹ì§
- ë¶íìí 공백 ì ê±°
- 죌ìì íì ê°±ì íê³ ë¶íìí 죌ì ìì
⇒ PEP8
ìŽë¬í ê·ì¹ë€ì ì ìí 묞ììŽë€. ë°ëì ì§ìŒìŒíë 걎 ìëì§ë§ ì ì§ìŒì ëì 걎 ì뀅
ìŽë¬í ê·ì¹ì ì ëë¡ ì§ìŒ°ëì§ íìžíë 몚ë: flake8
→ 몚ëê¹ì§ ì¡Žì¬íë ê±° 볎멎 ê·ì¹ì ì€ìì±ìŽ ëê»Žì§ ê²ìŽë€
03 íšì ê°ë° ê°ìŽëëŒìž
íšì ê°ë° ê°ìŽëëŒìžì íìŽì¬ íì ìŽ ìë íë¡ê·žëë° ì ë°ì ì ì©ìí¬ ì ìë ê²
íšì ìŽëŠ
- íšì ëŽì©ì ê°ë¥íë©Ž ì§§ê² ìì±(ì€ ì륌 ì€ìŒ ê²)
- íšì ìŽëŠì íšìì ìí 곌 ìë륌 ëª íí ëë¬ëŒ ê²
íšì ìí
- íëì íšììë ì ì¬í ìí ì íë ìœëë§ í¬íš
- íšìë í ê°ì§ ìí ì ëª ííê² íŽìŒ íë€
íšì륌 ë§ë€ìŽìŒ íë 겜ì°
- ê³µíµìŒë¡ ì¬ì©ëë ìœë륌 íšìë¡ ë³í
- ë³µì¡í ë¡ì§ìŽ ì¬ì©ëìì ë ìë³ ê°ë¥í ìŽëŠì íšìë¡ ë³í
a = 5
if (a>3):
print("Hello World")
print("Hello TEAMLAB")
if (a>4):
print("Hello World")
print("Hello TEAMLAB")
if (a>5):
print("Hello World")
print("Hello TEAMLAB")
def print_hello():
print("Hello World")
print("Hello TEAMLAB")
a= 5
if (a>3):
print_hello()
if (a>4):
print_hello()
if (a>5):
print_hello()
'ð ì€í°ë > íìŽì¬ ì€í°ë ê°ììë£' 칎í ê³ ëŠ¬ì ë€ë¥ž êž
[1í/íìì] 5ì°šì íìŽì¬ ì€í°ë - íšì (0) | 2023.04.06 |
---|---|
[4í/ìŽì ì] 5ì°šì íìŽì¬ ì€í°ë - íšì (0) | 2023.04.06 |
[1í/íê·ëŠŒ] 5ì°šì íìŽì¬ ì€í°ë - íšì (0) | 2023.04.06 |
[2í/ê¹ê°ëŠŒ, ìµë€ì] 5ì°šì íìŽì¬ ì€í°ë - íšì (0) | 2023.04.06 |
[3í/ê¹ê²œì] 5ì°šì íìŽì¬ ì€í°ë - íšì (0) | 2023.04.05 |