1. 파이썬에 대한 이해


파이썬은 인터프리터 언어로, 성능은 떨어지지만, 쉬운 문법과 높은 생산성으로

유틸리티 제작, 웹 프로그래밍, 임베디드, 데이터베이스, 교육용으로 사용된다.


대화식모드(콘솔), 스크립트모드(IDLE, pycharm과 같은 IDE) - 2가지 모드가 있다.


C와 자바에서는 {} 를 사용하여 블록을 표시하지만

파이썬은 명시적인 블록 사용x , 인덴트(들여쓰기+개행)을 통하여 구조를 만든다.


들여쓰기는 탭 또는 4개의 공백으로 표기 - 파이썬은 4개의 공백을 권장


세미콜론 - 사용은 가능하지만 사용하지말자


한 줄에 하나의 명령을 작성하는 습관을 들이는 것을 권장


주석은 # 쓰고싶은 주석

과 같은 형식으로 사용한다.


/* */ 와 같은 여러줄 주석은 지원하지 않는다. (왓더...?)


출력)     >>>print(출력내용, [, sep=구분자] [, end=마침문자])

sep default val = ''' (공백)

end default val = \n (개행문자)


입력)    >>>변수 = input( '질문 내용' )  

콘솔 : 질문 내용: ....

사용자가 입력하는 값은 항상 문자열로 저장되어 변수에 저장된다.

정수형등으로 사용하고 싶다면 int(변수) 와 같이 사용하면된다.

java의 Integer.parseInt() 와 같은 역할이다!

(변수 = int(input()) 도 가능)



예시)

>>>name = input('이름을 입력하시오:')

사용자 입력값 - 한경은

>>>print('안녕하세요',name,'님')

결과: 안녕하세요 한경은 님


2. 변수


변수에 어떤 값을 넣느냐에따라 변수타입은 계속 변할 수 있다.

하지만 처음 정한 용도대로 사용하는게 좋다.

변수의 현재 타입이 궁금하다면 type(변수) 명령어를 사용한다.


변수가 필요없어지면 del 변수명  와 같은 방법으로 메모리에서 삭제할 수 있으나, 굳이 삭제할 이유는 없다. 알아서 메모리 컬렉션 수행


3. 타입


16진법 접두 : 0x

8진법 접두 : 0o

2진법 접두 : 0b


진법이 다른 수도 print함수는 무조건 10진수로 출력함.

타 진법으로 출력을 원한다면 다음과 같이.

print( hex(26) ) -> 0x1a

print( oct(26) )

print( bin(13) )

etc...


문자열(string)

변수명 = "string contents"

큰따옴표 대신 작은따옴표를 사용해도 된다!

작은따옴표를 사용하는 경우 문자열 내에 큰 따옴표를 그대로 사용해도 괜찮!!


\n \" \\ 와 같은 특수문자 표기법은 C와 동일


* 한줄에 다 쓰기 힘든 긴 문자열 처리법 

(1) """ """ 활용

(2) 행 끝에 \ 문자 활용 \

(3) string들 모음을 () 안에 감싸기


boolean 값  - True / False - 첫 문자 꼭 대문자!!!

NULL 값     -  None


* 컬렉션


리스트 member = [ x1, x2, x3, x4 ] 

튜플 member = ( x1, x2, x3, x4 )

사전(Dictionary)

집합


for m in member:

print( m )

등과 같이 활용한다.


(리스트와 달리 튜플은 한번 정의된 이후 값을 추가/변경 등이 불가하다.)




4. 연산자

 (C/Java와 다른점 위주로 기술)


/ 연산자 - 소수점까지 계산된 실수형 값을 결과로 내놓는다.

기존 C에서의 / 연산자와 같이 사용하고 싶다면 // 를 사용하면 된다.


5/2 = 2.5

5//2 = 2


++, -- 와 같은 단항증감연산자가 없다.

꼭 +=, -= 와 같이 사용해야...



>>>print("문자열" * 정수값)


결과로 정수값 만큼 반복된 문자열이 출력된다.


정수 또는 실수를 (스트링과 함께) 출력하고 싶을 때


>>> print("korea" + 2002) # 에러


>>> print("korea" + str(2002) ) # korea2002


문자열 -> 정수 및 실수


>>> int(문자열) / float(문자열) # 올바른 형식으로 적혀있어야!


실수 데이터를 int 함수를 사용하여 형변환 하면 무조건 소수점 이하 버림

-> 반올림한 정수값을 원한다면 int대신 round 함수 사용하자



5. 조건문 (if 조건문 + 블록)


if 조건:

명령 # 앞에 공백(인덴트)가 없으면 에러


or


if 조건 : 명령



addition) 


if a >1 and a < 10 : 명령


을 파이썬에서는


if 1<a<10 : 명령


과 같이 사용할 수 있다!!!!! wow


* 블록구조


1번)))))))))))

age = 16

if age > 19:

print("문장1")

print("문장2")


2번)))))))))))

age = 16

if age > 19:

print("문장1")

print("문장2")


1 과 2 다르다!

1은 출력x 2는 문장2 는 출력된다.


인덴트(들여쓰기)에 따라 어느 블록에 포함되는지 구분된다.

1번예제는 두 개의 프린트문이 같은 블록안에 포함되어 있는 것으로 파악되어, 

조건의 참거짓 여부에 따라 두개가 모두 실행되거나 모두 실행되지 않는다.


if 조건문:

명령1   #블록

명령2   #블록

명령3   #블록

명령4         #블록 외부의 명령

명령5         #블록 외부의 명령



* 파이썬 if~else 조건문!


if 조건1:

명령1

elif 조건2:

명령2

else:

명령3


(들여쓰기 맞춤 주의!)



6. 반복문


* while 문 기본형식


while 조건:

명령



예시)

num = 1

sum = 0

while num <= 100 :

sum += num

num += 1

print ("sum= "+int(sum))



* for 반복문 기본형식


for 제어변수 in collection :

명령


for 제어변수 in range(시작값, 끝값, 증감값) :

명령


for 제어변수 in range(반복횟수) :       # 단순히 반복 횟수만 통제할 때!

명령



* break과 continue 문은 그대로 사용된다.

예시)

score = [ 92. 86, 83, -1, 25 ]

for s in score :

if (s == -1) :

continue

print(s)

if ( s>100) :

break

print("성적 처리 끝")



7. 함수


* 함수 선언 기본형식


def 함수명(인수목록) :

본체

결과 값이 있다면 "return 결과" 실행!



* pass 명령


def factorial() :

pass


또는


if score >= 90 :

pass

else :

pass


이와 같이 선언만 해놓고 추후에 implement 할 계획이라면 pass 명령어를 사용한다.

파이썬이 들여쓰기 구조이기 때문에 생겨난 명령어



* 가변 인수

def int sum(*ints):

본체

 -> 여러개의 인수값을 받을 수 있다. 몇 개를 넘기던간에 ints 튜플로 묶여서 전달됨.


본체내에서는 for instance in ints : print(instance) 와 같이 사용할 수 있다.

단, 가변인수는 인수 목록의 마지막에 와야한다. 두 개 이상의 가변인수를 받을 수도 없다.

ex)

func(s, *ints) # 가능

func(*ints, s) # 불가

func(*ints, *doubles) #불가


* 인수 기본(default)값 설정


def calcstep(begin, end, step=1) :

......


step에 특별한 값을 지정해주지 않아도 디폴트값으로 세팅됨


* 파이썬은 positional argument(위치 인수전달) 방법과 keyword argument(키워드 인수전달)방법 두가지를 모두 지원한다.

ex) calcstep(3, step=1, end=5) 와 같이 인수이름에 직접 값 배정하여 함수 호출







+ Recent posts