Python/이것저것 파이썬
-
파이썬 for 문에서, 언패킹에서 underscorePython/이것저것 파이썬 2021. 11. 29. 21:34
파이썬 커뮤니티에서 아래 코드에서 roll_num의 의미에 대해 질문이 올라왔더군요. from random import randint def roll(): return randint(1, 6) def main(): results = [] for roll_num in range(10): result = roll() results.append(result) print(results) main() 위 코드에서 roll_num 은 의미 없는 변수입니다. 언더스코어('_', under score, 언더바)로 바꿔주는 게 더 좋습니다. 뒤에 사용되지 않지만 비워둘 수 없는 변수에는 관례적으로 '_'를 사용합니다. from random import randint def roll(): return randint(1, ..
-
tkinter로 qrcode 출력Python/이것저것 파이썬 2021. 11. 19. 14:44
구글링 해보니 pyqrcode를 사용한 코드들이 많이 보이던데요. https://stackoverflow.com/questions/69240727/create-a-qrcode-using-tkinter pyqrcode는 2016년 이후 업데이트가 없었습니다. https://pypi.org/project/PyQRCode/#history 2021년에도 꾸준히 업데이트되고 있는 'qrcode'라는 라이브러리가 있더군요. https://pypi.org/project/qrcode/#history qrcode와 tkinter를 같이 사용하는 법을 구글링 해보았으나 찾기 힘든 검색어 조합이라 그런지 찾을 수 없었습니다.... qrcode 파일을 생성하는 방법만 있더군요... 그래서 직접 해결을 했습니다. 별로 어렵지 ..
-
파이썬으로 이메일(gmail) 보내기..Python/이것저것 파이썬 2021. 11. 14. 20:03
페이스북 코딩 모임에 올라온 글. 이름, 이메일, 쿠폰 번호가 들어있는 다음 CSV 파일을 이용해 이메일을 보내는 코드를 작성하십시오. 단. 파이써닉하게~! 재미있을 것 같아서... 한 번 작성해 보았습니다. list.csv 1,김씨,kim@test_email.com,1111 2,이씨,lee@test_email.com,2222 3,정씨,jung@test_email.com,3333 1. 답답한 스타일입니다. 딕셔너리나 리스트에 CSV파일의 데이터를 넣은 뒤 메일을 보냅니다. * gmail을 이용하려면, 구글 계정의 보안 수준이 낮은 앱 허용을 체크해야 합니다. * 코드 내의 비밀번호 유출 주의~! from csv import reader from email.mime.text import MIMEText f..
-
tkinter를 class와 함께 사용하면 image가 사라져요.Python/이것저것 파이썬 2021. 11. 10. 08:01
Without Class 클래스를 쓰지 않으면 이미지가 잘 출력됩니다. (JPEG 파일은 지원하지 않으니 PNG나 GIF를 이용합니다.) from tkinter import * root = Tk() root.title('컴닥') root.geometry('640x480') image = PhotoImage(file='test.png') # jpeg 파일은 지원하지 않습니다. label = Label(root, image=image, relief='sunken') label.pack() root.mainloop() With Class 같은 코드를 클래스로 옮겨 봅니다. from tkinter import * class App: def __init__(self, root): image = PhotoImage..
-
파이썬 Tkinter 가볍게 시작하기Python/이것저것 파이썬 2021. 11. 10. 08:01
2줄의 코드로 시작합니다. from tkinter import * Tk().mainloop() 임포트 문에 *을 사용하는 것은 일반적으론 추천되지 않습니다. 하지만, GUI 프로그래밍에는 임포트할 것들이 너무 많습니다. 파이썬 공식 tkinter 문서에도 *가 사용됩니다. GUI 객체와 루프를 돌려주는 메서드만 있으면 창을 볼 수 있습니다. 코드를 나눠볼까요? from tkinter import * root = Tk() root.mainloop() Tk 클래스에서 root라는 인스턴스를 만들고, root 인스턴스의 루핑 메서드를 실행합니다. root 인스턴스 설정 from tkinter import * root = Tk() root.title('컴닥') root.geometry('640x480') roo..
-
파이썬 + SQLite 사용 후 몇 가지 기록Python/이것저것 파이썬 2021. 11. 4. 10:09
당연한 이야기 몇 가지 기억을 위해 남깁니다. 0. commit 데이터를 조작하는 INSERT, REPLACE, DELETE 등의 명령은 커밋이 필요합니다. 오토 커밋도 가능 하지만... from sqlite3 import connect DB = 'test.sqlite3' def query_and_commit(sql): """ INSERT, REPLACE, DELETE ... """ with connect(DB) as conn: cur = conn.cursor() cur.execute(sql) conn.commit() # commit def query(sql): """ SELECT ... """ with connect(DB) as conn: cur = conn.cursor() yield from cur...
-
파이썬 random으로 로또 번호 생성기, 경품 추첨기 만들기Python/이것저것 파이썬 2021. 11. 1. 08:11
https://docs.python.org/ko/3/library/random.html random — 의사 난수 생성 — Python 3.10.0 문서 random — 의사 난수 생성 소스 코드: Lib/random.py 이 모듈은 다양한 분포에 대한 의사 난수 생성기를 구현합니다. 정수에 대해서는, 범위에서 균일한 선택이 있습니다. 시퀀스에 대해서는, 무작위 docs.python.org random.shuffle 시퀀스 x를 제자리에서 섞습니다. shuffle을 이용해 100명 중에 (순서가 있는) 3명을 뽑아봅시다. result는 추첨함이라고 생각합시다. 추첨함에 0~99 까지 번호표를 넣고, 4번 흔든(셔플한) 뒤, 3장의 번호표를 뽑는 과정입니다. 실 생활속의 추첨 과정과 거의 같도록 코딩해 보..
-
파이썬 bool()Python/이것저것 파이썬 2021. 10. 26. 15:32
파이썬에는 bool 내장 함수가 있다. 거의 쓸 일이 없긴 한데.. 가끔 리턴 문에 활용하면 깔끔하다... def has_intersection(a: set, b: set) -> bool: """ a, b 두 집합의 교집합에 원소가 하나라도 있으면 True, 없으면 False""" return bool(a.intersection(b)) print(has_intersection({1, 2}, {3, 4})) print(has_intersection({1, 2}, {2, 4})) print(has_intersection(set(), set())) print(has_intersection(set(), {1}))