이야기 할 것들 

  • 우물밖을 벗어나자 
  • 네트워크 ,파일
  • 개행문자 



우물 밖을 벗어나자 


내가 지금까지 배운걸 보면 작은 컴퓨터안에서 만드는 것이지만  

외부 데이터를 활용하면 좀더 다양한것들을  할 수있다  ( 우리가 배운건 컴퓨터 안에서 사용법. 다양한 데이터베이스들은 컴퓨터 밖에 있다. )


코드작성을 넘어 네트워크에 접속해서 이런 외부데이터를 가지고 활용하는 법을 익히자 .  이것을 익히려면 네트워크, 데이터베이스 , 파일,등등에 대해 알아야 한다. 

첫걸음으로 '파일' 에 대해 배우자(개념은 인터넷검색 ㄱㄱ) 



파일 


대표적으로 본 여러줄 글의 묶음을 문서파일 이라고 한다. 

내가 지금까지 예제를 풀기 위해  만들었던 파일들이 다 파일이다


파이썬을 이용한 코드 작성중 

open( ) 을 이용해 외부 파일을 가져온다,  이 함수는 실제 파일을 읽기 가능하게 한다 . (파일 핸들을 반환합니다)

-> 참고.  실제로 파일을  그대로 보여주는 것이 아니다.  


open함수의 매개변수는 열고자 하는 파일명 이다.


오픈함수로 파일핸들을 반환해서 우리가 만든 변수에 저장된다 

에시

         x = open('Korea.txt') 


(참고 ,파일안의 내용을 반환하는것이 아니다.  파일핸들을 반환하는것이다.)


파일핸드란? 

파일을 읽을 수도 있고, 파일안에 내용을 쓸 수도 있는것을 의미한다.



개행문자 \n


개행문자 : 다음줄로 가야하는것을 알려주는 문자    ( \n) 

파일을 읽는데 중요한것이 개행문자이다 .  


(참고.  \n 도 하나의 문자이다 ) 

(x\ny) 를 출력하면 

x

이다 .  

이것의 인덱스는  x 0번째,  \n 1번째, y 2번째이다.

이야기 할 내용 

  • 문자열의 특징
  • 메소드? 라이브러리? 
  • 예시를 들어 연습



문자열의 특징 



타입이 문자열일때 각 문자는 정해진 자리와  독립된 인덱스가 있다 (좌표를 갖고 그 좌표는 0에서 시작합니다.)

이걸로 문자열 안의 각 문자를 색인할 수있다. 


예시. 



(b라는 문자는 0번째 자리,,,,, ) 


이것으로 

문자열이 얼마나 긴지 볼 수 있다.  print( len('banana')).   ->  6 

