python 문법정리
파이썬을 내가 사용할일이 있을까..?
--------------------------------------
모듈, 함수, 클래스 등 색인
3.10.0 Documentation
Python 3.10.0 문서 Welcome! This is the official documentation for Python 3.10.0. 설명서의 파트들: 파이썬 3.10 의 새로운 기능은? 2.0 이후의 모든 "새로운 기능" 문서 자습서 여기에서 시작하세요 라이브러리 레퍼
docs.python.org
파이썬은?
인터프리터 언어. 사용하기 편리한 언어
- 연산
: 파이썬은.. 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지 를 다른 언어처럼 계산할 수 있다.
제곱 : 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))
더 자세한 사용법은..
7. Input and Output — Python 3.10.0 documentation
7. Input and Output There are several ways to present the output of a program; data can be printed in a human-readable form, or written to a file for future use. This chapter will discuss some of the possibilities. 7.1. Fancier Output Formatting So far we
docs.python.org
- 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('오류 발생')