상세 컨텐츠

본문 제목

[Python] 파이썬 기초

notes

by 서울의볼 2024. 6. 12. 00:25

본문

나도코딩의 파이썬 무료 강의 100분 완성 (1분 파이썬 모음) 보고 정리함:

영상 강의: https://www.youtube.com/watch?v=T6z-0dpXPvU

 

% 나머지

// 몫

** 거듭 제곱

 

삼항연산자 =

[true_value] if [condition] else [false_value]

 

 

int(ans) - 소수점 날리고 정수로 바꿔주는 거 (형변환임)

in 은 멤버연산자, 포함 의미

두줄 이상의 주석은 따옴표 세개 쓰면 됨 ''' '''

[:] - 인덱스에서 : 콜론은 끝을 의미. 그래서 [:3] 이러면 처음부터 세번째(네번째 직전)까지가 되는 것.

len = length 몇 글자인지 알려줌.

여러줄 문자 변수에 선언할 때도 따옴표 세개 쓰임 variable = ''' '''

python3.6부터 f string 되는데 그게 dart 같고 쓰기 좋은 듯.

*f string 애용할 것

 

탈출 문자는 역슬래시와 특정 문자(숫자)의 조합으로 표현할 . 수없는 기능이나 문자를 표시함.

eg. 큰 따옴표, 작은 따옴표 ,, 파일 경로 상의 역슬래시는 걍 두번 역슬래시하면 잘 출력되고

줄바꿈은 따옴표 세개 할필요 없이 \n 하면 됨

 

리스트는 중복 값 되고, 순서 보장됨. 

튜플은 일단 소괄호임 () --- 리스트가 대괄호 []

튜플은 한 번 값이 들어가면 수정 불가임. <-- 이거 빼곤 리스트랑 크게 다르지 않은 듯

근데 이거 리스트로 변환해서 수정하고 튜플로 바꾸면 튜플도 결국 '수정'은 되는 거

세트{}는 집합을 위함. 특징은, 순서 보장 안하고 중복 허용 안함. <-- 인덱스 통해서 접근 불가

 

딕셔너리 = {key1: value1, key2:value2, ...}

딕셔너리 안에 없는 key를 넣으면 에러가 나오는데, get() 메서드를 쓰면 None이 나옴.

딕셔너리 메서드 다양한 거 많고 기본적으로 외워둬야 할 듯

 

정리

각 자료형 사용법:

여러 값들을 순서대로 관리해야 한다 > 리스트

값이 바뀔 일이 없거나, 바뀌면 안된다 > 튜플

값의 존재 여부가 중요하다, 중복은 안된다 > 세트

Key를 통해 효율적으로 데이터를 관리하고 싶다 > 딕셔너리

 

얘네 서로의 형태로 변환 시켜서 결국 원하는대로 수정 가능함.

 

elif는 결국 else if임.

걍 예제가 좋아서 갖고와봄

 

range(start, stop, step) - start 이상 stop 미만 step 만큼 증가

for 변수 in 반복 범위 또는 대상

for vs while

for는 정해진 범위 안에서 순회하며 반복하는 것이라면 while은 조건이 참인 동안 계속해서 반복하는 것

반복문 탈출은 break 쓰면 되고 보통 if랑 같이 쓰이지

continue 쓰면 특정 값만 건너뛰고 반복문 계속 진행됨

얘랑 아래랑 같음. 근데 뭘 써야 메모리 소모가 덜할지 고찰 필요
list comprehension 쓴거

 

함수의 기본은

def 함수명(전달값/parameter=기본값):

    수행할 문장

    return 반환값 <-- 안써도 됨.

특정 전달값만 True로 함수 내에 정의하면 나머진 자동으로 False가 됨

가변인자 = 개수가 바뀔 수 있는 인자 (* 이거 붙이면 됨)

 

함수 내 지역으로 선언된 변수의 경우 앞에 global 붙이면 전역변수로 선언됨

 

input 함수는 기본적으로 문자열임

open으로 파일 열 수 있음: open(파일명, 열기 모드, encoding='인코딩')

열기모드는 r: read / a: append / w: write이 있음

with를 쓰면 with 블럭 벗어났을 때 자동으로 파일을 닫음

 

클래스는 여러 변수를 한 번에 묶어서 관리 할 수도 있고, 특정 기능을 하는 함수와 같은 걸 만들어서 동작하도록 할 수도 있음

클래스는 하나만 가지고 여러 객체=인스턴스를 만들어 낼 수 있는 것

설계도와 설명서를 합친 개념

 

class 클래스명:

    def __init__(self, 변수1, 변수2)

        self.변수1 = 변수1

        self.변수2 = 변수2

    def 임의함수(self):

        pass <-- 요건 그냥 일단 지나가라는 의미 (에러 없이)

변수1 = 클래스명() -----> 변수1 객체 생성 완료

 

isinstance함수를 쓰면 특정 객체(변수1)가 해당 클래스의 인스턴스가 맞는지 확인 가능

isinstance(객체/변수1, 클래스명) 요런식.

 

__init__ 함수는 함수내 전달값들로 객체를 만들 때 초기화 시켜주는 역할을 함 --> 객체가 생성될 때 자동으로 실행됨

self.변수1, self.변수2는 멤버변수라 하고, 얘네는 클래스 객체마다 서로 다른 값을 가질 수 있음

당연히, 멤버변수 외에 특정 객체 내에서 새로운 변수 선언 가능함

 

클래스 내 선언되는 함수를 메서드라고 부름

self는 객체 자기 자신을 의미함. 기억할 것:

1. 메소드를 정의할 때 처음 전달값은 반드시 self

2. 메소드 내에서는 self.name과 같은 형태로 멤버변수를 사용

 

파이썬에서 상속은 class 새(자식)클래스명(부모클래스): 하고 하면 됨 --- 다중상속도 가능

부모클래스에 멤버변수 추가는:

부모클래스의 메소드 호출시 super()를 쓰면 됨.

그래서 위의 예시의 빨간색 BlackBox -> super()로 바꿔주면 됨 (근데 그렇게 되면 매개변수에 self는 없어짐)

 

조금 헷갈릴 수 있으니 계속 곱씹으셈:

"자식 클래스에서 같은 메소드를 새로 정의하지 않으면 부모클래스의 메소드를,

자식 클래스에서 같은 메소드를 새로 정의하면 자식 클래스의 메소드를 사용함" == 메소드 오버라이딩

 

예외처리

try는 except나 finally와 함께 써야함.

 

모듈 들여오는건...

1) import 모듈 --- 모듈의 모든 기능 사용

2) from 모듈 import 변수, 함수 또는 클래스 --- 필요한 거만 가져와 사용하겠다는 의미

 

모듈 여러개 모인게 패키지인겨

 

아주 훌륭한 축약된 강의임. 계속 필요한 부분 확인할 것

 

기초 문법 자료: https://m.post.naver.com/viewer/postView.naver?volumeNo=35880111&memberNo=2534901

 

 

 

 

관련글 더보기