본문 바로가기
업무자동화(파이썬,VBA,AUTOHOTCHEY)

파이썬 기본 문법 총 정리 2탄

by 드미프리 2022. 11. 26.

변수의 복사 >>> a=[1,2,3]

1) a=b a의 요소를 바꾸면 b의 요소도 바꿈. 둘이 같은 id

2) b=a[:] a의 요소를 바꿔도 b는 여전히 1,2,3 이다.

3) from copy import copy / b=copy(a) copy모듈사용, a요소 바꿔도 반영x

 

변수 서로 바꾸기 >>> a=1, b=5

a, b = b, a a=5, b=1

 

IF

형식: IF 조건문

 

(TAB) 수행할 문장1

(TAB) 수행할 문장2

 

ELSE:

 

(TAB) 수행할 문장A

(TAB) 수행할 문장 B

 

비교연산자: 같다(==), 같지 않다(!=) 크거나 같다(>=)

기타연산자: x and y (xy둘 다 참이어야 참), not x(x가 거짓이면 참)

in/not in [리스트, 튜플, 문자열]

아무 일도 없게 하려면: 수행할 문장에 pass라고 적기

 

ELif(이전 조건문이 거짓일 때 elif가 실행)

형식: if 조건문:

(tab) 수행할 문장1

elif 조건문2(여러 번 쓸 수 있다):

(tab) 수행할 문장a

else:

(tab) 수행할 문장x

 

한 줄 조건부 표현식: 조건문이 참인경우 if 조건문 else 조건문이 거짓인 경우

() m="success" if score >=60 else "failure"

 

While

형식: while 조건문: 조건이 참인 동안에 수행문장이 반복해서 수행

(tab) 수행할 문장 1 ...

() 열 번 찍어 안 넘어가는 나무는 없다

treehit=0 #나무를 찍은 횟수

while treehit<10 #10번 미만인 동안 반복

(tab) treehit=treehit +1 #나무 찍은 횟수 1씩 증가

(tab) print("나무를 %d번 찍었습니다." % treehit

(tab) if treehit ==10:

(tab)(tab) print("나무 넘어갑니다.")

continue : 참이면 다시 조건문 맨 처음으로 돌아간다.

 

무한루프: ctrl + c를 눌러야 빠져나갈 수 있다. 

형식: while True:

(tab) print("가나다라") 가나다라가 무한반복해서 나옴

 

For

형식: for 변수 in 리스트(튜플, 문자열)

(tab) 수행할 문장 1

() 리스트=['','','']

for i in 리스트:

(tab) print(i) / /

 

한 줄에 결과 값 표현

for i in range(10):

(tab) print(i, end=' ')

 

(참고) end 뒤의 문자는 값을 한 줄로 표현하면서 표시할 구분자 역할. end='*' 0*1*2*3*4 이렇게 표현됨

 

range함수: range(10)=0~9까지. 0이상 10미만 / range(1,10)=1~9까지

함수 심화

 

def(함수 만들기):

def add(a+b):

return a+b

 

(해석) 이 함수의 이름은 add 이고, 2개의 매개변수 값을 입력받고, 결과 값은 매개변수 두개를 더한 값이다. 함수 사용 시는 >>> add(1,4) 이렇게 씀

 

매개변수와 인수

매개변수: def add(a,b): >>> 함수에 입력된 값을 전달받는 변수

인수: print(add(3,4))) >>> 함수를 호출할 때 전달하는 입력 값

입력 값이 n개 일 때(몇 개일지 모를 때)

>>> def add_many(*아무이름):

(tab) result=0

(tab) for i in 아무이름:

(tab)(tab) result=result+i

(tab) return result

 

키워드 파라미터(keyword arguments/kwargs)

**매개변수 딕셔너리형으로 key=value 형태로 반환

 

() def a_kwargs(**kwargs)

 

a_kwargs(a=1) { 'a' : 1 }

 

lambda(람다) : 간단한 함수를 만드는 예약어(like def)

 

(형식) 함수명=lambda 매개변수1, 매개변수2,.. : 표현식

(참고) returun이 없어도 결과값 출력

() add= lambda a, b : a+b

 

input() 입력하는 것

(형식) 변수명=input()

따옴표 없이 아무 말이나 쓰자. 다 문자열로 인식함

변수명 '따옴표 없이 .... 인식함'

 

실제 입력받는 방법

(형식) 변수명=input("숫자를 입력하세요. : ")

숫자를 입력하세요. : 이 뒤에다가 숫자를 치면 6

변수명 6만 출력

 

파일생성 & 값 쓰기

(형식) 변수명=open("경로생략가능\새 파일.txt", 'w')= [파일명, 열기모드]

[열기모드]= w(쓰기모드) r(읽기모드) a(추가모드)

 

() f=open("c:\doit\새 파일.txt", 'w')

f.write(변수명)

f.close() w로 파일 생성 할 때는 꼭 써주자(결과가 같더라도)

 

클래스와 메서드

클래스 안에서 만든 함수를 메서드(self가 첫 번째 인수)라고 함

class a:

(tab) def 함수명(self, 매개변수1, 매개변수2):

(tab)(tab) self.매개변수1=...

(tab)(tab) self.매개변수2=...

 

활용: 함수명(매개변수1, 매개변수2) 결과 값

 

setdata를 대신하는 __init__ 메서드

def __init__(self,first,second):

(tab)self.first=first

(tab)self.second=second

 

이걸로 하면 setdata(4,2) 안하고 바로 (4,2)써도 됨

댓글