Programming/Python 35

[Python 3.7] 파이썬 클래스 상속 개념과 오버라이딩, super()

클래스 상속 클래스 상속은 말 그대로 클래스를 물려받는 개념 입니다. 기반이 되는 클래스를 부모 클래스(parent class) 또는 기반 클래스(base class), 슈퍼 클래스(super class) 라고 부르며, 물려받은 클래스를 자식 클래스(child class) 또는 파생 클래스(derived class), 서브 클래스(sub class) 라고 합니다. 이 글에서는 부모 클래스와 자식 클래스라는 단어를 사용 하겠습니다. 자식 클래스는 자기 자신의 메서드와 부모 클래스의 메서드를 모두 사용할 수 있습니다. 부모 클래스는 평소 사용하던 문법과 차이가 없고, 자식 클래스만 약간 차이가 납니다. 클래스를 선언하게되면 class child_class: 와 같이 설정을 했지만, 상속받기 위해선 class..

Programming/Python 2020.02.07

[Python 3.7] 파이썬 정적 메소드 vs 클래스 메소드 (staticmethod vs classmethod)

정적 메소드 vs 클래스 메소드정적 메소드(staticmethod)와 클래스 메소드(classmethod)는 인스턴스를 생성하고 호출하는 방식이 아니라, 클래스에서 바로 호출할 수 있습니다.class test: def instance_add(self, a, b): return a + b @staticmethod def static_add(a, b): return a + b @classmethod def class_add(cls, a, b): return a + b # 인스턴스 호출 a = test print(a.instance_add(None, 1, 1)) # 스태틱 메소드 호출 print(test.static_add(2, 2)) # 클래스 메소드 호출 print(test.class_add(3, 3))정..

Programming/Python 2020.02.06

[Python 3.7] CentOS 7 파이썬 3.8.1 소스 설치, 기본 설정 변경

CentOS7 버전은 기본적으로 파이썬 2.7 버전을 사용하기 때문에 3.x 버전을 사용하기 위해선 별도로 설치 해주어야 합니다. CentOS 7 파이썬 3.8 소스 설치는 아래를 따라서 진행 하시면 됩니다. 만약 root 계정이 없을 경우 sudo를 이용하여 root계정 권한으로 진행 하시기 바랍니다. # 빌드 도구 설치 yum -y groupinstall 'Development Tools' # 아래를 설치하지 않을 경우 make install 할 때 "zipimport.zipimporterror", "ImportError"가 발생 합니다. yum -y install zlib zlib-devel libffi-devel # 아래를 설치하지 않을 경우 pip ssl error 발생 yum -y instal..

Programming/Python 2020.02.06

[Python 3.7] 윈도우10 파이썬 3.8.1 설치 (install python 3.8 windows 10)

