본문 바로가기

basic/Python

파이썬 기초 문법

https://github.com/kimzerovirus/PythonStudy

 

GitHub - kimzerovirus/PythonStudy: 파이썬 알고리즘 및 기초문법 공부

파이썬 알고리즘 및 기초문법 공부. Contribute to kimzerovirus/PythonStudy development by creating an account on GitHub.

github.com

문자열

  • " , ' , """ , ''' 4가지 방법으로 작성가능함
  • 문자열 관련함수들
  • count 문자개수세기
  • find 해당 문자 위치 알려주기, 존재하지 않는다면 -1 반환
  • index find와 기능은 같지만, 존재하지 않는다면 오류를 반환한다.
  • join 문자열 삽입 ex) ','.join('abcd') => a,b,c,d
  • upper 대문자변환
  • lower 소문자변환
  • lstrip 왼쪽 공백 지우기
  • rstrip 오른쪽 공백 지우기
  • strip 양쪽공백 지우기
  • replace(기존 문자열, 새로운 문자열) 문자열을 바꿔줌
  • split(기준값) 기준값을 기준으로 잘라준다. 기준값을 입력하지 않으면 스페이스바, 텝등을 기준으로 스플릿 된다.
  • 문자열, 리스트, 튜플 슬라이싱
     a = "Life is too short, You need Python"  
     a\[0:4\] 0<=a<4  
     'Life'

리스트

  • 리스트 연산 가능 : 더하기 곱하기(단순 반복임, 기존 리스트를 수정하지는 않음)
  • del a[0] : 해당[인덱스] 요소 삭제
  • remove(x) 첫번째로 나오는 x값 삭제
  • append 요소추가
  • sort 리스트 요소 정렬
  • reverse 뒤집기
  • index 위치 찾기
  • insert(a,b) a(인덱스) 위치에 b를 삽입
  • pop 맨 마지막 요소를 반환하고 리스트에서 삭제한다.
  • count(x) x가 몇개 있는지 세어줌
  • extend(list) 기존 리스트의 맨 뒤에 list를 더해준다. 리스트 자료형만 변수로 받는다.
  • len(list) 리스트의 길이 구하기

튜플 자료형

  • 리스트의 상수 같은 느낌, 리스트는 수정, 추가, 삭제 등이 가능하지만 튜플은 처음 생성한 값 고정.
  • 슬라이싱하기ex)
  • t1 = (1, 2, 'a', 'b')
    t1[1:]
    (2, 'a', 'b')
    짝수 : t1[::2], 홀수 : t1[1::2]

딕셔너리 자료형

  • {'key' : 'value'}의 형태
  • dictionary['key'] = value로 값을 얻는다 //js의 Object와 비슷하지만 호출방식의 차이가 있다.
  • get('key') value값을 얻는다.
  • item (key,value)쌍을 얻는다.
  • values value리스트를 반환
  • keys key리스트를 반환
  • del dictionary['key']로 해당요소를 삭제 할 수 있다.
  • inventory = {"메로나": [300, 20], "비비빅": [400, 3], "죠스바": [250, 100]} print(inventory["메로나"][0], "원")

집합 자료형

  • 중복 허용x
  • 순서x, 따라서 리스트나 튜플과 달리 인덱싱으로 값을 찾을 수가 없다.
  • 교집합 : s1 & s2 , s1.intersection(s2)
  • 합집합 : s1 | s2 , s1.union(s2)
  • 차집합 : s1 - s2 , s1.difference(s2)
  • add 값 한개 추가
  • update 값 여러개 추가
  • remove 특정값 제거

Bool 자료형

  • None, 0, 빈 문자열, 빈 리스트, 빈 튜플, 빈 딕셔너리는 false이다.

클래스

  • __init__라는 메서드로 생성자를 생성할 수 있다.

모듈

  • import 모듈 이름 => 모듈이름.모듈함수로 사용해야된다.
  • from 모듈 이름 import 모듈 함수 => 바로 모듈 함수명으로 사용가능하다.

에러처리

try:
...
except 발생 오류 as 오류 메시지 변수:
...

  • raise 에러 일부러 발생시키기, 이를 활용하여 커스텀 예외를 만들 수 있다.

내장함수 목록

  • abs(숫자) : 절댓값을 돌려주는 함수이다.
  • all(변수) : 반복가능한 자료형(리스트 등)을 변수로 받아 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 돌려준다.
  • any(변수) : 반복가능한 자료형을 변수로 받아 요소 중 하나라도 참이 있으면 True를 돌려주고, x가 모두 거짓일 때에만 False를 반환한다. all함수랑 반대이다.
  • chr(유니코드) : 유니코드 값을 받아 코드 값에 해당하는 문자를 반환한다.
  • dir : 객체가 자체적으로 가지고 있는 변수나 함수를 보여 줌
  • divmod(a,b) : a를 b로 나눈 몫과 나머지를 튜플 형태로 리턴해준다. 몫을 구하는 연산자 //, 나머지를 구하는 연산자 %
  • enumerate : 순서가 있는 자료형(리스트, 튜플, 문자열)을 인덱스 값을 포함하는 enumerate객체로 리턴한다.
    ex)
    for i, name in enumerate(['body', 'foo', 'bar']):
    print(i, name)

0 body
1 foo
2 bar

  • eval : 실행 가능한 문자열을 입력받아 문자열을 실행한 결과값을 리턴 //입력받은 문자열로 파이썬함수나 클래스를 동적으로 실행하고 싶을 때 사용한다.
  • filter(조건함수, 반복가능한 자료형)
  • hex(x) : 정수 값을 받아 16진수로 리턴
  • id : 객체의 고유 주소값 리턴
  • input([prompt]) : 사용자 입력을 받음
  • int(x) : 문자열형태의 숫자나 소숫점이 있는 숫자를 정수로 리턴
  • ininstance(object, class) : 인스턴스가 클래스의 인스턴스인지 참, 거짓 판별하여 반환해줌
  • len(x) : x의 길이 반환(요소의 전체 개수)
  • list(s) : 반복 가능한 자료형 s를 입력받아 리스트로 반환해준다.
  • map(func, iterable) : 함수와 반복가능한 자료형을 입력받아 각 요소를 함수가 수행한결과를 묶어서 돌려준다.
  • max(iterable) : 최댓값을 반환
  • min(iterable) : 최소값을 반환
  • oct(x) : 8진수 문자열로 반환
  • open(filename, [mode])
    w 쓰기 모드로 파일 열기
    r 읽기 모드로 파일 열기
    a 추가 모드로 파일 열기
    b 바이너리 모드로 파일 열기, w r a에 붙여서 사용한다. ex) wb
  • ord(c) : 문자의 유니코드값 리턴
  • pow(x,y) x의 y제곱한 값을 리턴
  • range([start], stop, [step]) : 입력받은 숫자에 해당하는 범위 값을 iterable 객체로 리턴
  • round : 반올림 리턴
  • sorted : 정렬해서 리스트로 리턴
  • str : 문자열 형태로 리턴
  • sum : 리스트나 튜플의 모든 요소의 합을 리턴
  • tuple(iterable) : 튜플형태로 리턴
  • type(object) : 자료형을 알려준다.
  • zip(iterable ... ) : 동일한 개수로 이루어진 자료형을 묶어 준다.
    ex)
    list(zip("abc", "def"))
    [('a', 'd'), ('b', 'e'), ('c', 'f')]

Star Expression

  • *args : 파라미터를 받을 때 몇개를 받을지 모를경우 사용
  • ex1) a,b,*c = (0,1,2,3,4,5,6)
  • ex2) scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
  • valid,a,b =scores => print(valid) valid에 scores의 8개만 담을 수 있다.