파이썬 기초

2024. 3. 28. 19:00개발/Python

728x90

파이썬 공식 홈페이지 http://python.org 에서 쉽게 다운로드 하지 않고도 사용할 수 있다.

사칙연산

+ - * / //(몫) %(나머지) divmod(몫,나머지 둘다)

변수

숫자, 글자 등을 넣을 수 있고 문자열도 넣을 수 있다. 문자열끼리 + 연산자를 통해 이어 붙이는 것도 가능하고, 변수끼리 + 연산자를 통해 이어 붙일수도 있다.

리스트

len() -> 리스트에 원소가 몇 개인지

remove() -> 리스트에서 원소 제거

인터프리터와 컴파일러

인터프리터(interpret) -> 한문장마다 수행. (python)

컴파일(compile) -> 컴파일 명령을 내리면 그 때 한꺼번에 수행 

반복문

while , if-elif-else , for 등의 반복문을 사용하여 반복문을 작성할 수 있다.

함수

비슷한 코드를 반복해서 작성하기 귀찮으므로 함수를 사용한다.

return - 함수에서 계산된 값을 돌려준다. 

True , False - 참과 거짓을 나타낸다.

지역변수와 전역변수

지역변수 - 함수 안에서 만들어진 변수 . 함수의 실행이 끝나면 없어진다.

전역변수 - 함수 밖에서 만들어진 변수 . 함수의 실행이 끝나도 유지된다.

람다(lambda)

함수를 한 줄만으로 만들게 해준다.

lambda 매개변수 ㅣ 표현식

>>> def hap(x, y):
...   return x + y
...
>>> hap(10, 20)
30

>>> (lambda x,y: x + y)(10, 20)
30

map()

>>> map(lambda x: x ** 2, range(5))             # 파이썬 2
[0, 1, 4, 9, 16]  
>>> list(map(lambda x: x ** 2, range(5)))     # 파이썬 2 및 파이썬 3
[0, 1, 4, 9, 16]

크기가 5인 리스트에 제곱수를 순서대로 한줄만에 담는 방법

reduce()

>>> from functools import reduce   # 파이썬 3에서는 써주셔야 해요  
>>> reduce(lambda x, y: x + y, [0, 1, 2, 3, 4])
10

filter()

>>> filter(lambda x: x < 5, range(10))       # 파이썬 2
[0, 1, 2, 3, 4]  
>>> list(filter(lambda x: x < 5, range(10))) # 파이썬 2 및 파이썬 3
[0, 1, 2, 3, 4]

데이터 타입

  • 자료형 - 파이썬은 자동으로 자료형을 정해준다.
    type() 함수를 통해 자료형을 확인할 수 있다.
    숫자 - int(정수), float(부동소수점), complex(복소수)
    시퀀스 - str(문자열), list(리스트), tuple(튜플)
    매핑 - dict(딕셔너리 : 키와 값의 짝으로 이뤄짐)
    불 - bool(참, 거짓을 표현)
    집합 - set(세트)
  • 문자열 - 글자마다 0, 1, 2 이런식으로 번호가 있음(인덱스)
    파이썬에는 sort 등에 편한 문자열 내장 함수가 많다.
  • 튜플 - ()사용, 원소값을 직접 바꿀 수없다.
  • 딕셔너리 - {} 사용, 키와 값의 짝 사용
  • 세트 - set()

모듈

다른 사람들이 만든 모듈을 활용하여 프로그램을 만들 수 있다!

프로그램의 꾸러미라고 생각. math, calender, tkinter 등 유용한 모듈들이 많다.

import 모듈
from 모듈 import 이름

첫 번째는 모듈 전체를 가져오고, 두번째는 모듈 내에서 필요한 부분만 가져온다.

  • sys - 인터프리터를 제거해 줄 수 있다.
  • os -  운영체제를 제어
  • re - 정규표현식을 이용해 문자열을 다룰 수 있다.
  • random - 난수생성
  • datetime - 특정 날짜와 시간 객체 생성, 시간 차이, 형식 반환 등
  •  timedelta - 날자에 일, 시간, 분 ,초를 더하거나 뺄 수 있다.
from datetime import datetime, timedelta
current_datetime = datetime.now()
one_week_later = current_datetime + timedelta(days=7)
print(one_week_later)  # 현재로부터 일주일 후

파일

>>> f = open('C:\\python_newbie\\Python_for_Fun.txt')
>>> f.read()
'Programming is fun.\nVery fun!\n\nYou have to do it yourself.'

\n -> 줄 바꿈

readline() -> 한 줄씩 읽을 수 있다.

readlines() -> 한 줄, 한 줄이 각각 리스트의 원소로 들어간다.

객체지향

객체지향 프로그래밍 -