Vue3+Vite+TS は、要素プラスビジネスコンポーネントの二次カプセル化を実装します sfasga

Vue3+Vite+TS は、要素プラスビジネスコンポーネントの二次カプセル化を実装します sfasga

1. 構造文字列

多くの場合、文字列を印刷する必要があります。変数が多数ある場合は、次のことは避けてください。

名前 = "レイモンド"
年齢 = 22
born_in = "オークランド、カリフォルニア州"
string = "こんにちは、私の名前は " + name + "で、 " + str(age) + "歳です。私は " + born_in + "年に生まれました。"
print(文字列)


これはどれくらい乱雑に見えますか? .format の代わりに、便利でシンプルな方法を使うこともできます。

次のように:

名前 = "レイモンド"
年齢 = 22
born_in = "オークランド、カリフォルニア州"
string = "こんにちは、私の名前は {0} で、年齢は {1} です。生まれたのは {2} 年です。".format(name, age, born_in)
print(文字列)


2. タプルを返す

Python関数から複数の要素を返すことができるため、作業がはるかに簡単になります。しかし、タプルを解凍するときに、次のようなよくある間違いを犯します。

def binary(): 0, 1 を返す
結果 = バイナリ()
ゼロ = 結果[0]
1 = 結果[1]


これは必要ありません。次のようにするだけで済みます:

def binary(): 0, 1 を返す
0、1 = バイナリ()


すべての要素を返す必要がある場合は、アンダースコアを使用します_

ゼロ、_ = バイナリ()


とても効率的ですね!

3. Dict辞書にアクセスする

また、 dictskeyvalueを記述することもよくあります。

dictに存在しないkeyにアクセスしようとすると、 KeyError回避するために次のようにしたくなるかもしれません。

国 = {}
バッグ = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]
バッグの中のiの場合:
私が国にいる場合:
countr[i] += 1 それ以外の場合:
国[i] = 1
iが範囲(10)内にある場合:
私が国にいる場合:
print("{} の数: {}".format(i, countr[i]))
それ以外:
print("{} の数: {}".format(i, 0))


ただし、 get()を使用する方がより良い方法です。

国 = {}
バッグ = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]
バッグの中のiの場合:
countr[i] = countr.get(i, 0) + 1
iが範囲(10)内にある場合:
print("{} の数: {}".format(i, countr.get(i, 0)))


もちろん、代わりにsetdefaultを使用することもできます。

もっとシンプルですが、より高価な方法もあります。

バッグ = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]


{2: 3、3: 1、1: 1、5: 1、6: 1、7: 2、9: 1}:

countr = dict([(num, bag.count(num)) バッグ内のnumについて])
iが範囲(10)内にある場合:
print("{} の数: {}".format(i, countr.get(i, 0)))


dict内包表記も使用できます。

countr = {num: bag.count(num) バッグ内のnumについて}


これらのメソッドは両方とも、 countが呼び出されるたびにリストを走査するため、コストがかかります。

4. 図書館を利用する

既存のライブラリをインポートして、必要な操作を正確に実行できます。

前の例に戻って、リスト内で数字が出現する回数をカウントする関数を作成しましょう。まあ、以前はこれを実行できるライブラリがありました。

コレクションからカウンターをインポート
バッグ = [2, 3, 1, 2, 5, 6, 7, 9, 2, 7]
countr = Counter(bag)for i in range(10):
print("{} の数: {}".format(i, countr[i]))


ライブラリを使用する理由はいくつかあります。

  • コードは正しく、テスト済みです。
  • アルゴリズムが最適化されているため、実行速度が速くなる可能性があります。
  • 概要:明確で、十分に文書化されているため、まだ実行されていない作業に集中できます。

結局のところ、すべては以前から存在していたので、車輪を再発明する必要はありません。

5. リストのスライス/ステップ実行

list[start:stop:step]のように、 start点とstop点を指定できます。リストの最初の 5 つの要素を取得します。

バッグ = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
bag[:5]内の要素の場合:
print(要素)


