3장 함수<br />Python 3 프로그래밍<br />2011.04. 30<br />원종필<br />
함수 선언<br /><ul><li>def키워드로 시작해서 : 로 끝낸다
함수시작과 끝은 들여 쓰기로 구분한다</li></ul>def 함수명(인수1,인수2…):<br />함수 구문<br />return 반환값<br /><ul><li>함수 선언 예</li></li></ul><li>def 키워드...
Test는 생성된 함수 객체의 레퍼런스이다</li></ul>함수 객체(Function Object)<br />Test<br />함수 객체(Function Object)<br />Test<br />TestB<br />
return 키워드<br /><ul><li>하나의 객체만 반환할 수 있다.</li></ul>2<br />(1,2)<br /><type 'int'><br /><type 'tuple'><br /><ul><li>여러 값을 반...
변경 가능/불가능 변수에 따라 함수 내부에서 처리가 다르다</li></ul>2<br />['T', 'Y', 'T', 'H', 'O', 'N']<br /><ul><li>변경 불가능 인수일 경우 호출자 내부의 객체를 가리키...
함수 인수 – 기본 인수값<br /><ul><li>인수를 지정하지 않아도 초기값을 사용하게 만들 수 있다</li></ul>인수에 원하는 값으로 넘길 수 도 있고,<br />기본 인자만을 사용해서 함수를<br />호출할 ...
함수 인수 – 키워드 인수<br /><ul><li>인수 이름으로 값을 전달하는 방식
인수의 순서를 맞추지 않아도 된다</li></ul>인수 이름으로 값을 전달하기 때문에<br />인수의 전달 순서와 관계없이 사용가능<br />키워드 인수는 일반 인수 뒤에<br />위치해야만 한다<br />키워드 인수 ...
함수 인수 – 가변 인수 리스트<br /><ul><li>인수의 개수가 정해지지 않은 가변인수를 처리할 수 있다
인수 앞에 *를 붙이면 된다</li></ul>가변 인수를 선언하고<br />리스트에 대한 처리를 한다<br />가변 인수를 받도록 했기 때문에<br />인수의 개수를 마음껏 넣을 수 있다<br />가변 인수선언 뒤에 <...
함수 인수 – 정의되지 않은 인수 처리<br /><ul><li> **를 사용하여 정의되지 않은 인수를 사전형식으로 처리한다
내부적으로 사전형식으로 처리되게 인수는 사전형식에 맞게넘겨줘야 한다</li></ul>사전형식에 맞게 key, value형식으로 넘겨준다<br />결과 : http://test.com:8080/?passwd=1234&id...
람다 함수<br /><ul><li>함수는 이름이 없이 객체만 있을 뿐이고 기본 레퍼런스를이름이라 지칭 한 것인데 람다함수는 이름없는 함수 자체를사용하는 것이다
Upcoming SlideShare
Loading in …5
×

[2011 04 30]python-3장

1,135 views
1,010 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,135
On SlideShare
0
From Embeds
0
Number of Embeds
84
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

