Python에서 일반적으로 사용되는 내장 함수와 사용법

PHPz
풀어 주다: 2023-04-24 08:13:06
앞으로
1934명이 탐색했습니다.

1.abs()

abs()는 숫자의 절대값을 반환하는 데 사용됩니다.

파이썬에서는 내장된 숫자 유형(int, float 또는 complex)의 경우 abs() 함수를 직접 사용하여 절대값을 찾을 수 있습니다. 그러나 숫자 유형의 사용자 정의 유형의 경우, 절대값을 찾기 위해 abs() 함수를 사용하려면 __abs__() 메소드를 구현해야 합니다.

abs() 메서드의 구현도 매우 간단합니다. 클래스에 __abs__()라는 메서드를 정의하고 숫자의 절대값을 반환하기만 하면 됩니다. 예:

class MyNumber:
    def __init__(self, num):
        self.num = num
    
    def __abs__(self):
        return abs(self.num)

n = MyNumber(-3)
print(abs(n))    # 输出结果为:3
로그인 후 복사

위 코드에서는 num 속성을 ​​포함하고 __abs__()< /code> 메서드를 구현하는 <code>MyNumber라는 클래스를 정의합니다. . __abs__() 메서드에서는 abs() 함수를 호출하여 숫자의 절대값을 찾습니다. MyNumber的类,其中包含一个num属性,并实现了__abs__()方法。在__abs__()方法中,我们调用了abs()函数来求该数的绝对值。

最后,我们实例化了一个MyNumber对象,传入了一个负数作为参数。然后,我们调用了abs()函数来计算MyNumber对象的绝对值,得到了3这个结果。

二、aiter()函数

aiter()asyncio 库中的一个函数,用于生成异步迭代器对象。Python3.10 新版本功能。

异步迭代器对象是一种可以异步遍历的迭代器对象。通过异步迭代器,我们可以逐个异步获取迭代器中的元素。

aiter() 接受一个可迭代对象作为参数,并返回一个异步迭代器对象。异步迭代器对象是 AsyncIterator 类的实例。

以下是 aiter() 函数的基本语法:

asyncio.aiter(iterable, /)
로그인 후 복사

其中,iterable 是一个可迭代对象,它可以是任何支持异步迭代的对象,如异步生成器、异步列表等。

使用异步迭代器时,我们需要使用 async for 语句进行异步迭代,如下所示:

async def my_func():
    async for i in my_async_iterable:
        print(i)
로그인 후 복사

在上面的示例中,my_async_iterable 可以是通过 aiter() 函数生成的异步迭代器对象,也可以是其它支持异步迭代的对象。

需要注意的是,在异步迭代器遍历完之后,我们需要显式关闭该异步迭代器对象,以释放相应的资源,如下所示:

async def my_func():
    async with aiter(my_async_iterable) as iter_obj:
        async for i in iter_obj:
            print(i)
로그인 후 복사

通过 async with

마지막으로 MyNumber 개체를 인스턴스화하고 음수를 매개변수로 전달했습니다. 그런 다음 abs() 함수를 호출하여 MyNumber 개체의 절대값을 계산하고 결과 3을 얻었습니다.

2. aiter() 함수

aiter()는 비동기 반복기 개체를 생성하는 데 사용되는 asyncio 라이브러리의 함수입니다.

Python3.10 새 버전 기능.

비동기 반복자 개체는 비동기적으로 탐색할 수 있는 반복자 개체입니다. 비동기 반복자를 통해 반복자의 요소를 하나씩 비동기적으로 얻을 수 있습니다.

aiter()는 반복 가능한 객체를 매개변수로 받아들이고 비동기 반복기 객체를 반환합니다. 비동기 반복기 개체는 AsyncIterator 클래스의 인스턴스입니다.

다음은 aiter() 함수의 기본 구문입니다.

all(iterable)
로그인 후 복사

그 중 iterable은 반복 가능한 객체로 비동기 반복을 지원하는 모든 객체가 될 수 있습니다. , 비동기 생성기, 비동기 목록 등과 같은

