U E D R , A S I H C RSS

2학기파이선스터디/함수


1.

~cpp 
def 함(..):
    (statements)
    return <>


~cpp 
def add(a,b):
    return a+b

return . def
add . , add reference .

add 해 함 .
~cpp 
>>> f = add
>>> f(4,5)
9

pass (statement). 함 한 한 .
~cpp 
def add(a,b):
    pass

2.

~cpp 
>>> def f(t):
	t = 10

	
>>> a = 20      # a  20 .
>>> f(a)        # a t 통해  t a  .  t = 10 t  10 .  a  .
>>> print a
20

3. return

~cpp 
>>> def f():
	return

>>> f()
>>> a = f()
>>> print a
None
return .
return, None .
None , .

a .

return None .
, None .

4. Scoping Rule

*
  • (local scope) - 함
  • (global scope) - (파)
  • (built-in scope) - 파

LGB .
LGB Local, Global, Built-in , , .

~cpp 
# g, h  
g = 10
h = 5

def f(a):       # a 
    h = a + 10  # h ( )
    b = a + g   # b , g 
    return b

g, h , a,b .
h h,
h .
f f ( ).


f h (, h )
global h .
~cpp 
def f(a):       # a 
    global h
    h = a + 10  # h 

~cpp 
g = 10

def f():
    a = g
    g = 20
    return a

f()

  • (Nested scopes) (2.1)

~cpp 
x = 2           # global
def F():
    x = 1       # 함 G   local global 
    def G():
        print x
    G()

F()
G x (함 G), (), F x .(x = 2)
2.1 F x .

5.

5.1.

~cpp 
>>> def incr(a, step=1):
	return a + step

>>> b = 1
>>> b = incr(b)        # 1 
>>> b
2
>>> b = incr(b, 10)    # 10 
>>> b
12

5.2.

~cpp 
>>> def area(height, width):
	print height, width
	#     

	
>>> a = area(width=20, height=10)
10 20

5.3.

- 튜플 형
~cpp 
>>> def varg(a, *arg):
	print a, arg
	
>>> varg(1)
1 ()
>>> varg(2,3)
2 (3,)
>>> varg(2,3,4,5,6)
2 (3, 4, 5, 6)

5.4.

**kw형 .
. 키(), .
~cpp 
>>> def f(width, height, **kw):
	print width, height
	print kw

	
>>> f(width = 10, height=5, depth=10, dimension=3)
10 5
{'depth': 10, 'dimension': 3}

5.5. 튜플 (2.0 )

~cpp 
>>> def h(a,b,c):
	print a,b,c

	
>>> args = (1,2,3)
>>> h(*args)
1 2 3
~cpp 
>>> dargs = {'a':1, 'b':2, 'c':3}
>>> h(**dargs)
1 2 3
~cpp 
>>> args = (1,2)
>>> dargs ={'c':3}
>>> h(*args, **dargs)
1 2 3

6.

.
~cpp 
lambda   : 
~cpp 
>>> f = lambda:1
>>> f()
1
~cpp 
>>> g = lambda x, y: x+y
>>> g(1,2)
3
~cpp 
>>> incr = lambda x, inc=1: x+inc
>>> incr(10)
11
>>> incr(10,5)
15
~cpp 
>>> vargs = lambda x, *args: args
>>> vargs(1,2,3,4,5)
(2, 3, 4, 5)
~cpp 
>>> kwords = lambda x, *args, **kw: kw
>>> kwords(1,2,3, a=4, b=6)
{'a': 4, 'b': 6}
def lambda 함
/ (statement) (expression)
def 한 함 환한
포함
return

7.

~cpp 
>>> def sum(N):
	if N==1: return 1
	return N + sum(N-1)

>>> sum(10)
55
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:22:13
Processing time 0.0612 sec