윈도우10 파이썬 3.8.1 설치 방법 입니다. 포맷 후 파이썬이 안깔려 있다는걸 깨달았네요 파이썬 공식 홈페이지(https://www.python.org/downloads/) 접속 후 "Download Python 3.8.1" 클릭, 다운로드 완료되면 실행 Add Python 3.8 to PATH 체크 후 Install Now 사용자 계정 컨트롤 창이 생기면 예를 클릭 하면 아래와 같이 설치가 진행 됩니다. "Disable path length limit"은 해제 합니다. 파일 경로나 이름이 260자를 넘기긴 힘들테지만 혹시 모르니 저는 해제 하겠습니다. 해제하면 Disable path length limit 이 사라지는데, 그대로 Close 누르시면 됩니다. 해제 안하실 분들은 그냥 Close를 누르..

Programming/Python 2020.02.06

[Python 3.7] 파이썬 클래스(class)란? (클래스 생성/호출, 인스턴스.메소드 호출, 속성, 인스턴스 속성 vs 클래스 속성, 클래스 비공개 속성)

파이썬 클래스(class)란? 클래스는 객체를 표현하기 위한 문법으로 체크박스, 스크롤바 같은 특정한 개념이나 모양을 존재하는것을 객체(object)라고 부릅니다. 이렇게 객체를 사용한 프로그래밍 언어를 객체 지향(object oriented) 언어라고 부르며 평소에 자주 사용되는 list, dict 등도 모두 각자의 용도에 맞게 만들어진 클래스 입니다. 클래스에는 크게 속성과 메소드 두가지로 구분되는데, 당장은 속성의 경우 매개변수를 받고 사용하기 위한 값을 정의하며 메소드는 만들어진 속성들을 이용해 어떤 행위를 하는 실행 코드라고 생각하셔도 됩니다. 예시 들자면 게임의 클래스(직업)를 생각하면 되는데, 각각의 클래스(전사, 마법사, 궁수 등)가 있고 그 안의 속성(힘, 민첩, 지력, 운, 물리공격력,..

Programming/Python 2020.02.06

[Python 3.7] 파이썬 함수란? (함수 생성, 호출, 고정인수, 가변인수, 키워드 인수, 딕셔너리 언패킹, 재귀호출)

함수란? 들어가는 값만 바뀌고 같은 코드가 계속 반복되는 경우 또는 용도에 따라 특정 코드들을 모아두는 용도 입니다. 한번만 작성 해두면 나중에 해당 코드가 필요할때 불러와서 사용만 하면 되기 때문에 코드 재사용이 가능하고, 코드의 용도를 명확히 구분해둘 수 있다는 장점이 있습니다. 함수 생성, 호출과 고정 인수 함수의 생성과 호출은 아래 코드와 같이 할 수 있습니다. # 함수 생성 def hello(): print('Hello, World!') # 함수 호출 hello() # 결과값 : Hello, World! 함수는 호출되기 전까지는 별도의 동작을 하지 않습니다. 밑으로 쭉 내려가다가 hello() 에서 함수를 호출하고나서 hello() 함수가 실행 및 동작 합니다. 또한 반드시 함수를 호출하기 전에..

Programming/Python 2020.02.06

[Python 3.7] 파이썬 회문 판별과 N-gram

회문 판별 회문은 앞으로 읽으나, 뒤집어서 읽으나 모두 똑같은 단어가 되는 문장 이고 대표적인 회문으로는 level 이 있습니다. 앞으로 읽어도 level, 뒤집어서 읽어도 level이 됩니다. for문을 이용해 아래와 같이 회문을 판별할 수 있는데, 아래 코드를 간단히 한줄로 말하자면 문자열의 앞뒤를 하나씩 비교하고 같다면 참, 다르면 거짓으로 판별하는 방식 입니다. 회문이라면 if 조건문에 만족하지 않아 True가 유지될것이고 회문이 아니라면 if 조건문에 만족하여 False로 변경 될겁니다. x = input('회문 판별할 단어 입력: ') Discrimination = True# 회문이 아닐 경우 False를 확인하기 위해 초기값 True 설정 a = -1# 아래 if문에서 x의 우측부터(-1) ..

Programming/Python 2020.02.03

[Python 3.7] 파이썬 파일 사용법 (쓰기/읽기, 자동으로 파일 객체 닫기, 파일 내용 불러오기, 파이썬 객체 파일에 쓰기/읽기)

파일 불러온 후 쓰기/읽기 파일객체 = open('파일명', '파일모드) 파일객체.write('입력할 문자열') 파일객체.close() 우리가 윈도우에 사용할때 처럼 파일에 어떤 내용을 적으려면 우선 그 파일을 열고, 입력할 문자열을 쓰고, 저장 후 파일을 닫는데 파이썬도 마찬가지 입니다. 쓰기(w) 모드와 읽기(r) 모드가 있고 그 외에도 추가(a) 모드나 배타적 생성(x) 모드, 텍스트(t) 모드, 바이너리(b) 모드 등이 있습니다. ## 파일 쓰기 # 쓰기(w) 모드로 Hello.txt 파일을 file 객체로 열기 file = open('Hello.txt', 'w') # file 객체에 'Hello, World!' 문자열을 작성 후 저장 file.write('Hello, World!') # file..

Programming/Python 2020.02.03

[Python 3.7] 파이썬 딕셔너리 사용법

[Python] 파이썬 딕셔너리란? : https://nirsa.tistory.com/43?category=861479 1. 딕셔너리 키-값 쌍 추가 setdefault : 키-값 쌍 추가 update : 키 값 수정, 만약 키가 없다면 키-값 쌍 추가 setdefault는 딕셔너리의 키-값 쌍을 추가 합니다. 만약 키만 지정하고 값을 지정하지 않는다면 None를 저장 하게 됩니다. 만약 키-값을 추가할 경우 값을 저장하면서 입력했던 값을 반환 합니다. # 테스트를 위한 딕셔너리 생성 x = {'a': 1, 'b': 2, 'c':3} # 키만 지정 x.setdefault('d') print(x) 결과값 : {'a': 1, 'b': 2, 'c': 3, 'd': None} # 키-값 지정 x.setdefau..

Programming/Python 2020.02.03

[Python 3.7] 파이썬 문자열 서식 지정자, 포매팅 사용법

1. 서식 지정자 서식 지정자를 이용해 문자열 작성 문자열을 아래와 같이 넣습니다. %s가 서식 지정자에서 문자열을 뜻하게 되는데, % 후에 들어간 문자열이 %s 로 오게 됩니다. 숫자는 %d 로 사용 됩니다. 여러개의 문자열을 넣을 땐 소괄호로 묵어주시면 되고, 왼쪽에서부터 순서대로 들어 갑니다. print('My name is %s' % 'nirsa') # 문자열 여러개 표현 print('My name is %s %s' % ('nirsa1', 'nirsa2')) 서식 지정자를 이용해 소수점 표현 서식지정자의 소수점 표현은 '%f' % 숫자를 입력 하거나 '%.자릿수f' % 숫자를 입력하여 소수점을 표현할 수 있습니다. print('%f' % 5.5) 결과 값 : 5.500000 print('%.2f'..

Programming/Python 2020.02.03