본문 바로가기

코딩 연습/코딩배우기166

[python] 파이썬 파일 쓰기, 읽기 - open(), read(), readline(), readlines() ■ 파이썬 내장함수인 open()으로 파일 객체를 얻어서 파일을 생성하거나 쓰고, 읽을 수 있다. str1 = 'G2Bgo는 나라장터, 관공서입찰, 공공기관입찰, \ 군부대입찰 등의 경쟁입찰 건들에 대해 AI 분석을 통한 예정가격과 \ 낙찰률을 계산하며, 각 입찰공고 건에 대해 투찰을 할 수 있도록 \ 입찰금액을 제공해주는 입찰정보사이트입니다.' # 파일 쓰기 f = open('./g2bgo.txt', 'w') # 파일 객체 얻기 f.write(str1) f.close() # f는 # 파일 생성 'w' 모드는 기존 파일을 덮어쓴다. # (기존 파일 삭제 후 다시 생성 - 사용 시 주의 필요!!) # 파일객체 반복자(iterator)에 대해 for문으로 읽기 f = open('./g2bgo.txt') fo.. 2020. 9. 11.
[python] 파이썬 클래스 상속(inheritance) ■ 파이썬의 클래스 상속(inheritance) # 부모클래스가 갖는 모든 메서드가 자식클래스에도 담긴다. # 자식클래스에는 별도의 메서드를 추가할 수 있다. class Father: def run(self): print('so fast..!') class Son(Father): def jump(self): print('so high..!') def main(): s = Son() s.run() # so fast..! / 상속된 메서드 s.jump() # so high..! / 추가된 메서드 main() ■ 메서드 오버라이딩 # 상속 관계에서 부모클래스의 메서드와 동일한 이름의 메서드를 자식클래스가 정의하는 것 # 이 경우, 부모메서드는 보이지 않는 상태가 된다.(호출 불가 상태) class Father.. 2020. 9. 10.
[python] 파이썬 클래스와 객체의 본질, 그리고 독특한 특성 ■ 객체 변수의 선언과 초기화 # 아래 클래스에서 메서드 정의만 보이고 변수 선언은 없지만, 파이썬은 객체에 필요한 변수 i를 알아서 생성해준다. i변수가 생성되는 시점은 객체 내에서 해당 변수를 대상으로 대입연산을 처음 진행하는 순간임 class Simple1: def set_i(self, i): self.i = i def get_i(self): return self.i s1 = Simple1() s1.set_i(200) # 객체 내 변수 i 생성, 200 대입(할당) print(s1.get_i()) # 200 s12 = Simple1() #s12.get_i() # 객체 내 i 변수 미생성 단계에서 호출하면 오류 발생 # AttributeError: 'Simple' object has no attrib.. 2020. 9. 9.
[python] 파이썬 sort(), sorted() 알아보기 파이썬 sort()는 원본을 변경시키는 함수인 반면 sorted()는 원본을 변경시키지 않는 정렬 방법의 함수이다. # 리스트 sort() ls = [3, 1, 4, 2] ls.sort() # 오름차순이 디폴트임 print(ls) # [1, 2, 3, 4] 원본 변경시킴 ls = [3, 1, 4, 2] ls.sort(reverse = True) # 내림차순 print(ls) lt = [('yoon', 33), ('lee', 35), ('park', 29)] lt.sort() print(lt) # [('lee', 35), ('park', 29), ('yoon', 33)] 이름 순 lt.sort(reverse = True) print(lt) # [('yoon', 33), ('park', 29), ('lee'.. 2020. 9. 8.
[python] 파이썬 enumerate와 문자열 비교 enumerate는 iterable객체를 인자로 전달받아 iterator객체를 생성하는 enumerater객체임 bando = ['강동원', '이정현', '권해효', '이레', '이예원'] enum_order = enumerate(bando) for n in enum_order: print(n) ''' (0, '강동원') (1, '이정현') (2, '권해효') (3, '이레') (4, '이예원') ''' for n in enumerate(bando, 1): # 시작번호 부여 print(n) ''' (1, '강동원') (2, '이정현') (3, '권해효') (4, '이레') (5, '이예원') ''' # 딕셔너리로 만들기 dname = {} for k, v in enumerate(bando, 1): dna.. 2020. 9. 8.
[python] 파이썬 시간 관련 함수, time() datetime() timezone() 파이썬 웹 사이트 개발 연습 중, UI에 표시할 날짜와 시간을 어떻게 표시할 지 고민했는데, 파이썬 시간 관련 함수인 time(), datetime(), timezone()을 사용하면 얼마든지 만들어 사용할 수 있었다. pytz 라이브러리는 pip로 설치하고 사용해야한다. # pip install pytz from pytz import common_timezones, timezone from datetime import datetime from time import time, localtime, gmtime, ctime print(datetime.today()) # 2020-09-08 11:27:41.561416 print(datetime.now()) # 2020-09-08 11:27:41.561416 .. 2020. 9. 8.
[python] 순서와 중복을 허용하지 않는 파이썬 set(), frozenset() 함수 # 파이썬의 시퀀스 타입(sequence type)은 list, tuple, string, range # set(), frozenset()는 집합 관련 자료형으로 셋 타입이라 하며, iterable 객체이고, # set()은 저장된 값의 순서정보가 없고 중복된 값을 허용(저장)도 않는다. print(set('anaconda')) # {'o', 'a', 'n', 'c', 'd'} # set() 정의는, s = {} print(type(s)) # dict 정의임 s1 = {1,} print(type(s1)) # set 정의됨 s2 = set() print(type(s2)) # # 중괄호 내 값의 형태에 따라 type이 결정됨 #sd1 = set(1, 2, 3) # 정의 불가 # TypeError: set e.. 2020. 9. 3.
[python] 파이썬 내장함수 zip()에 대해 ■ zip()은 동일한 개수로 이루어진 자료형을 묶어 튜플로 만드는 함수이다. lzip = zip(['a', 'b', 'c'], [1, 2, 3]) # 리스트 tzip = zip(('a', 'b', 'c'), (1, 2, 3)) # 튜플 szip = zip('abc', (1, 2, 3)) # 문자열과 튜플 print(lzip) # zip 반환 객체는 iteable 객체임 # for i in lzip: # tzip, szip / 3가지 모두 동일하게 튜플 출력 print(i) ''' ('a', 1) ('b', 2) ('c', 3) ''' # 반환 형태 변환도 가능 # 반환되는 튜플을 리스트로 만듦 print(list(zip(['a', 'b', 'c'], [1, 2, 3]))) # [('a', 1), ('b.. 2020. 9. 3.
[python] Django 3.1 Tree ■ 파이썬 웹프레임워크인 장고(Django) 트리구조 django 3.1 Tree ├─__pycache__ │ shortcuts.py │ __init__.py │ __main__.py │ ├─apps │ │ config.py │ │ registry.py │ │ __init__.py │ │ │ └─__pycache__ │ config.cpython-38.pyc │ registry.cpython-38.pyc │ __init__.cpython-38.pyc │ ├─bin │ │ django-admin.py │ │ │ └─__pycache__ │ django-admin.cpython-38.pyc │ ├─conf │ │ global_settings.py │ │ __init__.py │ │ │ ├─app_templa.. 2020. 8. 31.
[python] 딕셔너리(dict) 알아보기 - 생성, 루핑, 컴프리헨션, setfault, orderedDict ■ dict 생성 d1 = {'a': 1, 'b': 2, 'c': 3} d2 = dict([('a', 1), ('b', 2), ('c', 3)]) d3 = dict(a = 1, b = 2, c = 3) d4 = dict(zip(['a', 'b', 'c'], [1, 2, 3])) # zip() 함수 d5 = dict({'a': 1, 'b': 2, 'c': 3}) #d6 = dict(('a', 1), ('b', 2), ('c', 3)) # TypeError print(d1 == d2 == d3 == d4) # True print(d1) print(d2) print(d3) print(d4) print(d5) # {'a': 1, 'b': 2, 'c': 3} / d1~5 모두 동일 ■ dict의 for loop .. 2020. 8. 29.