본문 바로가기

Python/파이썬 기초17

[Python] datetime 모듈 datetime 모듈 datetime 모듈 datetime 모듈 : 날짜와 시간을 사용하게 해주는 라이브러리 datetime 예제 import datetime christmas_2023 = datetime.datetime(2023, 12, 25) # 2023-12-25 00:00:00 # 2023년 크리스마스부터 지금까지 남은 일수 days = (christmas_2023 - datetime.datetime.now()).days print(days) # 292일 datetime.datetime( , , , , , ) : 해당 날짜와 시간(시, 분, 초)을 리턴 datetime.datetime.now() : 현재 날짜와 시간(시, 분, 초)를 리턴 days() : 해당 일수만 리턴 (cf. years()).. 2023. 3. 7.
[Python] Comprehension ⭐ Comprehension Comprehension은 파이썬에서만 제공하는 유용한 도구로 List Comprehension과 Dictionary Comprehension이 있다. List Comprehension ( 리스트 컴프리헨션 ) 예1) [ for 문 ] 예제 : [ i * i for i in range( 1, 11 ) ] 를 이용해서 1~10 의 숫자를 제곱하여 리스트에 저장 areas = [] # 저장할 리스트 for i in range(1,11): areas = areas + [i*i] # 리스트에 값추가 ( = areas.append(i*i) ) print("areas : ", areas) # areas2 : list comprehension 이용 areas2 = [ i*i for i in .. 2023. 2. 22.
[Python] 나만의 예외 만들기 나만의 예외 만들기 나만의 예외 정의 나만의 예외를 정의하면 사용자가 직접 예외처리를 하게 되어 코드의 직관성을 높일 수 있다. 예외 정의 방법 파일을 하나 만들어 예외를 정의한다. (이때, 파일은 Exception 클래스를 상속받아 만든다.) try-except 문에 에러를 자신이 만든 예외를 이용한다. # 실행 파일에서 에러 정의 파일들을 불러오기 from BadUserName import BadUserName from PasswordNotMatched import PasswordNotMatched def sign_up(): '''회원가입 함수''' try: sign_up() except BadUserName: print("이름으로 사용할 수 없는 입력입니다.") except PasswordNotMa.. 2023. 2. 22.
[Python] 상속과 오버라이드 상속과 오버라이드 상속 (Inheritance) 상속 : 자식 클래스가 부모 클래스의 내용을 가져다 쓸 수 있는 것 (상속하는 클래스를 부모 클래스, 상속받는 클래스를 자식 클래스라 부르고 상속을 하면 부모의 것이 없어지는 것은 아니다.) 상속받는 방법 class ( ) : 상속받는 방법은 상속받을 자식클래스의 매개변수로 부모클래스를 받는 것이다. 상속을 받게되면 자식클래스는 부모클래스의 메서드나 변수를 사용할 수 있다. 상속 예제 class Animal( ): def walk( self ): print( "걷는다" ) def eat( self ): print( "먹는다" ) class Human( Animal ): def wave( self ): print( "손을 흔든다" ) class Dog( An.. 2023. 2. 22.
[Python] 클래스 클래스 클래스와 인스턴스 개념 클래스 (class) : 함수나 변수들을 모아 놓은 집합체이다. 인스턴스 (instance) : 클래스에 의해 생성된 객체로 인스턴스는 각자 자신의 값을 가지고 있다. numbers1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(type(numbers1)) # numbers2 = list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print(type(numbers2)) # isinstance(numbers1, list) # True isinstance(numbers2, list) # True print(numbers1 == list) # False ⭐ 가장.. 2023. 2. 22.
[Python] 논리연산 논리연산 단락평가 단락평가는 논리연산에서 코드의 앞만 보고 값을 정할 수 있는 경우 뒤는 보지 않고 값을 결정하는 경우를 말한다. 즉, 복잡한 코드를 단순하게 하는 방식이다. 예를 들어, and 연산의 경우 코드의 앞이 거짓이라면 값은 거짓이다. (코드의 앞 뒤 조건이 모두 참이어야 하기 때문임 ) dic = {"Key2" : "Value1"} if "Key1" in dic and dic["Key1"] == "Value1" : print("Key1도 있고, 그 값은 Value1이네") else : print("아니네") bool형과 단락평가에 따른 값 결정 1. and연산 A 가 False 라면 단락평가에 의해 뒤에 값은 보지 않고 모두 False가 된다. 반면, A가 True라면 B의 True/Fals.. 2023. 2. 20.
[Python] 예외 처리 예외 처리 예외 처리는 에러가 발생할 수 있는 코드에서 발생할 에러를 미리 처리하는 과정이다. try-except 구문 대신 if - else를 사용할 수도 있다. ( if - else로 처리할 수 있으면 처리하는 거 권장! ) 예외 처리 구조 try : except : # 예외 처리 예제 def safe_pop_print(list, index) : try: print(list.pop(index)) except IndexError : print('{} index의 값을 가져올 수 없습니다.'.format(index)) # index 벗어난 경우 에러 처리 safe_pop_print([1,2,3], 5) # 예외 처리 예제 -> if-else문 def safe_pop_print(list, index) : .. 2023. 2. 19.
[Python] 모듈 모듈 모듈 (module) 모듈 (module) : 프로그램의 기능을 독립적인 부품으로 분리한 것으로 미리 만들어진 코드를 가져와 쓰는 방법이다. 모듈 불러오는 방법 : import 모듈 사용 방법 : . 모듈의 예 import math : 수학과 관련된 기능 import random : 무작위와 관련된 기능 import urllib.request : 인터넷의 내용을 가져오는 기능 import datetime : 날짜, 시간과 관련된 기능 예제) random 모듈을 이용한 숫자 맞추기 게임 from random import randint print("Welcome to Python Casino!") pc_choice = randint(1,100) playing = True while playing : u.. 2023. 2. 19.
[Python] 반복제어 - while 반복제어 - while while문 while문 : 조건이 참인 경우 계속 실행하는 반복문 (조건이 거짓이면 반복 종료) while문 구조 while : 실행할 문장 ... while selected not in ['가위', '바위', '보']: selected = input('가위, 바위, 보 중에 선택하세요>') while문과 for문 while문은 위에 경우처럼 조건이 참일 때 " 무한 반복 "인 경우에 유용하고, for문은 아래 경우처럼 " 순회 범위가 정해진 " 경우에 유용하다. patterns = ['가위', '바위', '보'] # for문으로 표현 1 for pattern i patterns : print(pattern) # for문으로 표현 2 for i in range(len(patter.. 2023. 2. 19.
[Python] 반복 제어 - For 반복 제어 - For for in 반복문 for 반복문 (for loop) : 필요한 코드들을 리스트 (또는 튜플, 문자열)의 길이만큼 반복해서 실행하는 반복 제어문 for in 반복문 구조 for 변수 in 리스트( 또는 튜플, 문자열 ) : 수행할 문장 1 수행할 문장 2 ... 관습적으로 자료구조(리스트, 튜플) 은 (e)s로 복수형 표현을 쓰고, 변수는 단수형 표현을 사용한다. 하지만, 변수명은 아무거나 상관 없기 때문에 지킬 필요는 없다. # 리스트 list = ['one', 'two', 'three'] for i in list : print(i) # 튜플 tuple = [(1,2), (3,4), (5,6)] for (n1, n2) in tuple : print(n1 + n2) range 함수 .. 2023. 2. 19.
[Python] 리스트와 딕셔너리 비교 리스트와 딕셔너리 비교 자료구조 중 튜플은 제외하고 리스트와 딕셔너리만 비교하는 이유는 앞선 포스트에서 본 것 같이 튜플은 " 불변성 " 이라는 특징이 있기 때문이다. 공통점 리스트(list) 딕셔너리(dictionary) 생성 list = [ 1, 2 ,3 ] dict = { 'one':1, 'two':2 } 호출 list[ 0 ] dict[ 'one' ] 삭제 del( list[ 0 ] ) del( dict[ 'one' ] ) 개수 확인 len( list ) len( dict ) 값 확인 2 in list 'two' in dict.keys( ) 전부 삭제 list.clear( ) dict.clear( ) 차이점 리스트(list) 딕셔너리(dictionary) 순서 삭제 시 순서가 바뀌기 때문에 인덱스.. 2023. 2. 19.
[Python] 자료구조 2 - 딕셔너리, 튜플 자료구조 2 - 딕셔너리, 튜플 딕셔너리 딕셔너리는 여러 값을 저장해 두고 필요한 값을 꺼내 쓰는 키-값쌍 (key value pair) 의 자료구조 ( 많은 속성들을 가지고 있는 데이터를 만들 때 사용) 딕셔너리명 = { 키1 : 값1, 키2 : 값2, ... } * 딕셔너리 키의 값은 숫자, 문자열, boolean형 같은 자료형 외에도 리스트, 튜플, 딕셔너리 같은 자료구조도 가능하다. player = { 'name' : 'nico', 'age' : 12, 'alive' : True, 'fav_food' : ["🍕","🍔"], "friend" : { "name" : "lynn", "fav_food" : "🍎" } } 딕셔너리 값 접근 딕셔너리의 키와 값에 접근하는 방식은 리스트와 비슷하다. (리스트에.. 2023. 2. 19.
[Python] 자료구조 1 - 리스트 자료구조 - 리스트 ⚠️장문주의⚠️ 자료구조 : 데이터를 구조화할 때 사용하며, 파이썬의 자료구조는 리스트(list), 튜플(tuple), 딕셔너리(dictionary)가 있다. 리스트 리스트(list) : 여러개의 값을 담을 수 있는 변수 리스트 아이템은 문자열, 정수, 실수, boolean형 등 모두 가능하다. 리스트 아이템 간에는 순서가 존재한다. (=> 시퀀스 데이터) ⭐ 리스트 아이템은 index로 순서를 정하고 index는 0번부터 시작한다. 리스트 생성법 1. 대괄호 이용⭐ 리스트명 = [리스트아이템1, 리스트아이템2, ... ] 2. 비어있는 리스트 생성 (list() 함수 이용) = list() 2번 방법은 리스트를 생성할 수 있지만, 비어있는 리스트를 생성한다. list1 = ["Mon.. 2023. 2. 17.
[Python] 자료형과 사용자 입력 자료형과 사용자 입력 자료형 자료형에는 문자열, 정수, 실수와 같은 숫자와 불형 (boolean)이 있다. 문자열 문자열 : 문자 등을 1차원적으로 나열한 것으로 하나의 계속되는 비트(bit), 문자(character), 레코드(record) 등을 나타낸다. 문자열 만드는 방법 1. 따옴표 ' 또는 큰따옴표 " 1개로 만들기 ' 또는 " 로 글의 양쪽을 감싸면 문자열로 인식하여 문자열로 만들 수 있다. ' 로 감싼 문자열 안에는 " 를 쓸 수 있고, " 로 감싼 문자열 안에는 ' 를 쓸 수 있다. 2. 따옴표/큰따옴표 3개로 만들기 따옴표나 큰따옴표 3개로 이루어진 쌍으로 감싸서 사용한다.. 줄 바꿈을 인식할 수 있다. ' 와 " 를 섞어서 쓸 수 있다. string1 = '따옴표로 싼 문자열 안에는 큰.. 2023. 2. 17.
[Python] 함수 함수 (Function) 함수의 선언 함수 선언은 def 키워드를 사용하여 선언하고 기본적인 파이썬 내장 함수 (print 함수 등) 외에 사용자가 정의하여 사용한다. 함수 안에 들어가는 코드들은 모두 들여쓰기 (indentation) 를 통해서 블록으로 만들어야 한다. (단, 함수명은 숫자로 시작할 수 없다!!) def () : 실행할 코드블록 함수의 실행 함수의 실행은 def를 통해 만든 함수 이름 + ()를 통해서 가능하다. def function() : # 함수 정의(선언) print("텍스트") function() # 함수 실행 매개변수와 실행인자 매개변수 (parameter) : 함수를 정의할 때 사용하는 이름 실행인자 (argument) : 함수를 실행할 때 넘기는 변수, 값 def (매개변.. 2023. 2. 17.