티스토리 뷰

1. 들여쓰기


-파이썬은 다른 언어와 달리 제어문,함수,클래스 등에서 실행코드를 구분해주는 괄호 { } 가 없다.

-대신 들여쓰기가 있다!

-제어문이나 함수 이름, 클래스 이름 뒤에 콜론' : ' 으로 제어문,함수 이름,클래스 이름의 끝을 표시하고 ' : ' 다음에 실행코드를 작성 


-실행코드가 한 줄인 경우

if 'a' in listdata: print('a is in listdata')

-> if 'a' in listdata : 제어문


-실행코드가 한 줄 이상인 경우

if 'a' in listdata:

실행코드 # 반드시 들여쓰기!



1) 가장 바깥쪽의 실행코드는 들여쓰기 없이 시작

(공백) if 'a' in listdata: print('a is in listdata')

-if 앞에 공백이 있으면 오류 발생


2) ' : ' 다음 줄부터 시작하는 실행코드의 들여쓰기 간격이 모두 동일해야 함

if 'a' in listdata:

print('a is in listdata')

print(listdata)



2. 함수 활용하기


-정의

def 함수명(인자,인자,...):

코드

return(리턴값)


1)정의 규칙

- def 함수 이름(인자,인자,...): 으로 함수 이름과 인자를 정의

- 들여쓰기 하고 코드 작성

- 함수의 리턴값은 return(리턴값)

- 함수의 리턴값이 없을 경우 함수 코드 마지막에 return으로 마무리하거나, return 생략 가능



3. string.replace()


-문자열 객체의 replace()는 문자열에 있는 특정 문자 또는 문자열을 다른 문자 또는 문자열로 바꿈



4. if __name__ == '__main__':


-파이썬에서 main() 함수 역할을 하는 것

>>> if __name__ == '__main__': (앞으로 __main__이라 축약해 부르기로 한다.)


- __main__이 있으면 작성된 코드의 순서에 상과없이 이곳에 작성된 코드를 먼저 실행한다.

- 다른 언어와 다르게 파이썬의 __main__은 파이썬 소스코드 파일 별로 하나씩 있을 수 있다.



EX)

dec.py


import enc


def decryption():

    print('Decryption')     

                           

if __name__ == '__main__':

    enc.encryption()

    decryption()


<실행결과>

 Encryption

 Decryption



enc.py


import dec


def encryption():

    print('Encryption')                                   

     

if __name__ == '__main__':

    dec.decryption()

    encryption()


<실행결과>

Decryption

Encryption






5. import


-파이썬 소스코드에서 외부 모듈이나 함수를 사용하려면 import 키워드로 해당 모듈 또는 함수를 import 해야함


1) import의 일반적인 사용법


import 모듈이름

import 모듈이름.서브모듈이름

from 모듈이름 import 모듈이름 또는 함수이름

import 모듈이름 as 닉네임



-파이썬 기본 모듈이 sys를 import하는 경우

>>> import sys


-같은 폴더에 있는 내가 만든 소스코드 파일인 mycode.py를 import 하는 경우

>>> import mycode


-파이썬 기본 모듈인 os의 서브 모듈인 path를 import 하는 경우

>>> import os.path


-파이썬 모듈인 time 모듈에 있는 time() 함수만 import 하여 함수 이름만으로 호출하여 사용하고자 하는 경우

>>> import time


-time 모듈에 있는 모든 함수를 이 파일에서 구현한 함수처럼 사용하고자 하는 경우

>>> from time import*


-모듈 이름이 길거나 어려워서 단축 이름으로 만들고자 하는 경우

>>> import numpy as np




# 파이썬 패키지 : 파이썬 모듈을 계층적인 디렉터리 형태로 구성한 것

-디렉터리가 파이썬 패키지로 인식되려면 각 디렉터리마다 __init__.py 라는 이름의 파일이 반드시 존재해야 함.




6. open(), file.close(), file.read() , file.write()


1) open() 함수

- 파일을 읽거나 파일에 내용을 기록하기 위해 파일을 열고 이 파일에 대한 객체를 리턴하는 함수


(1) 파일 읽기 전용으로 여는 경우

file = open( 파일경로, 'rt' )    # 텍스트 읽기 모드로 파일 오픈

file = open( 파일경로, 'rb' )    # 바이너리 읽기 모드로 파일 오픈


(2) 파일 쓰기 전용으로 여는 경우

file = open( 파일경로, 'wt' )    # 텍스트 쓰기 모드로 파일 오픈

