파이썬 53

[ Python ] 내장 함수

# 내장 함수 : 내장되어 있어서 따로 import 할 필요 없이 사용 가능한 함수. # input : 사용자 입력을 받는 함수 # language = input("무슨 언어를 좋아하세요? ") # print("{0}은 아주 좋은 언어입니다! ".format(language)) # dir : 어떤 객체를 넘겨줬을 때 그 객체가 어떤 변수와 함수를 가지고 있는지 표시 print(dir()) # 출력 : ['__annotations__', '__builtins__', '__cached__', '__doc__', # '__file__', '__loader__', '__name__', '__package_..

Python 2021.03.09

[ Python ] pip install

# pip로 패키지 설치하는 방법. # 이미 수많은 패키지들이 존재하고 있고, 누군가는 새롭게 만들고 있다. # 파이썬은 이미 만들어진 패키지들을 필요한 곳에 가져가 쓰는 것도 중요한 부분이다. # 파이썬 패키지 검색 방뻐 # 구글 -> pypi 검색 -> PyPI . The Python Package Index 접속 # -> 중간에 projects 갯수 확인 가능 # Or Browse projects 클릭 해보기 -> Filter by classifier : 다양한 기준으로 찾아볼 수 있다. # 필요한 패키지가 있는지 미리 검색을 해보고 없는 부분에 대해서는 # 직접 구현하는게 효율적일 것이다. # 웹스크래핑으로 아주 유명한 패키지 : beautifulsoup 검색해보기 (PyPI 안에서) # beau..

Python 2021.03.09

[ Python ] 패키지, 모듈 위치 확인하는 방법(inspect)

# 패키지, 모듈 위치 # 확인하는 법 import inspect import random from travel import * # print(inspect.getfile(random)) # 출력 : C:\Python38\lib\random.py # print(inspect.getfile(thailand)) # 출력 : c:\Users\kim56\OneDrive\바탕 화면\PythonWorkspace\travel\thailand.py # 문제가 없는 부분인데 pylint 오류 발생 시킴. 출력도 문제 없이 잘 되고 있음. # 다음 진행 순서 # 1. travel 패키지를 C:\Python38\lib\random.py 여기로 옮겨본다. # 2. 기존 travel 패키지의 이름은 travel_temp라고 변..

Python 2021.03.09

[ Python ] 모듈 직접 실행(모듈이 잘 작동하는지 확인하는 방법)

파일명 : thailand.py class ThailandPackage: def detail(self): print("[태국 패키지 3박 5일] 방콕, 파타야 여행 (야시장 투어) 50만원") # 모듈 직접 실행 # 모듈이 잘 동작하는지 사전에 테스트를 해보아야 한다. if __name__ == "__main__": print("Thailand 모듈을 직접 실행") print("이 문장은 모듈을 직접 실행할 때만 실행돼요") trip_to = ThailandPackage() trip_to.detail() else: print("Thailand 외부에서 모듈 호출") 파일명 : travelPractice.py import travel.thailand trip_to = travel.thailand.Thail..

Python 2021.03.08

[ Python ] __all__ 사용해서 패키지의 모듈을 import 하는 방법.

travel package 의 thailand module class ThailandPackage: def detail(self): print("[태국 패키지 3박 5일] 방콕, 파타야 여행 (야시장 투어) 50만원")travel package 의 vietnam module class VietnamPackage: def detail(self): print("[베트남 패키지 3박 5일] 다낭 효도 여행 60만원")package를 import 하는 파일 # __all__ # from random import * from travel import * # 패키지 안에 포함된 것들 중에서 import 되기 원하는 것들만 공개하고 원하지 않는 것은 비공개 할 수 있다.(__init__) trip_to = vietn..

Python 2021.03.08

[ Python ] package

travel.thailand travel package(folder) 안에 있는 thailand module class ThailandPackage: def detail(self): print("[태국 패키지 3박 5일] 방콕, 파타야 여행 (야시장 투어) 50만원") travel.vietnam travel package(folder) 안에 있는 vietnam module class VietnamPackage: def detail(self): print("[베트남 패키지 3박 5일] 다낭 효도 여행 60만원")travelPractice.py # package : 모듈들을 모아놓은 집합 / 하나의 디렉터리에 여러 모듈 파일들을 갖다놓은 것을 # 신규 여행사 프로젝트를 담당하게 된 (태국, 베트남) # tr..

Python 2021.03.08

[ Python ] 모듈 ( module )

