def add(a, b):
return a+b
print add(1, 2)
print
def myabs(x):
if x < 0 :
x = -x
return x
print abs(-4)
print myabs(-4)
def add(a, b):
return a + b
print add
c = add(10, 30)
print c
f = add
print f(4, 5)
print f
print f is add
def simpleFunction():
pass
simpleFunction()
def addmember(members, newmember):
if newmember not in members: # 기존 멤버가 아니면
members.append(newmember) # 추가
members = ['hwang', 'lee', 'park', 'youn'] # 리스트에 초기 멤버 설정
addmember(members, 'jo') # 새로운 멤버 추가
addmember(members, 'hwang') # (이미 존재하는) 새로운 멤버 추가
print members
def f1(b):
b = 100
a = 200
f1(a)
print a
def f2(b):
b = "abc"
a = "def"
f2(a)
print a
def f3(b):
b = (1,2,3)
a = (4,5,6)
f3(a)
print a
def f4(b):
b[1] = 10
a = [4,5,6]
f4(a)
print a
def f5(b):
b['a'] = 10
a = {"a":1, "b":2}
f5(a)
print a
def nothing():
return
print nothing()
def print_menu():
print '1. Snack'
print '2. Snake'
print '3. Snick'
print_menu()
a = print_menu()
print a
def abs(x):
if x < 0 : return -x
return x
print abs(-10)
def swap(x, y):
return y, x # 튜플로 리턴된다.
a = 10
b = 20
print a, b
print
a, b = swap(a, b) # 결과적으로 a, b = b, a와 동일
print a, b
print
a = 10
b = 20
x = swap(a, b)
print x[0], x[1] # 하나의 이름으로 튜플을 받아서 처리할 수 도있다.
def length_list(l):
res = []
for el in l:
res.append(len(el))
return res
l = ['python', 'pyson', 'pythong', 'pydon']
print length_list(l)
l = ['python', 'pyson', 'pythong', 'pydon']
print [len(s) for s in l]
def add(a, b):
return a + b
c = add(1, 3.4)
d = add('dynamic', 'typing')
e = add(['list'], ['and', 'list'])
print c
print d
print e
def incr(a, step=1):
return a + step
b = 1
b = incr(b) # 1 증가
print b
b = incr(b, 10) # 10 증가
print b
def incr(step=1, a):
return a + step
def incr(a, step=1, step2=10):
return a + step + step2
print incr(10)
def area(height, width):
return height * width
#순서가 아닌 이름으로 값이 전달
a = area(height='height string ', width=3)
print a
b = area(width=20, height=10)
print b
print area(20, width=5)
area(width=5, 20)
def incr(a, step=1, step2=10, step3=100):
return a + step + step2 + step3
print incr(10, 2, step2=100)
def incr(a, step=1, step2=10, step3=100):
return a + step + step2 + step3
print incr(10, 2, step2=100, 200)
def incr(a, step=1, step2=10, step3=100):
return a + step + step2 + step3
print incr(10, 2, step2=100, step3=200)
def varg(a, *arg):
print a, arg
varg(1)
varg(2,3)
varg(2,3,4,5,6)
def printf(format, *args):
print format % args
printf("I've spent %d days and %d night to do this", 6, 5)
def h(a, b, c):
print a,b,c
args = (1, 2, 3)
h(*args)
dargs = {'a':1, 'b':2, 'c':3}
h(**dargs)
참고 문헌: 파이썬(열혈강의)(개정판 VER.2), 이강성, FreeLec, 2005년 8월 29일