루프... 우리가 가고 있는 곳에는 루프가 필요하지 않습니다
루프에 반대하는 것은 없지만 루프에서 주요 문제 중 하나는 여러 조건문
if
이 있거나 루프에서 발생하는 다양한 논리 비트가 있을 때 반복하기가 특히 어려울 수 있다는 것입니다.Python에서
map()
를 다루고 싶었습니다. for
루프가 필요할 때 코드의 양을 줄이는 것이 제가 가장 좋아하는 것 중 하나입니다.map()
는 다음과 같이 정의됩니다.map(function, iterable[, iterable1, iterable2,..., iterableN])
map()
함수를 사용하면 여기에서 두 가지 일이 진행되고 있음을 알 수 있습니다. 함수와 전달하는 객체가 있습니다. 전달하는 객체는 list
, tuple
등이 될 수도 있습니다.내 예에서는 인프라를 코드 모듈로 사용하기 위해 전달되는 변수 파일에서 오는 범위 목록을 가져옵니다. API 게이트웨이에 적용할 특정 방식으로 범위를 포맷해야 합니다.
아래 예에는 API에 적용해야 하는 범위 집합을 형식화, 구문 분석 및 구조화하는 데 사용한 아주 간단한 양의 코드가 있습니다.
API_SCOPES = "read:stuff, write:stuff, delete:stuff"
누군가 문자열에 공백, 즉 공백을 추가했을 수 있는 추가 보호 기능을 추가하기 위한 것입니다. 추가 공백을 제거하기 위해 추가 문을 추가한 다음 쉼표로 분할합니다.
['read:stuff', 'write:stuff', 'delete:stuff']
결과는 원래 쉼표로 구분된 문자열의 모든 범위를 포함하는
list
입니다.API_SCOPES = "read:stuff, write:stuff, delete:stuff"
DOMAIN_NAME = "api.example.com"
def api_authorization_scopes(name: str) -> str:
"""
Takes a string of scopes and returns a list of properly formatted scopes.
Args:
name (str): The scope string
Returns:
Optional[str]: Formatted scope string
"""
return f"https://{DOMAIN_NAME}/{name}"
parsed_scopes = API_SCOPES.replace(' ', '').split(",")
allowed_oauth_scopes = map(api_authorization_scopes, parsed_scopes)
그러면 목록으로 출력할 수 있는
map
객체가 생성되며 다음과 같이 표시됩니다.['https://api.example.com/read:stuff', 'https://api.example.com/write:stuff', 'https://api.example.com/delete:stuff']
Reference
이 문제에 관하여(루프... 우리가 가고 있는 곳에는 루프가 필요하지 않습니다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/stephenbawks/loops-where-we-are-going-we-dont-need-loops-10od텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)