module # 모듈 (module) : 필요한 것들 끼리 부품처럼 잘 만들어진 파일이라고 보면 된다. # 자동차 타이어 마모, 펑크 -> 타이어만 교체 # 자동차 범퍼 고장 -> 범퍼만 교체 # 코드를 부품 교체하듯 부분만 교체하면 유지보수도 쉽고 코드의 재사용성이 수월해진다. # 파이썬에서는 함수 정의, 클래스 들의 파이썬 정의를 담고 있는 파일을 모듈이라고 한다. # 확장자가 .py 이다. # 영화를 볼 수 있는 극장이 있는데, 희한하게 현금만 받는다. # 잔돈을 바꿔주지도 않는다. # 현재 theater_module.py 파일 자체가 모듈이다. # 일반 가격 def price(people): print("{0}명 가격은 {1:,}원 입니다.".format(people, people * 10000)..

Python 2021.03.08

[ Python ] finally

# 사용자 정의 예외처리 # ValueError : 파이썬에서 미리 제공하고 있는 에러 # 우리가 직접 정의해서 에러를 만들 수 있다. # finally : 오류가 발생하지 않건, 발생하건 무조건 제일 마지막에 실행되는 부분. # 오류 발생 여부와 상관없이 무조건 실행되는 finally 를 통해서 # 우리 프로그램의 완성도를 높일 수 있다. # Exception을 상속 받는다. class BigNumberError(Exception): def __init__(self, msg): self.msg = msg def __str__(self): return self.msg # 한자리 숫자에 대해서만 나눗셈을 허용하는 계산기 프로그램. try: print("한 자리 숫자 나누기 전용 계산기입니다.") num1 ..

Python 2021.03.07

[ Python ] 사용자 정의 예외처리

# 사용자 정의 예외처리 # ValueError : 파이썬에서 미리 제공하고 있는 에러 # 우리가 직접 정의해서 에러를 만들 수 있다. # Exception을 상속 받는다. class BigNumberError(Exception): def __init__(self, msg): self.msg = msg def __str__(self): return self.msg # 한자리 숫자에 대해서만 나눗셈을 허용하는 계산기 프로그램. try: print("한 자리 숫자 나누기 전용 계산기입니다.") num1 = int(input("첫 번째 숫자를 입력해주세요 : ")) num2 = int(input("두 번째 숫자를 입력해주세요 : ")) if num1 >= 10 or num2 >= 10: # 특정 조건에 에러를..

Python 2021.03.07

[ Python ] 에러 발생시키기.

# 의도적으로 에러 발생시키기. # 한자리 숫자에 대해서만 나눗셈을 허용하는 계산기 프로그램. try: print("한 자리 숫자 나누기 전용 계산기입니다.") num1 = int(input("첫 번째 숫자를 입력해주세요 : ")) num2 = int(input("두 번째 숫자를 입력해주세요 : ")) if num1 >= 10 or num2 >= 10: # 특정 조건에 에러를 발생시켜서 except 부분을 실행시킬 수 있다. raise ValueError print("{0} / {1} = {2}".format(num1, num2, int(num1/num2))) except ValueError: print("잘못된 값을 입력하였습니다. 한 자리 숫자만 입력하세요.")

Python 2021.03.07

[ Python ] 예외 처리(try, except, Exception, as error 등)

# 예외 : 어떤 에러가 발생했을 때, 처리해주는 것. # 에러 : 실책, 실수, 잘못된 것을 입력했을 때 # 예시) 택새 기사님이 11층 배송지로 이동하는데 그 아파트는 10층까지 밖에 없을 때...등 # URL 잘못 적거나, 숫자를 입력해야 하는데 문자열을 입력했을 때. # 예시 문제) 나누기 전용 계산기 프로그램. # 방법 1. try: print("나누기 전용 계산기입니다.") num1 = int(input("첫 번째 숫자를 입력해주세요 : ")) num2 = int(input("두 번째 숫자를 입력해주세요 : ")) print("{0} / {1} = {2}".format(num1, num2, int(num1/num2))) # 실수 출력하지 않기 위해서 int() 형변환 except ValueEr..

Python 2021.03.07

[ Python ] 스타크래프트 후반전

# 스타크래프트 전반전 # 텍스트 기반으로 실제 게임을 하는 것처럼 프로젝트 만들기. from random import randint # 일반 유닛 class Unit: def __init__(self, name, hp, speed=0): self.name = name self.hp = hp self.speed = speed print("{0} 유닛이 생성되었습니다.".format(self.name)) def move(self, location): print("{0} : {1} 방향으로 이동합니다. [속도 {2}]".format(self.name, location, self.speed)) def damaged(self, damage): print("{0} : {1} 데미지를 입었습니다.".format(s..

