๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

python10

[Python] BLE ํ†ต์‹  ํ•˜๊ธฐ with bleak (MacOS) - 2) ๋ฐ์ดํ„ฐ ๋ฐ›๊ธฐ 2023.05.24 - [๐Ÿ | Python/ํŒŒ์ด์ฌ ์ดˆ๊ฐ„๋‹จ ํ”„๋กœ์ ํŠธ] - [Python] BLE ํ†ต์‹  ํ•˜๊ธฐ with bleak (MacOS) - 1) ํƒ์ƒ‰, ์—ฐ๊ฒฐ ์ง€๋‚œ ํฌ์ŠคํŠธ์—์„œ๋Š” bleak ๋ชจ๋“ˆ์„ ์ด์šฉํ•ด ์ฃผ๋ณ€ ๊ธฐ๊ธฐ๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์„ ํ•ด๋ณด์•˜๋‹ค. ์ด๋ฒˆ์—๋Š” ํ˜„์žฌ Kit์˜ ์„œ๋น„์Šค ์ •๋ณด๋ฅผ ์•Œ์•„๋ณด๊ณ  ๊ทธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ kit๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„๋ณด์ž! 1. ์—ฐ๊ฒฐํ•œ ์žฅ์น˜์˜ ์„œ๋น„์Šค 1) ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค ํ™•์ธ import asyncio from bleak import BleakClient, BleakScanner async def main (): devices = await BleakScanner.discover() for idx, device in enumerate(devices): print(f'{idx}\t\t',.. 2023. 5. 24.
[Python] BLE ํ†ต์‹  ํ•˜๊ธฐ with bleak (MacOS) - 1) ํƒ์ƒ‰, ์—ฐ๊ฒฐ ํŒŒ์ด์ฌ์˜ ๋ชจ๋“ˆ ์ค‘ bleak์„ ์ด์šฉํ•˜์—ฌ Mac์—์„œ BLE ํ†ต์‹ ์„ ํ•ด๋ณด์ž! 1. BLE๋ž€ ๋ฌด์—‡์ธ๊ฐ€ BLE๋Š” Bluetooth Low Energy์˜ ์•ฝ์ž๋กœ ๋ธ”๋ฃจํˆฌ์Šค์™€ ๊ฐ™์ง€๋งŒ ๋” ๋น ๋ฅด๊ณ  ๊ฐ€๋ณ๊ฒŒ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋•Œ๋ฌธ์— ์Šค๋งˆํŠธ ์›Œ์น˜, ํƒœ๊ทธ, ์ž‘์€ ์žฅ์น˜๋“ค์— ์ฃผ๋กœ ์ด์šฉํ•œ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด์„œ ์‹ฌ์ „๋„, ๋ฉ”์‹œ์ง€ ํ†ต์‹  ๋“ฑ ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค. 2. bleak ๋ชจ๋“ˆ ์ด์šฉํ•˜๊ธฐ bleak๋Š” ํŒŒ์ด์ฌ์—์„œ ๋ธ”๋ฃจํˆฌ์Šค LE๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋“ˆ์ด๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅด ํ†ตํ•ด์„œ MacOS, Windows, Linux ๋“ฑ์—์„œ๋„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์žฅ์น˜์— ์—ฐ๊ฒฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜์—์„œ๋Š” bleak์„ ์ด์šฉํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋“ค์ด๋‹ค. --- ์‹ค์Šตํ™˜๊ฒฝ python 3.9.6 bleak 0.20.2 ์ˆ˜ํ–‰ ๋‹จ๊ณ„ ์š”์•ฝ 1. Bluetooth ์žฅ๋น„ O.. 2023. 5. 24.
[Python] heapq ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ด์ฌ์˜ heapq ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž! 1. ์†Œ๊ฐœ heap ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‚ด์žฅ ๋ชจ๋“ˆ์ด๊ณ  ์ตœ์†Œ ํž™์„ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ๊ฐ€ ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ๋œ๋‹ค. 2. ์ฃผ์š” ํ•จ์ˆ˜๋“ค heapify(๋ฆฌ์ŠคํŠธ) : ๋ฆฌ์ŠคํŠธ๋ฅผ ํž™์œผ๋กœ ๋ณ€ํ™˜ heappush(ํž™, ์›์†Œ) : ์ƒˆ๋กœ์šด ์›์†Œ ์ถ”๊ฐ€ heappop(ํž™) : ํž™์—์„œ ๋ฃจํŠธ ๋…ธ๋“œ ์ œ๊ฑฐ ๋ฐ ๋ฐ˜ํ™˜ heapreplace(ํž™, ์›์†Œ) : ํž™์—์„œ ๋ฃจํŠธ ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ƒˆ๋กœ์šด ์›์†Œ ์ถ”๊ฐ€ ( pop&push ํ•œ ๋ฒˆ์—! ) nlargeset(n, iterable, key=None) : iterable ๊ฐ์ฒด์—์„œ n๊ฐœ์˜ ๊ฐ€์žฅ ํฐ ์›์†Œ ๋ฐ˜ํ™˜(๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ) nsamllest(n, iterable, key=None) : iterable ๊ฐ์ฒด์—์„œ n๊ฐœ์˜ ๊ฐ€์žฅ ์ž‘์€ ์›์†Œ ๋ฐ˜.. 2023. 4. 11.
[Python] collections ๋ชจ๋“ˆ Python์˜ ๋ชจ๋“ˆ ์ค‘ collections์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ List, Tuple, Dict๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ์ฒด ์ข…๋ฅ˜ deque, Counter, OrderedDcit, defaultdict, namedtuple deque - stack๊ณผ queue๋ฅผ ์ง€์› - List์— ๋น„ํ•ด์„œ ํšจ์œจ์ ์ธ(๋น ๋ฅธ) ์ž๋ฃŒ ์ €์žฅ ๋ฐฉ์‹ ์ง€์›! from collections import deque appendleft() : ๋ฆฌ์ŠคํŠธ์˜ ์•ž์— ์š”์†Œ ์ถ”๊ฐ€ deque_list = deque() # ๊ฐ์ฒด ์„ ์–ธ for i in range(5): deque_list.append(i)# [0,1,2,3,4] deque_list.appendleft(10)# ์•ž์— ์ถ”๊ฐ€ deque_list >>> deque([10, 0,.. 2023. 1. 5.
[Python] ํŒŒ์ด์ฌ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๊ฐœ๋… ์ •๋ฆฌ ๋ฐฉํ•™๋™์•ˆ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‘๊ณ ๋‘๊ณ  ๋ณผ ๊ฒธ ํŒŒ์ด์ฌ์— ๊ด€๋ จ๋œ ๊ฐ„๋‹จํ•œ ๊ฐœ๋…๋“ค์„ ํ•œ ํŽ˜์ด์ง€์— ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค! ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ ์ž…๋ ฅ - input() : ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฌธ์ž์—ด ํ•œ ์ค„์„ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. - map() : ๋ชจ๋“  ์›์†Œ์— ์ „๋‹ฌํ•œ ํ•จ์ˆ˜ ํ•˜๋‚˜์”ฉ ์ ์šฉํ•œ ๊ฐ์ฒด ๋ฐ˜ํ™˜ # ํŠœํ”Œ์˜ ํ˜•ํƒœ์˜ ๊ฐ์ฒด์ด๋ฏ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์–ธํŒจํ‚น ๊ฐ€๋Šฅ a, b, c = map(int, input().split()) # list๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅ data = list(map(int, input().split())) ์ž…๋ ฅ๋Ÿ‰์œผ๋กœ ์ธํ•œ ์ˆ˜ํ–‰์‹œ๊ฐ„ ์ดˆ๊ณผ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์‹œ ์‹œ์Šคํ…œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ •์˜๋œ readline() ์ด์šฉ import sys str = sys.stdin.readline().rstrip() # rstrip()์œผ๋กœ ์ค„๋ฐ”๊ฟˆ ์‚ญ์ œ print(str) ์ถœ.. 2023. 1. 4.
Python_๋‘ ๊ฐœ์˜ ๋”•์…”๋„ˆ๋ฆฌ ํ•ฉ์น˜๊ธฐ! ํŒŒ์ด์ฌ์˜ dictionary๋ฅผ ๋‹ค๋ฃจ๋Š” ๋„์ค‘ 2๊ฐœ์˜ dictionary๋ฅผ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•ด๋ณด์•˜๋‹ค! 1. key๊ฐ’์ด ๊ฒน์น˜์ง€ ์•Š์„ ๋•Œ dict_1 = {'A':1, 'B':2, 'C':3} dict_2 = {'D':1, 'E':2, 'F':3} - update() result = dict_1 result.update(dict_2) >>> {'A': 1, 'B': 2, 'C': 3, 'D': 1, 'E': 2, 'F': 3} dictnary์˜ ๋ฉ”์†Œ๋“œ ์ค‘ ํ•˜๋‚˜์ธ update๋ฅผ ์ด์šฉํ•˜๋ฉด ์œ„์™€ ๊ฐ™์ด ๋‘ ๊ฐœ๋ฅผ ํ•ฉ์น  ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ, key๊ฐ’์ด ๋ชจ๋‘ ๊ฒน์น˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค๋Š” ์ „์ œ์กฐ๊ฑด์ด ์žˆ๋‹ค. ๋งŒ์•ฝ ๊ฒน์นœ๋‹ค๋ฉด, ์ค‘๋ณต๋œ ๊ธฐ์กด key๊ฐ’์€ update์˜ ์ธ์ˆ˜๋กœ ๋„ฃ์–ด์ค€ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋œ๋‹ค. 2. key๊ฐ’์ด ๊ฒน์น  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๋”•.. 2022. 1. 19.
Python_์—ฌ์ˆ˜๋ฐค๋ฐ”๋‹ค '์•„' ํšŸ์ˆ˜๋ฅผ ์„ธ์–ด๋ณด์ž 'ํ์•„ใ…ใ…'๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๋งˆ๋‹ค ํ•œ ์ž”์„ ํ•˜๋Š” '์žฅ๋ฒ”์ค€ ๊ฒŒ์ž„'๋„ ์žˆ๋Š” ๋งŒํผ ์—ฌ์ˆ˜๋ฐค๋ฐ”๋‹ค ๋…ธ๋ž˜์˜ '์•„' ํšŸ์ˆ˜๋ฅผ ์„ธ์–ด๋ณด์•˜๋‹ค. ์—ฌ์ˆ˜ ๋ฐค๋ฐ”๋‹ค ์ด ์กฐ๋ช…์— ๋‹ด๊ธด ์•„๋ฆ„๋‹ค์šด ์–˜๊ธฐ๊ฐ€ ์žˆ์–ด ๋„ค๊ฒŒ ๋“ค๋ ค์ฃผ๊ณ ํŒŒ ์ „ํ™œ ๊ฑธ์–ด ๋ญํ•˜๊ณ  ์žˆ๋ƒ๊ณ  ๋‚˜๋Š” ์ง€๊ธˆ ์—ฌ์ˆ˜ ๋ฐค๋ฐ”๋‹ค ์—ฌ์ˆ˜ ๋ฐค๋ฐ”๋‹ค ์•„ ์•„ ์•„ ์•„ ์•„ ์–ด ์–ด ๋„ˆ์™€ ํ•จ๊ป˜ ๊ฑท๊ณ  ์‹ถ๋‹ค ์ด ๋ฐ”๋‹ค๋ฅผ ๋„ˆ์™€ ํ•จ๊ป˜ ๊ฑท๊ณ  ์‹ถ์–ด ์ด ๊ฑฐ๋ฆฌ๋ฅผ ๋„ˆ์™€ ํ•จ๊ป˜ ๊ฑท๊ณ  ์‹ถ๋‹ค ์ด ๋ฐ”๋‹ค๋ฅผ ๋„ˆ์™€ ํ•จ๊ป˜ ๊ฑท๊ณ  ์‹ถ์–ด ์—ฌ์ˆ˜ ๋ฐค๋ฐ”๋‹ค ์—ฌ์ˆ˜ ๋ฐค๋ฐ”๋‹ค ์ด ๋ฐ”๋žŒ์— ๊ฑธ๋ฆฐ ์•Œ ์ˆ˜ ์—†๋Š” ํ–ฅ๊ธฐ๊ฐ€ ์žˆ์–ด ๋„ค๊ฒŒ ์ „ํ•ด์ฃผ๊ณ ํŒŒ ์ „ํ™œ ๊ฑธ์–ด ๋ญํ•˜๊ณ  ์žˆ๋ƒ๊ณ  ๋‚˜๋Š” ์ง€๊ธˆ ์—ฌ์ˆ˜ ๋ฐค๋ฐ”๋‹ค ์—ฌ์ˆ˜ ๋ฐค๋ฐ”๋‹ค ์•„ ์•„ ์•„ ์•„ ์•„ ์–ด ์–ด ๋„ˆ์™€ ํ•จ๊ป˜ ๊ฑท๊ณ  ์‹ถ๋‹ค ์ด ๋ฐ”๋‹ค๋ฅผ ๋„ˆ์™€ ํ•จ๊ป˜ ๊ฑท๊ณ  ์‹ถ์–ด ์ด ๊ฑฐ๋ฆฌ๋ฅผ ๋„ˆ์™€ ํ•จ๊ป˜ ๊ฑท๊ณ  ์‹ถ๋‹ค ์ด ๋ฐ”๋‹ค๋ฅผ ๋„ˆ์™€ ํ•จ๊ป˜ ๋„ˆ์™€ ํ•จ๊ป˜ ์˜ค ๋ฐ”๋‹ค ์ด ์กฐ๋ช…์— ๋‹ด๊ธด ์•„๋ฆ„๋‹ค์šด ์–˜๊ธฐ๊ฐ€ .. 2022. 1. 17.
Python_๋ฌธ์ž์—ด ๋’ค์ง‘๊ธฐ Python์œผ๋กœ ์ด๊ฒƒ์ €๊ฒƒ ๊ฐ€์ง€๊ณ  ๋†€๋‹ค๊ฐ€ ๋ฌธ์ž์—ด์„ ๋’ค์ง‘๋Š” ๋ฐฉ๋ฒ•์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์žˆ์–ด์„œ ํ•œ ๋ฒˆ ๊ธฐ๋กํ•ด๋ณด์•˜๋‹ค! 1. ์Šฌ๋ผ์ด์‹ฑ ์ด์šฉํ•˜๊ธฐ [::step] a = "dissaK si eman olleH" result = a[::-1] # Hello my name is Kassid ํŒŒ์ด์ฌ์˜ ์Šฌ๋ผ์ด์‹ฑ์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ํด๋ก (:)์„ ์‚ฌ์šฉํ•˜๋ฉด ์Šฌ๋ผ์ด์‹ฑ์„ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ a=[1,2,3,4,5,6,7,8,9] a[1:6] #[2,3,4,5,6] ์œ„์˜ ์˜ˆ์‹œ๊ฐ€ ๊ธฐ์กด์— ์•Œ๊ณ ์žˆ์—ˆ๋˜ ์Šฌ๋ผ์ด์‹ฑ์ด๋‹ค. ์ด ์ƒํƒœ์—์„œ ํ•œ ๊ฐ€์ง€๋ฅผ ๋” ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค! [์‹œ์ž‘:๋:๊ฐ„๊ฒฉ] a = [1,2,3,4,5,6,7,8,9] a[1:6:2] #[2,4,6] a[1:6:3] #[2,5] a[6:1:-1] #[7,6,5,4,3] 0๊ณผ ๊ฐ€์žฅ ๋ ์ธ๋ฑ์Šค๋ฅผ ์ƒ๋žตํ•˜๋Š” ๊ฒƒ.. 2022. 1. 17.
numpy_(2)_๋ฐฐ์—ด ์ด๋ฒˆ์—๋Š” numpy์˜ ๋ฐฐ์—ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž! 1_ ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… (dtype) ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ์™€ ๋‹ฌ๋ฆฌ numpy๋Š” ๊ฐ™์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋งŒ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋‹ค! ์ข…๋ฅ˜ : int, float, str, bool arr = np.array([0,1,2,3,4]) print(arr) print(arr.dtype) print(arr.astype(float)) ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก [0 1 2 3 4] int32 [0. 1. 2. 3. 4.] dtype์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ฐ˜ํ™˜ ํ•˜๋Š”๋ฐ int ์ฆ‰ ์ •์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. astype()์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ์„ ํ•œ๋‹ค. arr = np.array([1,2,3,4], dtype=float) print(arr) ใ…กใ…กใ…กใ…กใ…กใ…กใ…กใ…ก [.. 2021. 11. 17.