용어 정리
클래스 : 틀 ex) 자동차 설계도
객체 : 클래스로 만든 물건 (독립적인 특징) ex) 자동차
인스턴스 : 클래스의 객체의 관계 ex) 자동차는 설계도의 인스턴스
일반 표현
/ -> 결과값을 실수로 표시
//-> 결과값을 정수로 표시
end=" " - 결과 값을 출력할 때 다음줄로 넘기지 않고 출력
sep="?" - 문자를 ,(쉼표)로 구분하였을 때 그 사이에 특정 값을 표시
ex) print(010,1234,5678,sep="-") -> 010-1234-5678
*args - 변수가 유동적일때 (정해지지 않을 때)
한 줄로 표현하기
-여러개 입력하기
변수1, 변수2 = input().split() -입력받은 값을 공백 기준으로 분리한다.
(숫자의 경우 형변환을 해줘야 한다.)
* 리스트 변수 = list(map(자료형,input().split())) - 입력받은 수를 공백 기준으로 분리해 리스트 저장
리스트 내표 방식 - [ 표현식(출력) for 변수 in 반복가능 객체 if 조건 ]
조건식 표현 : 변수="True" if 조건문 else "False"
컴프리헨션
리스트 생성 : [i for i in range(범위)] - i를 리스트에 집어 넣음
조건 리스트 생성 : [i for i in range(범위) 조건1 조건2 .... ]
특정 문자열 모두 제거: [i for i in 리스트 if i not in {제거할 문자..}]
계산 함수
sum(변수) -합계 반환
max(변수) -최댓값 반환
min(변수) -최솟값 반환
pow(x, y) - x의 y 제곱한 결과 반환
hex(변수) - 입력받은 정수 값을 16진수로 반환
int(문자열, x 진수) - x진수로 돼있는 문자열을 10진수로 반환
oct(변수) - 입력받은 정수 값을 8진수 문자열로 반환
round(변수), round(변수, 소수 자릿 수) - 변수를 반올림하여 반환
abs(변수) - 절댓값 반환
divmod(a, b) - a를 b로 나눈 몫과 나머지를 튜플 값으로 반환
문자 함수
chr(변수) - 아스키코드 값을 입력받아 문자로 반환
ord(변수) - 문자 값을 입력받아 아스키코드로 반환
str(변수) -변수를 문자열로 바꾸어준다.
id(변수) - 주소값을 반환
eval( ) - 실행 가능한 문자열을 입력받아 문자열을 실행한 결과값 반환
upper() - 문자를 대문자로 반환lower() - 문자를 소문자로 반환
- 공백 제거
1. lstrip() - 왼쪽 공백 제거
2. rstrip() - 오른쪽 공백 제거
3. strip() - 양쪽 공백 제거
boolean 함수
all(변수1, 변수2...) - 변수들이 모두 참이면 true, 거짓이 하나라도 있으면 false 반환
any(변수1, 변수2..) - 변수들중 하나라도 참이 있으면 true, 모두 거짓일 때만 false 반환
문자열
변수.replace(찾을 문자, 바꿀 문자) - 문자 지우기로 활용 ex) 변수.replace("지울 문자", " ")
배열 함수
list(변수) - 변수를 리스트 형태로 분리시켜 반환
map(함수, 반복 가능한 자료형) - 입력받은 자료형의 각 요소를 함수를 실핼한 결과를 묶어서 반환
리스트.count(찾을 변수) - 찾을 변수의 개수를 반환
- 삭제
변수.remove(제거할 값) - 첫번째로 나오는 값을 삭제한다.
del 배열[인덱스] -리스트 요소 삭제하기
list.pop()- 마지막 값을 반환하고 그 값을 삭제한다. ()에 인덱스 번호를 넣으면 그 값 반환 후 삭제
배열.set() - 배열에 중복 값을 제거
- 인덱스 반환
배열.index(찾을 문자,left,right) - 배열에서 문자를 찾아서 인덱스번호를 반환.
left,right 는 생략 가능, 문자 없으면 오류
배열.find(찾을문자,left,rifgt) - 배열에서 문자를 찾아서 인덱스번호를 반환, 문자 없으면 -1 반환
- 값 반환
dir( ) - 객체가 자체적으로 가지고 있는 변수나 함수를 반환
enumerate( ) - 순서가 있는 자료형을 입력받아 인덱스 값을 포함하는 객체를 반환 ex) 0 apple ...
- 변경
배열.reverse() -리스트를 역순으로 - 새로운 리스트에 대입 -> ex) new_list=list(reversed(old_list))
- 정렬
배열.sort() - 배열 정렬하기 (기본-오름차, 내림차순- reverse=True), sort(key= ?) - key값을 기준으로 정렬
배열.reverse() -리스트를 역순으로 그대로 뒤집어준다.
- 기타
copy() - 리스트를 복사 (원솟값까지 복사 되기 때문에 복사한 리스트가 변경되면 같이 변경된다)
enumerate(배열,시작 수) - 인덱스와 원소를 짝지어 튜플로 꺼내는 함수
ex) for i, name in enumerate(배열):역순으로 반환 - 배열.reverse()
filter(함수이름,[배열] ) - 특정 조건으로 배열을 반환 할 때 사용
ex) 함수에 배열을 넣어 참 값인 것만 리턴
대괄호 없애기
1. 언패킹 이용
*변수
패킹 - 하나 이상의 값들을 묶는 행위
언패킹- 패킹된 값들을 푸는 행위
2. 문자일 경우 join() 함수 이용
'문자'.join(배열)
join() 함수는 모든 요소를 가져와 지정된 문자로 구분된 모든 요소가 있는 문자열을 반환.
-> 대괄호를 없애며, 쉼표대신 다른 문자를 넣을 수 있다.
1
2
3
|
arr=[ 'a', 'b', 'c']
print(' '.join(arr))
|
cs |
3. 숫자일 경우 str() 함수 이용
str(배열)[1:-1]
-> 배열을 문자와 한 뒤 [1]인덱스 부터 [-1]까지 출력 ( [-1]은 포함되지 않는다.)
1
2
3
|
arr=[1,2,3]
print(str(arr)[1:-1])
|
cs |
예외 처리 (오류를 복구하여 프로그램이 중단되는 것을 피함)
- try 문 (원래 처리하는 코드와 요류가 발생할 때 대처하는 코드를 분리)
1) try : 원래 처리
except : 예외 포착과 처리 (1개 이상)
else : 예외가 포착되지 않음 (생력 가능)
finally : 마무리 (생략 가능)
2) try - finally
- raise 문 (사용자 정의 예외처리로 프로그램의 예외처리를 의도적으로 내보냄)
rasie class
언더 스코어 ( __ ) , 던더
- if __name__ =="__main__" - 선언한 모듈 내에서만 출력되게 끔 한다. , 모듈을 호출하여 사용할 때 다른 결과를 방지
ex) sum.py def s(a,b): sum=a+b print(sum) -> import sum from s -> sum 출력
ex) sum.py def s(a,b): sum=a+b if __name__ =="__main__" : print(sum) -> import sum from s -> sum 출력 x
- __init__ - 초기화 메소드로 클래스를 선언할 때 사용한다. (self를 이용하여 각자 초기화 시켜준다.)
class a:
def __inti__ (self, 매개변수1, 매개변수2):
self.매개변수1= 매개변수1
self.매개변수2= 매개변수 2
- __len__() - 인스턴스를 __len() 함수에 전달할 수 있다.
obj.__len__()를 간단히 len(obj)로 작성할 수 있다.
- __contanins__ - 인스턴스에 판단 연산자인 in을 적용할 수 있다.
obj.__contanins__(x)를 간단히 x in obj로 작성할 수 있다.
외장 함수
- sys -인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈
input() vs sys.stdin.readline 의 차이점
input() 은 자동으로 \n(줄바꿈)을 삭제시켜준다. prompt message를 받음
stdin.readline은 \n을 포함한다. , prompt message를 받지 않음
-> 버퍼사이즈의 차이에서 입력이 반복 되수록 속도 측면에서 sys.stdin.readline()이 더 빠르다.
sys.stdin.readline() - 반복문으로 여러줄 입력을 받는 상황에서 input() 대신 사용한다.
정해진 개수 - 변수1, 변수2, 변수3 .. =map(타입, " .split())
임의의 개수 - 변수 = list(map(타입, " .split()))
sys.stdin.readline().rstrip() - 띄어쓰기 제외하기
type( " ) - 타입 변환하기
- pickle - 객체의 형태를 그대로 유지하면서 파일에 저장하고 불러올 수 있게 하는 모듈
- time - 시간과 관련된 모듈
- random - 난수를 발생시키는 모듈
random.rand자료형
- copy - 복사 관련 모듈
copy.deepcopy(복사할 변수)- (깊은복사) 리스트 복사로 참조 값 뿐만 아니라 객체 자체를 복사한다.
- typing - 타입을 명시해주는 모듈
1. 변수에 사용 표현 : 변수 : type ex) a : int = 10
2. 함수의 인자에 사용 표현 : def 함수이름(매개변수) -> return type:
import Any = 아무 타입
import Union = Union[ type1, type2....] = 여러 타입
- enum - 관련있는 여러 상수들의 집합을 선언하는 모듈 (특정 상태를 하나의 집합으로 만들어 줌)
from enum import Enum enum은 기본적으로 name 과 value를 갖는다.
-> Menu = Enum('Menu ' , 'red, blue, gray') # 띄어쓰기로 구분
ex) 1. Menu(1) == Menu.red
ex) 2. Menu.red.value=1 , Menu.red.name= red
- math -계산과 관련된 모듈
math.factorial(수) - 팩토리얼 값을 반환
모듈 함수
import 모듈이름 -> 모듈이름.함수이름() , 모듈이름.class이름() ..
from 모듈이름 import 모듈 함수 -> 함수이름()
from 모듈이름 import 모듈함수1 , 모듈함수2 - 여러 함수 사용하기
from 모듈이름 import * - 모든 함수 사용하기
'Python > 기본 문법 내용 정리' 카테고리의 다른 글
+ 스태틱/인스턴스 함수와 메서드와 매직 메서드 (0) | 2022.01.28 |
---|---|
클래스 (0) | 2021.07.15 |
함수와 파일 입출력 (0) | 2021.07.14 |
제어문 (0) | 2021.07.13 |
자료형 (0) | 2021.07.12 |