Python 2021.03.07

[ Python ] super()

# super # 일반 유닛 class Unit: def __init__(self, name, hp, speed=0): self.name = name self.hp = hp self.speed = speed def move(self, location): print("[지상 유닛 이동]") print("{0} : {1} 방향으로 이동합니다. [속도 {2}]".format(self.name, location, self.speed)) # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, damage, speed=0): Unit.__init__(self, name, hp, speed) # 부모에게 값을 넘겨주어 초기화하는 작업. self.damage = d..

Python 2021.03.07

[ Python ] pass

# pass # 일반 유닛 class Unit: def __init__(self, name, hp, speed): self.name = name self.hp = hp self.speed = speed def move(self, location): print("[지상 유닛 이동]") print("{0} : {1} 방향으로 이동합니다. [속도 {2}]".format(self.name, location, self.speed)) # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, damage, speed=0): Unit.__init__(self, name, hp, speed) # 부모에게 값을 넘겨주어 초기화하는 작업. self.damage = dama..

Python 2021.03.07

[ Python ] 메소드 오버라이딩

# 메소드 오버라이딩 # 일반 유닛 class Unit: def __init__(self, name, hp, speed): self.name = name self.hp = hp self.speed = speed def move(self, location): print("[지상 유닛 이동]") print("{0} : {1} 방향으로 이동합니다. [속도 {2}]".format(self.name, location, self.speed)) # 상속받을 때 '클래스명(상속받을 클래스명)' # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, damage, speed=0): Unit.__init__(self, name, hp, speed) # 부..

Python 2021.03.07

[ Python ] 다중 상속.

# 다중 상속 : 부모 클래스를 여러개 상속 받는. # 일반 유닛 class Unit: def __init__(self, name, hp): self.name = name self.hp = hp # 상속받을 때 '클래스명(상속받을 클래스명)' # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, damage): Unit.__init__(self, name, hp) # 부모에게 값을 넘겨주어 초기화하는 작업. self.damage = damage def attack(self, location): print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 : {2}]".format( self.name, location, self..

Python 2021.03.07

[ Python ] 상속

# 상속 # 일반 유닛 class Unit: def __init__(self, name, hp): self.name = name self.hp = hp # 상속받을 때 '클래스명(상속받을 클래스명)' # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, damage): Unit.__init__(self, name, hp) # 부모에게 값을 넘겨주어 초기화하는 작업. self.damage = damage def attack(self, location): print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 : {2}]".format( self.name, location, self.damage )) def damaged(s..

Python 2021.03.07

[ Python ] 메소드

# 메소드 class Unit: def __init__(self, name, hp, damage): self.name = name self.hp = hp self.damage = damage print("{0} 유닛이 생성 되었습니다.".format(self.name)) print("체력 {0}, 공격력 {1}".format(self.hp, self.damage)) # 공격 유닛 class AttackUnit: def __init__(self, name, hp, damage): self.name = name self.hp = hp self.damage = damage def attack(self, location): print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 : {2}]".fo..

Python 2021.03.07

[ Python ] 멤버 변수

클래스 외부에서 원하는 변수 확장 확장된 변수는 확장한 객체에 대해서만 적용되고 다른 객체에 대해서는 적용되지 않는다. # 클래스 만들기 # __init__ : Python에서 사용되는 생성자 # marine이나 tank 같은 객체가 만들어질 때 자동으로 호출되는 부분. # 객체 : 클래스에 의해 만들어진. # marine, tank는 Unit 클래스의 '인스턴스'라고 한다. # 멤버 변수 : 클래스 내에서 정의된 변수(self.name/self.hp/self.damage) # ------------ 클래스 생성 시작 -------------- class Unit: def __init__(self, name, hp, damage): self.name = name self.hp = hp se..

Python 2021.03.07

[ Python ] 클래스 생성자 선언

# 클래스 만들기 # __init__ : Python에서 사용되는 생성자 # marine이나 tank 같은 객체가 만들어질 때 자동으로 호출되는 부분. # 객체 : 클래스에 의해 만들어진. # marine, tank는 Unit 클래스의 '인스턴스'라고 한다. # ------------ 클래스 생성 시작 -------------- class Unit: def __init__(self, name, hp, damage): self.name = name self.hp = hp self.damage = damage print("{0} 유닛이 생성 되었습니다.".format(self.name)) print("체력 {0}, 공격력 {1}".format(self.hp, self.damage)) # ---..

Python 2021.03.07
728x90
반응형
LIST