[2011 04 30]python-3장

  1. 1. 3장 함수<br />Python 3 프로그래밍<br />2011.04. 30<br />원종필<br />
  2. 2. 함수 선언<br /><ul><li>def키워드로 시작해서 : 로 끝낸다
  3. 3. 함수시작과 끝은 들여 쓰기로 구분한다</li></ul>def 함수명(인수1,인수2…):<br />함수 구문<br />return 반환값<br /><ul><li>함수 선언 예</li></li></ul><li>def 키워드<br /><ul><li>함수객체(function object)를 만드는 키워드
  4. 4. Test는 생성된 함수 객체의 레퍼런스이다</li></ul>함수 객체(Function Object)<br />Test<br />함수 객체(Function Object)<br />Test<br />TestB<br />
  5. 5. return 키워드<br /><ul><li>하나의 객체만 반환할 수 있다.</li></ul>2<br />(1,2)<br /><type 'int'><br /><type 'tuple'><br /><ul><li>여러 값을 반환할 경우 튜플(tuple)로 만들어서 반환된다</li></li></ul><li>인수전달<br /><ul><li>인수를 레퍼런스로 전달된다
  6. 6. 변경 가능/불가능 변수에 따라 함수 내부에서 처리가 다르다</li></ul>2<br />['T', 'Y', 'T', 'H', 'O', 'N']<br /><ul><li>변경 불가능 인수일 경우 호출자 내부의 객체를 가리키는 것이 아니라 함수 내부에 새로 생성된 객체를 가리키게 된다</li></li></ul><li>스코핑 규칙<br /><ul><li>지역(Local)영역, 전역(Global)영역, 내장 영역(Built-in)</li></ul>내장 영역<br /><ul><li>함수 내부(지역)에서 변수를찾지 못하면 상위영역(전역)에서 찾고 없으면 내장영역에서 찾는다</li></ul>전역 영역<br />지역영역<br /><ul><li>지역영역에서 전역영역 변수를사용하려면 global 선언문을 사용한다 </li></ul>TestD() 내부에서 y를 1로 바꾸지만<br />지역영역에서 변수를 선언 하는것과<br />동일하게 동작하지만 x는 global로<br />전역영역의 값을 참조한다고 했기에<br />전역영역의 x값을 10으로 바꿀 수 있다.<br />
  7. 7. 함수 인수 – 기본 인수값<br /><ul><li>인수를 지정하지 않아도 초기값을 사용하게 만들 수 있다</li></ul>인수에 원하는 값으로 넘길 수 도 있고,<br />기본 인자만을 사용해서 함수를<br />호출할 수도 있다.<br />기본 인수 값을 사용하는 인수 뒤에 <br />기본 인수 값이 없는 인수가 올 수 없다<br />컴파일 에러가 발생<br />
  8. 8. 함수 인수 – 키워드 인수<br /><ul><li>인수 이름으로 값을 전달하는 방식
  9. 9. 인수의 순서를 맞추지 않아도 된다</li></ul>인수 이름으로 값을 전달하기 때문에<br />인수의 전달 순서와 관계없이 사용가능<br />키워드 인수는 일반 인수 뒤에<br />위치해야만 한다<br />키워드 인수 이후 순서에 의한인수 매칭은 할 수 없다<br />
  10. 10. 함수 인수 – 가변 인수 리스트<br /><ul><li>인수의 개수가 정해지지 않은 가변인수를 처리할 수 있다
  11. 11. 인수 앞에 *를 붙이면 된다</li></ul>가변 인수를 선언하고<br />리스트에 대한 처리를 한다<br />가변 인수를 받도록 했기 때문에<br />인수의 개수를 마음껏 넣을 수 있다<br />가변 인수선언 뒤에 <br />일반 인수 선언을 할 수 없다<br />
  12. 12. 함수 인수 – 정의되지 않은 인수 처리<br /><ul><li> **를 사용하여 정의되지 않은 인수를 사전형식으로 처리한다
  13. 13. 내부적으로 사전형식으로 처리되게 인수는 사전형식에 맞게넘겨줘야 한다</li></ul>사전형식에 맞게 key, value형식으로 넘겨준다<br />결과 : http://test.com:8080/?passwd=1234&id=user&<br />
  14. 14. 람다 함수<br /><ul><li>함수는 이름이 없이 객체만 있을 뿐이고 기본 레퍼런스를이름이라 지칭 한 것인데 람다함수는 이름없는 함수 자체를사용하는 것이다
  15. 15. lambda 인수 : 구문형식으로 정의한다</li></ul>람다함수를 만들어서 (3,4)의<br />결과를 반환한 후 바로 사라진다<br />람다함수를 만들지만 g가 레퍼런스를 <br />가지고 있기 때문에 사용 후 사라지지 않는다<br />
  16. 16. pass 키워드<br /><ul><li>함수, 클래스 메소드에서 아무런 동작도 수행하지 않는다</li></ul>특별히 하는 일은 없지만<br />컴파일에러 없이 구문을 완성할 수 있다<br />다.. 쓰일 때가 있는 것~<br />
  17. 17. Q / A<br />
  18. 18. END<br />

×