이건 길이는 나타내는것이다 . 좌표를 나타내는것이 아니다  (print(len('banana'))  -> 5.    마지막 좌표는 '5'



문자열에 이런 인덱스는 반복과 조건 루프를 이용해 다양한 활용을 할수 있다. 

문자 있는지 없는지   (예.  k in 'korea'  -> True )

문자 찾기 .      (예.  x ='Korea'   x.find('ea')  -> 3.   ( 3번째 자리라는걸 찾았다 ,  찾는게 없으면 -1을 반환) 


  

메소드 


아무 문자열을 만드는 순간 그 문자열 안에  어떤라이브러리가 포함된다.. ( 이 라이브러리안에는 다양한 메소드를 가지고 있다  )  

그래서 메소드를 사용할 수 있는것이다. 



메소드 : 특수한 형태의 함수호출

원래는 함수에 매개변수(인자)를 입력해서 호출을 했었다. (예를 들면  print( x ).)

메소드는. ' . ' 을 이용해 호출을 한다.(예를 들면 x.find('re') ) 

 

(메소드 좀더 자세한 예시.)

       greet = 'Hello' 

       print( greet.lower). => 소문자 버전 'hello".       



자주쓰는 메소드들


x = 'korea' 를 예로 든다 . 

메쏘드 쓸때 원본훼손 없이 사용 하자.  y = x,upper( ) 이런식으로 새 변수를 만들고 담자 )    


문자 찾기. x.find('re').          ->.2

대문자로 바꾸기 x.upper()    -> KOREA

소문자로 바꾸기 x.lower().    -> korea

바꿔치기. x, replace('a','e').   - > 'koree

여백지우기  x.stripe ( ).  <왼쪽만 , x.lstripe(). 오른쪽만 x.rstrip()   -> ('그냥 공백이 사라져요')

시작여부 확인. x.startswitch('k').  - > True





예시로 연습하자 ( 메소드를이용한 원하는 문자 추출하기) 


(여기서 추출한건 문자열이다 계산시 float( ) 를 쓸것! 


이야기할 내용


  • 함수소개
  • 함수예시
  • 함수는 사실  전부터 쓰고 있었다.
  • 함수에서 쓰이는 인자(=매개변수), return문


<함수>


함수란? : "코드를 저장했다 재사용하는것이다 ."

함수를 쓰는이유는 :  " 같은 작업을 반복시키지 않는것 " 이다. 


예를들어  : 

1.  우리가 쓰던 다섯줄의 코드가 있고  그 코드가 하는 작업을 다시 하고 싶을때  같은 줄의 코드를 다시 입력하고 싶지 않아한다. 

2.  그렇게 쓰던 코드가 프로그램에서 다른 열두곳에서 존재한다면 열두군데 모두 찾아서 고쳐야한다.

 


--> 다시쓸 코드를 저장해두고  호출해서 재사용하는 것이  함수가 작동하는 방식이다. 



<기본적인 함수 형태 >



  • If 구문과 비슷하다 (들여쓰기 내여쓰기)
  • def 로 시작해서 함수를 새로 정의해서 기록(저장)해둠
  • 함수이름인 thing() 을 입력하면 함수를 내보냄
  • 익숙해져야할 부분은 우리가 만든 함수는 실제로 실행되는 부분이 아니라는 점 -> 기억하는 단계라고 보자 .  (저장단계)


<사실 전부터 쓰고 있었다.>


사실 우리는 처음부터 함수를 사용하고 있었다 (예. print(), int() input( ) ......   . -->이것들이 다함수 

결과적으로 우리가 임의로 함수를 만드는것은 우리가 새로운 예약어를 만들어사용하는것이다 





<인자가 들어가는 함수>

함수를 저장하고  호출한다면 인자,매개변수를 입력해서  그함수가 하는 일을 다양하게  할 수 있다.  


예시


<설명 >
greet라는 이름으로 나라면 인사를 호출하는 함수를 저장했다. 
매개변수(lang)에 조건을 두어 다양한 인사를 호출하게 만들었다 .


<반환문 'Return'>
 
함수에 무언가를 집어 넣었다면, 무언가를 다시 가져 오는것이 반환의 개념이다 . 
함수에  무엇을 하던간에  무엇을 호출할지 , 남길지 ,반환할지 지정 할수 있는 문이다.
반환문은 두가지 일을 하는 구문이다 . 



첫번째로 하는일 : 종료. (break 문과 같은점) 
-반환문을 만나면 그아랫줄 코드 읽는 것을 멈추고   함수의 호출을 종료한다
 

두번째로 하는일: 매개변수로 간주된다 .(break문과 다른점)
- 매개변수로 간주되어 반환하고 자 하는 값을 반환하고 종료한다. 
- return은 표현의 잔여값으로 무엇을 남길지 표시할 수 있다.  


(예를 들면)


우리가 쓰는 함수를 쓸때  호출하는 표현식의 관계없이 return으로 출력을 제어하는 방법을 보고있다. 

<return 대해 조금더 알자> 



 (예시 2)



내장 함수 max( ) 를 예시를 든다면,(max = 인자안의 값중 가장큰 값을 호출하는 내장함수) 
max( 'hello world') 를 호출한다면 인자값(int)이 'hello world'가 되고 ...

1.그 변수(int)안 어딘가에
2.(blah ,blah) 반복문을 돌려 무언가를 찾아낸 다음에 
3. return 을 통해 우리에게 다시 무엇을 돌려보내고 싶은지 말하고 있다.




< 결론 >
  •  함수란 쓰던 코드를 한곳에  저장해둔것 ( 필요할때 호출해서 쓸 수 있고,  오류날시 쉽게 찾을 수 있다. )

  • 파이썬을 배우면서 우리는 함수를 쓰고 있었다. (input( ) ,,,, print( ) 
  • 어떤함수의 인자값에 무엇을 입력했을때 무엇을  반환할지 return 으로 지정할 수있다. 
  • return은 써도되고 안써도된다 . 
  • 코드를 작성할때 반복해서 적는것에 지칠때 함수를 쓰자. 









+ Recent posts