1.partial
첫 번째는 함수의 선택적 매개변수를 다시 바인딩하고 호출 가능한 부분 객체를 생성할 수 있는 부분 함수입니다.
>>> int('10') # 实际上等同于int('10', base=10)和int('10', 10) 10 >>> int('10', 2) # 实际上是int('10', base=2)的缩写 2 >>> from functools import partial >>> int2 = partial(int, 2) # 这里我没写base,结果就出错了 >>> int2('10') Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: an integer is required >>> int2 = partial(int, base=2) # 把base参数绑定在int2这个函数里 >>> int2('10') # 现在缺省参数base被设为2了 2 >>> int2('10', 3) # 没加base,结果又出错了 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: keyword parameter 'base' was given by position and by name >>> int2('10', base=3) 3 >>> type(int2) <type 'functools.partial'>
여기서 볼 수 있듯이, 주의할 점은 선택적 매개변수에는 매개변수 이름을 반드시 써야 한다는 점입니다.
2.update_wrapper
다음에는 캡슐화된 함수의 __name__, __module__, __doc__ 및 __dict__를 캡슐화 함수에 복사할 수 있는 update_wrapper 함수가 있습니다.
#-*- coding: gbk -*- def thisIsliving(fun): def living(*args, **kw): return fun(*args, **kw) + '活着就是吃嘛。' return living @thisIsliving def whatIsLiving(): "什么是活着" return '对啊,怎样才算活着呢?' print whatIsLiving() print whatIsLiving.__doc__ print from functools import update_wrapper def thisIsliving(fun): def living(*args, **kw): return fun(*args, **kw) + '活着就是吃嘛。' return update_wrapper(living, fun) @thisIsliving def whatIsLiving(): "什么是活着" return '对啊,怎样才算活着呢?' print whatIsLiving() print whatIsLiving.__doc__
결과:
对啊,怎样才算活着呢?活着就是吃嘛。 None 对啊,怎样才算活着呢?活着就是吃嘛。 什么是活着
하지만 별로 쓸모는 없고 결국은 덜할 뿐 방금 4줄의 할당문을 작성했습니다.
3.wraps
그리고 update_wrapper도 캡슐화하는 Wraps 기능이 있습니다.
#-*- coding: gbk -*- from functools import wraps def thisIsliving(fun): @wraps(fun) def living(*args, **kw): return fun(*args, **kw) + '活着就是吃嘛。' return living @thisIsliving def whatIsLiving(): "什么是活着" return '对啊,怎样才算活着呢?' print whatIsLiving() print whatIsLiving.__doc__
The 결과는 여전히 동일합니다.
对啊,怎样才算活着呢?活着就是吃嘛。 什么是活着
4.total_ordering
마지막으로 total_ordering 함수는 풍부한 정렬 방법을 제공합니다. , 데코레이터를 사용하면 작업이 단순화됩니다. 사용하는 경우 __lt__(), __le__(), __gt__() 또는 __ge__()를 클래스에 정의해야 합니다. __eq__() 메서드를 클래스에 추가해야 합니다.
from functools import total_ordering @total_ordering class Student(object): def __init__(self, name): self.name = name def __eq__(self, other): return self.name.lower() == other.name.lower() def __lt__(self, other): return self.name.lower() < other.name.lower() a = Student('dan') b = Student('mink') print a > b print a print sorted([b, a])
결과 인쇄
False <__main__.Student object at 0x7f16ecb194d0> [<__main__.Student object at 0x7f16ecb194d0>, <__main__.Student object at 0x7f16ecb195d0>]
더 보기 Python에서 functools 모듈의 공통 기능 분석과 관련된 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

다음 단계를 통해 Numpy를 사용하여 다차원 배열을 만들 수 있습니다. 1) Numpy.array () 함수를 사용하여 NP.Array ([[1,2,3], [4,5,6]]과 같은 배열을 생성하여 2D 배열을 만듭니다. 2) np.zeros (), np.ones (), np.random.random () 및 기타 함수를 사용하여 특정 값으로 채워진 배열을 만듭니다. 3) 서브 어레이의 길이가 일관되고 오류를 피하기 위해 배열의 모양과 크기 특성을 이해하십시오. 4) NP.Reshape () 함수를 사용하여 배열의 모양을 변경하십시오. 5) 코드가 명확하고 효율적인지 확인하기 위해 메모리 사용에주의를 기울이십시오.

BroadcastingInnumpyIsamethodtoperformoperationsonArraysoffferentShapesByAutomicallyAligningThem.itsimplifiesCode, enourseadability, andboostsperformance.here'showitworks : 1) smalraysarepaddedwithonestomatchdimenseare

forpythondatastorage, chooselistsforflexibilitywithmixeddatatypes, array.arrayformemory-effic homogeneousnumericaldata, andnumpyarraysforadvancednumericalcomputing.listsareversatilebutlessefficipforlargenumericaldatasets.arrayoffersamiddlegro

pythonlistsarebetterthanarraysformanagingDiversEdatatypes.1) 1) listscanholdementsofdifferentTypes, 2) thearedynamic, weantEasyAdditionSandremovals, 3) wefferintufiveOperationsLikEslicing, but 4) butiendess-effectorlowerggatesets.

toaccesselementsInapyThonArray : my_array [2] AccessHetHirdElement, returning3.pythonuseszero 기반 인덱싱 .1) 사용 positiveAndnegativeIndexing : my_list [0] forthefirstelement, my_list [-1] forstelast.2) audeeliciforarange : my_list

기사는 구문 모호성으로 인해 파이썬에서 튜플 이해의 불가능성에 대해 논의합니다. 튜플을 효율적으로 생성하기 위해 튜플 ()을 사용하는 것과 같은 대안이 제안됩니다. (159 자)

이 기사는 파이썬의 모듈과 패키지, 차이점 및 사용법을 설명합니다. 모듈은 단일 파일이고 패키지는 __init__.py 파일이있는 디렉토리이며 관련 모듈을 계층 적으로 구성합니다.

기사는 Python의 Docstrings, 사용법 및 혜택에 대해 설명합니다. 주요 이슈 : 코드 문서 및 접근성에 대한 문서의 중요성.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
