ホームページ  >  記事  >  バックエンド開発  >  Python セイウチ オペレーターをマスターして、新しいプログラミング スキルを解放しましょう!

Python セイウチ オペレーターをマスターして、新しいプログラミング スキルを解放しましょう!

王林
王林転載
2023-04-25 17:55:081024ブラウズ

みなさん、こんにちは。私はあなたの古い知り合いのシアンファンです。

セイウチは最大の哺乳類であり、北半球に生息する「先住民族」と呼ぶ人もいます。丸い頭、短くて広い口、厚い鼻を持ち、上部の犬歯は長さ40cm~90cmの牙を形成し、1本の重さは4kgを超えます。セイウチのオスは体長4メートル、体重2トンに達することもあります。セイウチは集団で生活することを好み、何千匹もの群れが集まります。

セイウチは、元気のない老人のように目を細めています。彼らは氷の中で寝るのが大好きで、人生のほとんどを氷の上で横になって過ごします。水の中でも寝ることができるのは、本当に驚くべきことです。

996 ローラー ファーマーとして、私は彼らの生活がとてもうらやましく、彼らのように横たわりたいと心から思っています。

さて、本題に取り掛かりましょう。続けましょう!今日はセイウチにちなんで名付けられたオペレーター、セイウチオペレーターをお届けします。

Python セイウチ オペレーターは PEP 572 で提案され、Python 3.8 に組み込まれてリリースされました。

Walrus 演算子の元の英語名は Assignment Expressions、つまり代入式です。セイウチ式は : と = 、つまり := で構成されます。セイウチを 90 度回転させたように見えるため、通常、これをセイウチ オペレーターと呼びます。著者は非常に想像力が豊かで、これらすべてを結びつけることができます。

文法

セイウチ演算子の構文形式は次のとおりです:

(variable_name := expression)

これは、一般的な = に似た新しい代入演算子で、変数名の後に式が続きます。

使用法

if-else条件式に使用されます

従来の記述:

a = 5
if a > 1:
print('do sth!')

アップグレード記述:

if a := 5 > 1:
print('do sth!')

whileループに使用されます

従来の記述方法:

n = 3
while n:
print('do sth!')
n -= 1

アップグレード記述方法:

n = 3
while (n := n - 1) + 1: 
print('do sth!')

ここで 1 を加算する理由は、出力が実行される前に n が 1 減算されるためです。

ファイルの読み取り

従来の記述方法:

fp = open("test.txt", "r")
while True:
line = fp.readline()
if not line:
break
print(line.strip())
fp.close()

アップグレードの記述方法:

fp = open("test.txt", "r")
while line := fp.readline():
print(line.strip())

適切なシナリオでセイウチ演算子を使用すると、プログラムの複雑さを軽減できます。コードを使用すると、プログラムのパフォーマンスを向上させることもできます。

該当しないシナリオ

セイウチ オペレーターは使いやすいですが、すべてのシナリオで使用できるわけではなく、依然として制限があります。

変数の割り当て

= 演算子を := 演算子と一緒に使用することはできません。セイウチ演算子は式の一部にのみ使用できます:

a = 5 # Valid 
a := 5 # InValid 
empty_list = [] # Valid 
empty_list := [] # InValid

次のように書くと、エディターは直接エラーを表示します。

加算と減算

a += 5 # Valid
a :+=5 # Invalid

Lambda 関数の代入式

(lambda: a:= 5) # Invalid
lambda: (a := 5) # Valid, but not useful
(var := lambda: 5) # Valid

論争

キーワード

Walrus 演算子の使用法: = このキーワードは次のとおりです。このキーワードは私たちが普段接しているキーワードとは異なり、作成者は独自のアプローチを持っています。

これはあまり好きではありませんが、作成者のルールは尊重します。結局のところ、作成者はこのような実用的な演算子を皆さんに提供してくれているのです。

オペレータ名

一部の開発者は、「セイウチ オペレータ」という名前は抽象的すぎて、このオペレータの意味を明確に表現できないと考えています。ほぼ 100% の人が初めてこのオペレータを目にします。この名前からは、その機能を想像できないでしょう。

フアン兄弟は、決まった命名方法がないので、作者が意味のある名前を選ぶのは当然だと考えています。

まとめ

今後、私たちの武器庫には通常兵器がもう 1 つ追加されます。他の人を巻き込んで戦うときは、忘れずに使用してください。これにより、戦闘のパフォーマンスが向上します。プログラムとコードの単純さにより、セクシュアリティが向上します。

以上がPython セイウチ オペレーターをマスターして、新しいプログラミング スキルを解放しましょう!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。