Python デコレータとは何ですか?
インターネット上の定義:
デコレータは、関数をラップし、元の関数を変更し、それを元の識別子に再割り当てし、元の関数への参照を永久に失う関数です。
デコレータの最良の例は次のとおりです:
#-*- コーディング: UTF-8 -*-
import time
def foo():
print 'in foo()'
# タイマーを定義し、タイマーを渡し、タイミング関数がアタッチされた別のメソッドを返します
def timeit(func):
#埋め込みラッパー関数を定義し、渡された関数にタイミング関数ラッパーを追加します
def Wrapper():
start = time. Clock()
func( )
end =time. Clock()
print 'used:', end - start
# ラップされた関数を返す
return Wrapper
foo = timeit(foo) )
foo()
Python は、上記のコードを簡略化するために @ シンボルの構文シュガーを提供します。これらは同じ機能を持っています
。import time
def timeit(func):
def Wrapper():
start = time. Clock()
func()
end =time. Clock()
print 'used:', end - start
return ラッパー
@timeit
def foo():
print 'in foo()'
foo()
これら 2 つのセクションのコードは同じで同等です。
3 つの組み込みデコレータは、staticmethod、classmethod、property です。これらの機能は、次のように、クラスで定義されたメソッドをそれぞれ静的メソッド、クラス メソッド、プロパティに変換することです。
def __init__( self, name ):
self._name = name
@staticmethod
def newRabbit(name):
return Rabbit(name)
@classmethod
def newRabbit2(cls ):
return Rabbit('')
@property
def name(self):
return self._name
デコレータのネスト:
ルールは 1 つだけです。ネストの順序はコードの順序と逆です。
例も見てみましょう:
# -*-コーディング: utf -8 -*-
def makebold(fn):
def Wrap():
return "" + fn() + ""
return Wrap
def Wrap():
return "" + fn() + ""
return Wrap
@makeitalic
def hello():
return "hello world"
hello world
この結果はなぜですか?
1. まず、hello 関数は makeitalic 関数で修飾され、結果 hello world になります。
2. 次に、makebold 関数で修飾されて になります。 ;i>hello world、これは非常に簡単に理解できます。

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

風光明媚なスポットコメント分析におけるJieba Wordセグメンテーションの問題を解決する方法は?風光明媚なスポットコメントと分析を行っているとき、私たちはしばしばJieba Wordセグメンテーションツールを使用してテキストを処理します...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール
