on
python 문법정리
python 문법정리
파이썬을 내가 사용할일이 있을까..?
--------------------------------------
모듈, 함수, 클래스 등 색인
파이썬은?
인터프리터 언어. 사용하기 편리한 언어
- 연산
: 파이썬은.. 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 를 다른 언어처럼 계산할 수 있다.
제곱 : x ** 2 (2의 제곱)
- 변수
: 다른 언어처럼 변수선언이 가능하다.
ex) myfee = 15000
전역변수 : 함수 밖에서 선언 혹은 global 예약어를 사용하여 선언되는 변수
: 함수 밖에서 선언 혹은 예약어를 사용하여 선언되는 변수 지역변수 : 함수 안에서 선언되는 변수
- 클래스(Class)
class 클래스명:
class Test: def testMethod(self): return 'test진행했다' testarg = Test() result = testarg.testMethod() print(result) => 'test진행했다'
__init__ 메서드 (초기화)
Class가 호출되면서 불러들이는 생성자(constructor)
__del__ 메서드 (소멸자)
Class 호출 완료후, 호출되는 소멸자(destructor).
__repr__ (프린팅)
Class 호출시, return에 정해진 내용을 print한다.
- 함수(메서드) (def)
def 변수명(param):
로직 구현
def good(lists): for i in lists: print(i)
- 자료형
None : 값이 없음
bool : True, False
str : 문자열
문자열 관련 동작
x = 'banana' x[2:4] => 'na' x[:3] => 'ban' x + ' tasty' => 'banana tasty'
int : 정수
float : 소수
complex : 복소수
list : 리스트
리스트 관련 동작
ex)
prime = [3, 2, 7, 11]
리스트에 추가: prime.append(5) => [3, 2, 7, 11, 5]
리스트 정렬: prime.sort() => [2, 3, 7, 11]
리스트에서 삭제: del prime[1] => [3, 5, 7]
리스트 데이터 할당(=변경): prime[2] = 10 => [3, 2, 10, 11]
리스트에서는, 2차리스트(배열)도 구현 가능.
primeTwo = [['하나', '둘'], ['셋', '넷'], '다섯', '여섯']
primeTwo[0][1] => '둘'
- type()
변수의 자료형 확인
- return
결과값을 반환 (파이썬은.. php처럼 데이터 타입의 선언이 없다)
- 리스트(list)
배열과 같이 변수들을 나열한다.
ex) family = ['father', 'mother', 'brother', 'me']
ex) family[3] => 'me' 출력.
len() : list의 길이, 문자열의 length를 구한다.
ex) len(family) => 4
ex) len(family[3]) => 6
remove() : list에서 제외 (array_pop과 유사)
ex) family.remove('father') => print(family) => ['mother', 'brother', 'me']
- 튜플(tuple)
리스트(list)와 유사하지만, [ ] 대신 ( ) 을 사용하며, 튜플은 값을 변경할 수 없다.
tupleExample = ('a', 'b', ('c', 'd'))
tupleExample[2][1] => 'd'
(!) 원소 하나만 가진 튜플을 만들 땐, 원소 뒤에 콤마(,)를 찍어야한다. (안그러면 튜플이 아닌 일반 타입의 변수가 할당된다)
원소가 없는 튜플 생성
ex)
empty = ()
- 딕셔너리(dict)
key - value 를 쌍으로 가지는 리스트 형태(php의 연관배열과 유사)
(!) key에는 str과 int등... value에는 다른 자료형 모두 허용
ex)
dictExample = {1 : 'good', 'babo' : 9999, 'multi' : [1, 3, 5]}
dictExample[1] => 'good'
dictExample[‘babo'] => 9999
dictExample[‘multi’] => [1, 3, 5]
dict.keys() =>
- print()
console에 출력
1] %s: 문자열, %d: 정수, %f: 부동소수점 (대입해서 사용가능)
ex)
xx = 'good'
xc = 123
print('%s %d' % (xx, xc))
더 자세한 사용법은..
- while
num = 1 while num <= 100: print(num) num = num + 1
(!) while문 아래에 적용될 코드는 반드시 4칸 들여쓰기해야한다. (while 블록 내부에 있다는 표시) 안그러면 오류난다.
- 조건문 (if-elif-else)
a = 1 b = 2 if a < b: print('true') elif a == b: print('same') else: print('false')
- for문
ex1) list 반복
family = ['father', 'mother', 'brother', 'me'] for x in family: print(x) => father, mother, brother, me
ex2) : 문자열을 list에 담기
charList = [] name = 'yunsang' for char in name: charList.append(char) print(charList) => ['y', 'u', 'n', 's', 'a', 'n', 'g']
- range()
범위안의 정수들을 생성.
ex) range(5) => [0,1,2,3,4]
ex) list(range(1,3)) => [1, 2]
ex) for i in range(4,8):
print(i) => 4 , 5, 6, 7
- lambda
익명 함수. 함수형태와 유사하면서도(간단한 것들) 함수를 선언하지 않고서 사용
문법 : lambda 인자 : 표현식
ex) (lambda x,y: x + y)(10, 20)
ex) f = lambda x,y : x+y
print(f) => 8
- map()
리스트의 요소를 지정된 함수로 처리해주는 함수
문법 : map(함수, 리스트)
ex) list(map(lambda x:x+1,range(5)))
- reduce()
리스트에 저장된 요소를 함수 수행을 통해 누적시킨다.
문법 : reduce(함수, 반복가능객체)
(!) python 3버전부터는 내장함수에서 제외되었다. (import를 통해 가져온다)
ex) reduce(lambda x,y:x+y, [0,1,2,3]) => 6
- filter()
리스트의 요소를 필터링 (function에서의 결과가 true인 것)
문법 : filter(함수, 반복가능객체)
ex) filter(lambda x: x.startswith(‘f’, [‘fox’, ‘flag’, ‘apple’, ‘bad’]) => [‘fox’, ‘flag']
- import
파이썬 모듈을 불러온다.
1] 전역에 import
ex)
import math
math.pi
2] 모듈 내 특정 함수
ex)
from math import pi (원주율)
3] alias
ex)
import math as mm
mm.pi
4] 2]+3]
ex)
from math import sqrt as mattt
mattt(4.0)
- sys 모듈
파이썬 인터프리터와 관련된 정보와 기능을 제공
- os 모듈
운영체제(Operating System) 제어 가능
(linux, windows 명령 프롬프트 등..)
- string 모듈
문자열 연산 함수 제공
- re 모듈
정규표현식 관련 함수 제공
- 예외처리 try, except
오류 발생에 대한 예외처리
try: a = 3 b = 0 c = a/b print(c) except: print('오류 발생')
from http://xggames.tistory.com/39 by ccl(A) rewrite - 2021-10-20 17:00:39