본문 바로가기

Python

(29)
[Python] 10. 클래스 정적 매소드 (classmethod / staticmethod) #정리 ** 정적 메소드는 두 가지 방법으로 함수 콜 가능 ( 정적 메소드 = classmethod, staticmethod ) - 1. 일반 동적 함수 처럼 인스턴스 생성 후, 객체명으로 함수 콜 - 2. 인스턴스를 만들지 않고 클래스명으로 직접 함수 콜 ** @ : java에서는 anotaion, 파이썬에서는 decoration이라고 한다. #27classmethod - 클래스 함수 # classmethod는 cls(class)를 self 대신 활용한다. - @classmethod #@ 데코레이션을 붙여서 함수를 생성한다. - def sleep(cls,time): #self >> cls(class)로 변경 필요 #정적 매소드의 두 가지 접근 방법 - p.sleep(5) #객체명으로 접근 - Perso..
[Python] 9. class_extends (클래스 상속) #정리 #25class_extends - 클래스 상속 #상속할 때는 클래스(상속 클래스1,상속 클래스2,,,) 형태로 한다. - class Student(Person): #상속 후 부모 클래스의 [클래스 변수]와 [함수] 상속 - print(st.userName) #클래스변수 상속 OK - print(st.pname) #함수 안인스턴스 변수 상속 안됨. self ==has no attribute - st.sleep(7)#상속 후 부모 클래스 함수 사용 가능 #상속 관계 확인 - print(Person.__bases__)#Person의 슈퍼클래스 확인 - print(Student.__bases__)#Person의 슈퍼클래스 확인 #명령어가 is로 시작하면 참,거짓으로 반한된다. - print(issubcl..
[Python] 8. class(클래스 생성, 변수 은닉화, 동적 메소드) #정리 ** 클래스 내에서 선언되는 변수를 멤버변수라고 하며, 멤버변수는 클래스변수 / 인스턴스 변수로 나뉜다. - 클래스 변수는 클래스 내에 직접적으로 선언된다. - 인스턴스 변수는 생성자함수 내에 선언하며, 인스턴스가 생성될 때 자신을 참조(self)하며 초기화된다. #22class - 클래스 생성 # 클래스 생성과 객체 생성 #클래스 변수 - 클래스변수는 클래스 내에서 전역변수처럼 여러 인스턴스에서 공유가 필요할 때 활용할 수 있다. - 클래스변수에 접근하여 값을 수정하면, 인스턴스 변수화되어 별도의 값이 된다. #인스턴스 변수 - 객체 생성 단계에서 값을 지정할 수 있다. - userName = "han" #local variable : 자신을 참조(self)하지 않으면 함수 내 지역변수가 되어 ..
[Python] 7.sqlite3 DB 연동 CRUD 구현 #정리 #20sqlite3 - 로컬 db #import sqlite3 : sqlite3 임포트 (아래 2가지 사전 설치 필요) - sudo apt install libsqlite3-dev - sudo apt install sqlite3 #1.connect : "파일명.db"에 커넥션을 맺겠다. ** 쿼리 통신이 끝나면 마지막에 con.close 를 해준다. - con = sqlite3.connect("py20test.db") #2. cursor init : pstmt 초기화 - cs = con.cursor() #3. create table : 쿼리문 작성 - 뎁스 상관없음 - cs.execute(''' ~ ''') #동적 쿼리문 작성 - values = ("park",44,1) #tuple - cs.ex..
[Python] 6. 파일 읽기,쓰기 file open _ read / write,append, with_open #정리 #17open - 파일 데이터 읽기 #open(filename, option) : option(r:read) - f = open('py17.txt','r') #" "사용 가능 >>while True: - data = f.readline() #데이터가 있으면 읽어들여줘 - if not data: break #데이터가 없으면 종료 - print(data,end="")#읽은 데이터 출력해줘 >>f.close() #파일 종료 #18open_open_write/append - 파일 데이터 작성 #open(filename, option) : option(w:write,a:append) - f = open('py18.txt','w') #새로 작성(덮어쓰기) - 파일 생성 기능이 있음 - f = open('py..
[Python] 5.배열(array) : tuple, dictionary, set #정리 #14tuple - 투플 배열 #tuple 배열은 ( )로 표시한다. - tp = (11,) : , 를 붙여야 투플타입이 된다. (11) >> int // (11,) >> tuple #list를 캐스팅해서 쓰는 것이 가능하다. - lst = [0 for _ in range(10)] >> print(tuple(lst)) #값을 불러오는 것은 가능하지만, 값 변경은 불가하다. - print(tp[3:7]) - tp[3:7] = () #값 변경 불가 #15dictionary - 딕셔너리 배열 #dict배열은 { } 형태로 표시하며, 키 값을 가진다. - dic = {} #dict - dic = {"num":1} #dict - 키값 없이 데이터값만 주면 set이 된다. #dic = {1} >> set #..
[Python] 3. 람다식(lambda), 시간함수(time,datetime), 임포트(import) #정리 #09Lambda - 람다식 #(lambda (파라미터) : (함수)) (아규먼트) 뼈대로 작성하며, fn( )와 같은 형태이다. - print((lambda x : x + 10)(99)) >>109 출력 #일급함수 기능을 사용해 함수형 프로그래밍을 지원하기 위한 것이다 - java의 anonymous inner func/ JS의 arrow func과 유사하다. - 본래 리턴문에 함수 정의를 할 수 없지만, 람다식으로는 리턴문에 함수 정의를 할 수 있다. #아규먼트 / 리턴이 없는 형태의 람다 함수는 사용 의미가 없고, 아규먼트의 갯수와 리턴 내용에 초점을 맞추게 된다. #람다식은 필터링, 맵핑, 묶기에 자주 쓰인다. #1급함수 기능 사용 방법 - sum_xy = fn(11,22) - test01..
[Python] 2. 반복문(while, for), 함수(def), 1급 함수(def_firstclass) #정리 #04while - 반복문 #while (조건): (~continue) ~break뼈대로 작성한다. - while True: ~ if i==5: continue ~ if i==10: break #do - while 은 없다. #for - 반복문 #for (변수) ~ in (범위) 뼈대로 작성한다. - range()를 이용해서 필요만큼 반복할 수 있다. - for i in range(10,20): #다른 언어에서 사용되는 for문 형태는 사용하지 못한다. - for(;;) #error #range()는 다양하게 작성할 수 있다. - print(range(10)) - print(range(0,10)) - print(range(0+1,10+1)) #list 배열 원소 갯수를 활용하여 foreach처럼 ..
[Python] 1. 파이썬, 연산자(operator), 캐스팅(casting), 분기문(if_else), 실행 아규먼트(sys.argv) >>정리 **파이썬은 배열의 종류가 다양하게 분류되어있다. >>01Python3 #!/usr/bin/env python - !를 하는 것은 선언한다는 의미이다. - /usr/bin/env 경로에 있는 python 문법을 따르겠다. # -*- coding: utf-8 -*- - 인코딩 타입은 utf-8로 하겠다. #코드문장의 끝을 위해 세미콜론을 쓰지 않는다. #코드에 블럭{}이 없고, "들여쓰기"로만 정리하므로, 줄 정리에 주의해야 한다. #VS 처럼 스크립트 파일이기 때문에 컴파일 없이 저장만 한다. #python3 소스코드 실행 방법 - python3 py01hello.py print(type(a)) #타입이 클래스로 찍힌다. #tuple을 활용하여 여러 변수에 값을 동시에 할당할 수 있다. - a,..