def 함수명(인수1, 인수2 ...):
<구문>
return <반환값>
>>>def Times(a,b):
return a*b
>>>MyTimes = Times # shallow copy로 같은 함수를 가리킴.
return은 한개의 객체만 리턴 가능. 따라서 하나의 튜플을 리턴하면 여러 값을 리턴하는 효과.
>>>def swap(x,y):
return y, x
>>>a,b = swap(1,2)
>>>a
2
>>>b
1
변수 검색 규칙 : LOCAL -> GLOBAL -> BUILT-IN
지역에서 전역 변수를 사용하고 싶을 경우 global 사용.
>>>g=1
>>>def testScope(a):
global g
g=2
return g+a
>>>testScope(1)
3
>>>g
2
>>>def test(*args): # 가변 인수 리스트. 튜플 형태로 처리.
>>>def userURIBuilder(server, port, **user): # 정의되지 않은 인수 처리.
str = "http://"+server+":"+port+"/?"
for key in user.keys():
str+= key+"="+user[key]+"&"
return str
>>>g = lambda x, y : x * y # 익명함수. 사용 후 바로 사라짐.
>>g(2,3)
6
>>>while True: # 무한루프
pass
>>> class temp: # 빈 클래스
pass
>>>s='abc'
>>>it=iter(s)
>>>next(it)
'a'
>>>next(it)
'b'
>>>def reverse(data): # yield는 스택의 메모리를 그대로 보관하고 결과값을 호출한 곳에 돌려줌
for index in range(len(data) -1, -1, -1):
yield data[index]
>>for char in reverse('golf')
print(char)
f
l
o
g
'Python' 카테고리의 다른 글
python socket server client (0) | 2014.05.10 |
---|---|
python 제어문 (0) | 2014.05.05 |
python shallow copy, deep copy (0) | 2014.05.05 |
python list, set, tuple, dictionary (0) | 2014.05.05 |
python unicode (0) | 2014.05.05 |