비동기 반복자를 사용하는 경우 아래와 같이 비동기 반복을 위해 async for 문을 사용해야 합니다.
    >>> all([True, True, False, True])
    False
    
    >>> all([1, 2, 3, 4])
    True
    
    >>> all((&#39;a&#39;, &#39;b&#39;, &#39;c&#39;))
    True
    
    >>> all([&#39;&#39;, [], {}])
    False
    로그인 후 복사
  • 위 예에서는 my_async_iterable을 전달할 수 있습니다. < code>aiter() 함수에 의해 생성된 비동기 반복자 객체는 비동기 반복을 지원하는 다른 객체일 수도 있습니다.

    비동기 반복자가 순회된 후에는 아래와 같이 비동기 반복자 객체를 명시적으로 닫아 해당 리소스를 해제해야 한다는 점에 유의해야 합니다.
  •         value = await asyncio.anext(ag)
            print(value)
    except StopAsyncIteration:
        pass
    로그인 후 복사
  • async with 문을 통해 비동기 반복자를 자동으로 닫는 비동기 컨텍스트 관리자입니다. 이 방법은 비교적 간단하며 권장됩니다.

    3. all() 함수
는 반복 가능한 객체의 모든 요소가 True인지 확인하는 데 사용됩니다.

구문 형식은 다음과 같습니다.

any(iterable)
로그인 후 복사
로그인 후 복사
그 중 iterable은 목록, 튜플, 집합, 문자열 등과 같은 반복 가능한 객체입니다.

반환 결과는 부울 값입니다. iterable의 모든 요소가 True이면 True를 반환하고, 그렇지 않으면 False를 반환합니다. iterable이 비어 있으면 True를 반환합니다.

예:

lst = [2, 4, 6, 8, 9, 10]
result = any(x % 2 == 1 for x in lst)
print(result)
로그인 후 복사
로그인 후 복사
위 예에서는 첫 번째 목록의 한 요소가 False이므로 False가 반환됩니다. 두 번째 목록의 모든 요소는 0이 아닌 값이므로 True가 반환됩니다. 튜플과 리스트는 모두 반복 가능한 객체로 all() 함수에 전달될 수 있습니다. 마지막 목록에는 빈 시퀀스나 사전이 포함되어 있으므로 False가 반환됩니다. 빈 목록, 튜플, 집합, 문자열 등은 모두 True를 반환합니다.

참고:

주어진 반복 가능 객체에 False, 0, '', None 등과 같은 거짓 값인 요소가 있는 경우 all() 함수도 False를 반환합니다.

any() 함수를 사용하면 반복 가능한 객체에 True인 요소가 하나 이상 있는지 확인할 수 있습니다.

4.anext()

anext()는 비동기 반복자에서 다음 값을 가져오는 데 사용되는 asyncio 모듈의 함수입니다. 비동기 반복자가 종료되면 anext()는 StopAsyncIteration 예외를 발생시킵니다.

Python3.10 새 버전 기능.

asyncio에서 비동기 반복자(async iterator)는 __aiter__() 및 __anext__() 메서드를 구현하는 객체로 정의됩니다. 🎜aiter🎜() 메서드는 반복자 개체 자체를 반환하고, 🎜anext🎜() 메서드는 다음 값을 반환합니다. 더 이상 사용할 수 있는 값이 없으면 StopAsyncIteration 예외가 발생합니다. 🎜🎜다음은 anext() 함수 사용의 예입니다: 🎜🎜🎜import asyncio🎜async def async_generator(): Yield 1 Yield 2 Yield 3🎜async def main(): ag = async_generator() try: while True: 🎜🎜
s = "Hello, World!"
result = any(c.isupper() for c in s)
print(result)
로그인 후 복사
로그인 후 복사
🎜asyncio.run(main())🎜🎜위 코드는 1, 2, 3을 하나씩 반환하는 비동기 생성기 async_generator()를 생성합니다. main() 함수에서는 StopAsyncIteration 예외가 발생할 때까지 anext() 함수를 사용하여 비동기 생성기에서 다음 값을 가져옵니다. 이 예제에서는 asyncio.run() 함수를 사용하여 Python 3.7 이상을 사용하는 main() 코루틴을 실행합니다. 🎜🎜5. any() 함수🎜🎜는 반복 가능한 객체에 조건을 충족하는 요소가 하나 이상 있는지 확인하는 데 사용됩니다. 이 함수는 부울 값을 반환하며, 조건을 충족하는 요소가 있으면 True, 그렇지 않으면 False를 반환합니다. 🎜🎜다음은 any() 함수의 구문 형식입니다. 🎜
any(iterable)
로그인 후 복사
로그인 후 복사

其中iterable是一个可迭代对象,例如列表、元组、集合或字典的键等等。

any()函数的工作原理如下:

  • 遍历可迭代对象中的所有元素。

  • 对于每个元素,将其作为参数传递给判断函数,判断函数返回True或False。

  • 如果存在任意一个元素使得判断函数返回True,则返回True,并停止遍历,否则返回False。

下面是一个示例,演示如何使用any()函数来判断一个列表中是否存在奇数:

lst = [2, 4, 6, 8, 9, 10]
result = any(x % 2 == 1 for x in lst)
print(result)
로그인 후 복사
로그인 후 복사

输出:

True

在上面的示例中,我们使用生成器表达式来表达“是否存在奇数”这个条件。这个表达式对于lst中的每个元素x都执行一次,如果x % 2 == 1返回True,则any()函数会立即返回True。因为9是lst中的一个奇数,所以any()函数返回True。

除了列表,any()函数也适用于其他可迭代对象。例如,我们可以使用any()函数来检查一个字符串中是否存在大写字母:

s = "Hello, World!"
result = any(c.isupper() for c in s)
print(result)
로그인 후 복사
로그인 후 복사

输出:

True

在上面的示例中,我们使用字符串的isupper()方法来判断每个字符是否为大写字母,如果存在任意一个字符是大写字母,则any()函数返回True。因为"H"是一个大写字母,所以any()函数返回True。

在使用any()函数时,需要注意以下几点:

  • 如果iterable为空,any()函数将返回False。

  • 如果iterable中的所有元素都为假值(例如0、空字符串或空列表),则any()函数将返回False。

六、ascii()函数

用于将给定字符串或对象的表示转换为ASCII码。如果给定对象不是字符串,则会先将其转换为ASCII码表示。如果给定字符串中包含了非ASCII字符,则会使用Python的转义序列来表示这些字符。

以下是ascii()函数的语法:

ascii(object)
로그인 후 복사

其中,object是要转换为ASCII码表示的字符串或对象。

以下是ascii()函数的示例:

s = &#39;hello, 你好!&#39;
print(ascii(s)) 
# 输出: &#39;hello, \u4f60\u597d\uff01&#39;

n = 1234
print(ascii(n)) 
# 输出: &#39;1234&#39;

lst = [1, 2, &#39;hello&#39;, &#39;你好&#39;]
print(ascii(lst)) 
# 输出: &#39;[1, 2, \&#39;hello\&#39;, \&#39;\\u4f60\\u597d\&#39;]&#39;
로그인 후 복사

在以上示例中,第一个示例中的字符串包含了一个非ASCII字符,因此在转换为ASCII码表示时使用了Python的转义序列;第二个示例中的对象是一个整数,因此可以直接转换为ASCII码表示;第三个示例中的对象是一个列表,其中包含了一个非ASCII字符串,因此在转换为ASCII码表示时使用了Python的转义序列。

注意事项

  • ascii()函数只能处理字符串类型的输入,对其他类型的对象(如数字、列表、元组、字典等)会引发TypeError异常。

  • ascii()函数只能处理ASCII字符以外的非ASCII字符,对于ASCII字符,它不做任何处理。(ASCII字符是指Unicode编码为0~127的字符,包括所有的英文字母、数字、标点符号和控制字符。)

  • ascii()函数返回的ASCII码表示是一个字符串,如果需要使用对应的Unicode码,可以使用Python内置的ord()函数。

위 내용은 Python에서 일반적으로 사용되는 내장 함수와 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