> 백엔드 개발 > 파이썬 튜토리얼 > Python 고급 기능 사용에 대한 자세한 예

Python 고급 기능 사용에 대한 자세한 예

零到壹度
풀어 주다: 2018-05-15 14:20:23
원래의
2491명이 탐색했습니다.

이 기사에서는 Python 고급 기능 사용에 대한 자세한 설명을 예제와 함께 공유합니다. 내용이 꽤 좋아서 도움이 필요한 친구들에게 도움이 되기를 바랍니다.

함수 매개변수 문제

세 가지 기본 상황

  • fun(a,b)

  • fun(a,b) b는 반복 가능한 객체입니다

  • fun(a,**b) b는 검색 유형의 반복 객체로, 함수 본문 내에서 구문 분석할 때 사전과 동일합니다

ls = [i for i in range(10)]
#print(ls)
def fun1(a,*b):
    for i in b:
        print(a,i)
#fun1(1,*ls)

def fun2(name,age,**kw):
    print("name:",name,"age:",age,"other:",kw)

fun2('fanhaitao','26',参数= 'random')
로그인 후 복사
**kw参数把键值对转换成字典的形式
로그인 후 복사

익명 함수

lambda

  1. 반환 값이 없습니다. 반환 값은 표현식의 값입니다.

  2. 함수에는 이름이 없습니다. 이름 충돌에 대해 걱정하지 마세요

  3. 익명 함수도 함수 개체이므로 익명 함수를 사용할 수도 있습니다. 변수에 값을 할당하고 변수를 사용하여 함수를 호출합니다

fun3 = lambda x:x+1
print(fun3(99))

#100
fun4 = lambda x,y :x*x + y*y
print(fun4(3,4))
#25
로그인 후 복사

Decorator@

이 방법은 코드가 실행되는 동안 동적으로 기능을 추가하는 방법입니다. 실행을 "데코레이터"라고 합니다

매개변수가 없는 데코레이터

#定义一个装饰器
def log(func):
    def wrapper(*args,**kw):
        print('call %s()' % func.__name__)
        return func(*args,**kw)
    return wrapper
@log
def now():
    print('2018-3-29')
    
now()
로그인 후 복사

데코레이터의 내부 논리적 관계(호출 순서): log() -> return Wrapper() -> ; now()

포함된 매개변수 데코레이터

#定义一个装饰器
def log(text):
    def decorator(func):
        def wrapper(*args,**kw):
            print('%s %s():' % (text,func.__name__))
            return func(*args,**kw)
        return wrapper
    return decorator
@log("可爱的参数")
def now():
    print('2018-3-29')

now()
로그인 후 복사

BiF 내장 함수

zip: 두 개의 반복 가능한 객체를 하나의 반복 가능한 객체로 결합

참고: 일치하지 않는 중복 변수는 삭제됩니다

으아악

enumerate: 위치 + 요소로 구성된 반복 가능한 객체를 반환합니다.

a = [1,2,3]
b = 'abcde'
for i in zip(a,b):
    print(i)
for i,j in zip(a,b):
    print("Index:",i,";Item:",j)
로그인 후 복사

filter: 필터 함수

두 개의 매개변수, 첫 번째는 매개변수이고 두 번째는 반복 가능한 객체입니다. , return 값도 반복 가능한 객체입니다. 함수에서 매개변수의 반복 객체가 True이면 값이 유지되고, 그렇지 않으면 전달 매개변수의 함수는 각 반복 객체


에서 작동하고 반환됩니다. functools 라이브러리의

for i,j in enumerate('abcde'):
    print(i,j)
로그인 후 복사

    reduce
  • 은 2개의 매개변수를 받습니다.
  • red uce는 결과를 계속해서 다음 요소로 누적 계산을 수행합니다. of the 시퀀스

print(list(filter(lambda x:(x*x+x+2)%8 == 0,range(100))))
로그인 후 복사
#5050
  • 관련 권장 사항:

  • Python의 고급 기능

Python 기능 및 고급 구문 모음

파이썬의 고급 사용법 기능

위 내용은 Python 고급 기능 사용에 대한 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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