これはスライスです。 stopポイントを 5 に指定すると、停止する前にリストから 5 つの要素が取得されます。

最後の 5 つの要素はどうなりますか?

バッグ = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
bag[-5:]内の要素の場合:
print(要素)


分からないんですか? -5 はリストの末尾から 5 つの要素を取得することを意味します。

リスト内の要素に対して距離演算を実行する場合は、次のようにします。

バッグ = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
enumerate(bag)内のインデックス、要素の場合:
インデックス % 2 == 0 の場合:
print(要素)


ただし、次のようにする必要があります。

バッグ = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
bag[::2]内の要素の場合:
print(要素)

6. 範囲を使用する

バッグ = リスト(範囲(0,10,2))
プリント(バッグ)


これはリスト内のステップです。 list[::2] 、リストを走査して2つのステップで要素を取り出すことを意味します。

list[::-1]を使用すると、リストに対してクールな逆操作を実行できます。

これで、 Vue3+Vite+TSによるelement-plusビジネスコンポーネントsfasgaの二次カプセル化の実装に関するこの記事は終了です。要素プラスビジネスコンポーネント sfasga の二次カプセル化に関するその他の関連記事については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue プロジェクトで TS (TypeScript) を使用するための入門チュートリアル
  • Vue が ts にアクセスする基本的な方法

<<:  シャドウソックスを使用してLAN透過ゲートウェイを構築する

>>:  MySQLトランザクションが効率に与える影響の分析と概要

推薦する

Docker プルタイムアウトの解決策

最近、Docker イメージのプルが非常に不安定です。遅く、タイムアウトすることがよくあります。 x...

vuex の補助関数 mapGetters の基本的な使い方の詳細な説明

mapGettersヘルパー関数mapGettersヘルパー関数は、ストア内のゲッターをローカルの計...

MySQL 5.7 MGR シングルマスター決定マスターノード方式の詳細説明

当銀行のMGRは年末に開始されます。公式文書を読んだり、毎日テストを受けたりしなければなりません。毎...

Vue でシンプルな無限ループスクロールアニメーションを実装する例

この記事では主に、Vue でシンプルな無限ループスクロールアニメーションを実装し、みんなで共有する例...

データベースSQL文の最適化

最適化する理由:実際のプロジェクトが開始され、データベースが一定期間稼働した後、初期のデータベース設...

Linux システムで時間を取得して使用する方法

Linux システム時間には 2 種類あります。 (1)暦上の時刻。値は、指定された時刻、1970 ...

zabbix を使用して ogg プロセスを監視する (Linux プラットフォーム)

以前作成されたデータベースの ogg プロセスは、発見されるまでの約半月間ダウンしていました。起動で...

JavaScript ベースのシンプルなカルーセルの実装

この記事では、シンプルなカルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹...

Vue3 でパンくず関数コンポーネントをカプセル化するいくつかの方法

目次序文1. パンくずリストはなぜ必要なのでしょうか? 2. 一次包装1. 実装のアイデア2. コー...

MySql のグループ化と各グループからランダムに 1 つのデータを取得する

アイデア: 最初にランダムに並べ替えてからグループ化します。 1. テーブルを作成します。 テーブル...

Alibaba Cloud ESC サーバー シングルノード MySQL の Docker デプロイメント

1. msyqlの高速バージョンをダウンロードする docker pull hub.c.163.co...

JSX を使用してカルーセル コンポーネントを実装する方法 (フロントエンドのコンポーネント化)

JSX を使用してコンポーネント システムを構築する前に、例を使用してコンポーネントの実装原理とロ...

TypeScriptのインデックスシグネチャの理解に関する簡単な説明

目次1. インデックス署名とは何ですか? 2. インデックス署名構文3. インデックス署名に関する注...

MySQL 接続で認証失敗エラーが発生する場合の分析と解決方法

[問題の説明]アプリケーション側では、次のエラーが時々表示されます。メソッド 'mysql_...

JSプロトタイプとプロトタイプチェーンについての簡単な説明

目次1. プロトタイプ2. プロトタイプポインタ: __proto__要約する1. プロトタイプJa...