file = open( 파일경로, 'wb' )    # 바이너리 쓰기 모드로 파일 오픈


(3) 파일을 생성하고 읽고 쓰기 위해 여는 경우

file = open( 파일경로, 'wt+' )    # 텍스트 쓰기 모드로 파일 생성 후 오픈

file = open( 파일경로, 'wb+' )    # 바이너리 쓰기 모드로 파일 생성 후 오픈


(4) 기존 파일의 맨 뒤에 내용을 추가하기 위해 여는 경우(읽기도 가능)

file = open( 파일경로, 'ar' )    # 텍스트 추가 모드로 파일 생성 후 오픈

file = open( 파일경로, 'ab' )    # 바이너리 추가 모드로 파일 생성 후 오픈



2) file.read() 함수

-파일에 있는 모든 내용을 읽어서 문자열로 리턴


EX)

>>> file = open('readme.txt','rt')

>>> content = ''

>>> content = file.read()

>>> print(content)

>>> file.close()


-> 결과값 : readme.txt의 내용




3) file.write() 함수

-인자로 입력된 문자열을 파일에 기록


EX)

>>> file = open('readme_copy.txt', 'wt+' )

>>> file.write(content)

>>> file.close()


7. lambda(람다) 함수


- 함수 이름 없이 한 줄로 구성하는 함수


1)정의

lambda 인자, 인자,..: 식


EX)






8. map( )


- 반복 가능한 자료형에 있는 모든 멤버를 순차적으로 뽑아내고 이를 인자로 입력된 함수의 인자로 이력하여 얻은 결과를 묶어서 map 객체로 리턴

- 함수와 반복 가능한 자료형을 인자로 받는다.


1) 정의

map( 함수, 반복 가능한 자료 )


EX) 




# 위 코드를 lambda 함수와 range()를 이용해 작성





9. 문자열 포맷팅


- 문자열에 동적으로 변하는 값을 표현하기 위해 문자열을 하나의 양식으로 만드는 것


- 포맷 문자열 : 문자열 포맷팅에서 동적으로 변하는 값을 나타내기 위해 사용되는 기호


포맷 문자열

설명 

%s

문자열 대응 

%c

문자 1개에 대응 

%f 

실수에 대응

%d 

정수에 대응

%% 

'%'라는 문자 자체를 표시 


EX)




10. 이스케이프 문자


-키보드로 입력하기 어려운 문자나 인용 부호( ' '또는 " " ) 안에 동일한 인용부호를 문자로 입력하는 경우에 사용되는 역슬래쉬 '\'로 시작하는 문자


 이스케이프 문자

설명 

\n 

줄 바꿈

\t 

탭 

\ enter 

줄 계속(다음 줄도 계속되는 줄이라는 표시)

\\ 

\ 문자 자체 

\' or \" 

' 문자 또는 " 문자 자체 


EX)




11. sorted( )


-시퀀스 자료를 인자로 입력 받아 정렬


EX)



# (숫자,문자)로 된 튜플이 하나의 멤버인 리스트 자료에서 문자를 기준으로 정렬하려고 할 때

->sorted()의 인자로 정렬하고자 하는 자료와 함께 sorted()가 제공하는 key 인자를 지정하여 처리하면 됨

-sorted() key 인자는 반드시 함수여야 함. -> 이 함수의 처리 결과를 기준으로 정렬

-정렬 대상의 자료의 각 멤버는 key 인자로 지정된 함수의 인자로 입력됨



 => lambda x:x[0] 이 sorted() 의 key로 지정된 함수이 x[0]를 기준으로 정렬 따라서 x의 첫 번째 멤버(숫자)가 정렬 기준이 된다.


 

# 사전 자료를 정렬할 때


(1) sorted( ) 함수에 key 인자를 지정하지 않고 사전 자료를 입력하여 정렬하면 사전 자료의 키를 정렬하여 리스트로 리턴



(2) 사전 자료의 키를 기준으로 정렬하여 (키,값) 결과를 얻고 싶을 때



(3) 사전 자료의 값을 기준으로 정렬하여 (값,키) 결과를 얻고 싶을 때



(4) 거꾸로 정렬된 결과를 얻고 싶을 때












'Programming > Python' 카테고리의 다른 글

[Python] 크리스마스 트리  (0) 2017.01.04
[Python] 우분투 python PIP설치  (0) 2016.11.17
[Python] for문/if문  (0) 2016.11.04
[Python] 기본 자료형  (0) 2016.11.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함