Kraken api - get token with python

Kraken api - get token with python an example of how you can generate a WebSocket authentication token using Python for Kraken's API: ```python import time import base64 import hashlib import hmac import urllib.request import json # Replace with your Kraken API public and private keys api_key = 'YOUR_API_PUBLIC_KEY' api_secret = 'YOUR_API_PRIVATE_KEY' # API endpoint and parameters api_path = '/0/private/GetWebSocketsToken' api_nonce = str(int(time.time() * 1000)) api_post = 'nonce=' + api_nonce # Create the SHA256 hash api_sha256 = hashlib.sha256(api_nonce.encode('utf-8') + api_post.encode('utf-8')).digest() # Create the HMAC signature api_hmac = hmac.new(base64.b64decode(api_secret), api_path.encode('utf-8') + api_sha256, hashlib.sha512) api_signature = base64.b64encode(api_hmac.digest()) # Create the request api_request = urllib.request.Request('https://api.kraken.com' + api_path, api_post.encode('utf-8')) ap

Python 리스트형 - Lamda 함수를 이용한 리스트 활용

 



Python 리스트형 - Lamda 함수를 이용한 리스트 활용

 

 

람다 함수 (lambda function)  ?

람다(lambda) 함수는 일반적인 함수 선언과는 달리 이름이 없고 한 줄로 표현됩니다. 주로 간단한 연산이나 함수를 인자로 받아 처리할 때 사용됩니다. 람다 함수는 익명 함수로 함축적인 문장으로 간단한 연산이나 변환에 적합합니다. 

람다 함수를 사용하면 간단한 반복과 데이터 처리를 쉽게 할수 있습니다. 그러나 람다 함수는 기능이 함축적이기 때문에 이해하거나 사용하기 복잡하고 까다롭습니다. 리스트 처리를 위해서 간단한 방안을 찾아 람다 함수를 정리해 봅니다.

 

람다 함수의 사용법

# 람다함수의 선언

lambda arguments: expression

# arguments는 함수의 입력 매개변수이고
# expression은 해당 매개변수를 이용한 연산입니다.



square = lambda x: x**2
print(square(5))
# 출력: 25

# * 람다 함수는 lambda 키워드로 시작하고, 매개변수 x를 받아 x**2를 반환하는 함수를 정의

 

람다 함수는 주로 map(), filter(), sorted()와 같은 함수와 함께 사용됩니다. 예를 들어, 리스트의 각 요소를 제곱하는 경우

 

1. map() 함수와 람다 함수:

map() 함수는 list 형 변수와 같이 순회 가능한(iterable) 객체의 모든 요소에 적용하여 새로운 iterable을 반환합니다. 

# map을 이용한 lamda

numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))

print(squared_numbers)
# 출력: [1, 4, 9, 16, 25]

 

2. filter() 함수와 람다 함수:


filter() 함수는 주어진 함수로 걸러진 요소들로 이루어진 iterable을 반환합니다. 람다 함수를 filter() 함수와 함께 사용하여 특정 조건을 만족하는 요소만 남길 수 있습니다.

# filter를 이용한 lamda

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))

print(even_numbers)
# 출력: [2, 4, 6, 8, 10]

 

3. sorted() 함수와 람다 함수:


sorted() 함수는 iterable의 요소를 정렬한 리스트를 반환합니다. 람다 함수를 sorted() 함수와 함께 사용하여 정렬 기준을 지정할 수 있습니다.

# sorted를 이용한 람다

words = ['apple', 'banana', 'orange', 'kiwi']
sorted_words = sorted(words, key=lambda x: len(x))

print(sorted_words)
# 출력: ['kiwi', 'apple', 'banana', 'orange']

 


람다함수를 이용한 리스트 활용

 

람다 함수를 이용하면 데이터를 쉽고 간단하게 처리가 가능하다 그러나 람다함수는 복잡할 수록 가독성이 떨어지므로 복잡한 식보다는 간단하게 사용하는 것이 현명하다. (다른 사람이 유지보수 하려면 복잡하게 구성하기 보다 간단하게 만들어야 하고, 간단한 것보다는 설명이 쉽게 가능하도록 하면  나중에 유지보수가 쉬워진다는 관점을 반드시 숙고하여야 한다는것이다.)

 

1. 리스트 내에서 람다 함수 사용하기:

# python lamda 를 이용한 리스트 만들기


landa_list = list(map(lambda x: f"a{x}", range(1, 6)))
print(landa_list)
# 출력 : ['a1', 'a2', 'a3', 'a4', 'a5']


squared_numbers = list(map(lambda x: x**2, range(1, 6)))
print(squared_numbers)
# 출력 : [1, 4, 9, 16, 25]
lambda x: f"a{x}", range(1, 6) :  f-string을 이용하여 'a' + '1'  ~ 'a' + 6 까지 반복하여 문자를 만든다
map ( 'a1', ~~ 'a6' ) 으로 리스트 자료를 만든다

 

2. 조건에 따라 필터링하기:

numbers = [1, 2, 3, 4, 5]

even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)
# 출력: [2, 4]

 

3. 람다 함수를 이용한 정렬

words = ['apple', 'banana', 'orange', 'kiwi']

sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)
# 출력: ['kiwi', 'apple', 'banana', 'orange']

 

4. 다수의 인자 사용하기:

combine_lists = lambda a, b: a + b

result = combine_lists([1, 2, 3], [4, 5, 6])

print(result)
# 출력: [1, 2, 3, 4, 5, 6]

 

5. 람다 함수를 변수에 할당하기:

multiply = lambda x, y: x * y
result = multiply(3, 4)

print(result)
# 출력: 12

 

댓글

댓글 쓰기

이 블로그의 인기 게시물

SSL/TLS 인증서 오류를 해결- 리눅스명령모음 - SSL certificate problem

(truffle 환경 설정) 스마트 계약 배포 와 truffle deploy 오류 해결 - Error: Could not find artifacts for SimpleStorage from any sources

자기주권 신원 (SSI Self-Sovereign Identity) 인증의 발전 그리고 정보 민주화 (Information Democratization)