Pythonic を中国語に翻訳すると、非常にPython的です。中国では、「とても女の子らしい」、「とても代表的なサッカーチーム」、「とてもCCTV」など、「とても+」という名詞構造が多く使われています。 ·
以下では簡単にするために、Python 的な記述方法を表すために P を使用し、非 Python 的な記述方法を表すために NP を使用します。 もちろん、この P-NP はその P-NP ではありません。
なぜ Python を追求するのですか?
NP と比較して、P の記述方法は簡潔、明確、エレガントです。ほとんどの場合、実行効率が高く、コードが少ないほどエラーが発生しにくくなります。優れたプログラマーはコードを書くときにコードの正確さ、簡潔さ、読みやすさを追求するべきだと思います。これはまさに Python の精神です。
他のプログラミング言語の経験があり、Python を初めて使用するプログラマー (私のような) にとって、Python の記述方法を認識すると、Python コードを記述する際の利便性と効率が向上します。また、この記事の主な読者もまた、このプログラマーのグループになります。
読者の参考のために、P と NP の N 例を以下に示します。
PとNPの例
連鎖比較
P:
a = 3 b = 1 1 <= b <= a < 10 #True
NP:
a = 3 b = 1 b >= 1 and b <= a and a < 10 #True
Pは小学生でも理解できるシンプルでわかりやすい文法州コード~
Truth Test
P:
name = 'Tim' langs = ['AS3', 'Lua', 'C'] info = {'name': 'Tim', 'sex': 'Male', 'age':23 } if name and langs and info: print('All True!') #All True!
NP:
if name != '' and len(langs) > 0 and info != {}: print('All True!') #All True!
つまり、Pの書き方は、判定条件を書かずに、あらゆる対象の真偽を直接判定するというものです。これにより、正確性が保証されるだけでなく、コードの量も削減されます。
真偽値テーブル (false を覚えておくと多くのコードを節約できます!)
真偽
真偽
空でない任意の文字列空の文字列''
0 以外の任意の数値数値1
P の書き方はシンプルで、テスト後の方が効率的です。
回文の検出に使用すると、input == input[::-1] という文になりますが、なんとも優雅ですね。
def reverse_str( s ): return s[::-1]NP:
def reverse_str( s ): t = '' for x in xrange(len(s)-1,-1,-1): t += s[x] return tstring.join()は、NP、Pと比較して、リスト内の文字列を結合するためによく使用されます。この方法は非常に効率的でエラーがありません。
strList = ["Python", "is", "good"] res = ' '.join(strList) #Python is good
NP:
res = '' for s in strList: res += s + ' ' #Python is good #最后还有个多余空格
リスト内包表記
P:
numList = [1,2,3,4,5] sum = sum(numList) #sum = 15 maxNum = max(numList) #maxNum = 5 minNum = min(numList) #minNum = 1 from operator import mul prod = reduce(mul, numList, 1) #prod = 120 默认值传1以防空列表报错
sum = 0 maxNum = -float('inf') minNum = float('inf') prod = 1 for num in numList: if num > maxNum: maxNum = num if num < minNum: minNum = num sum += num prod *= num # sum = 15 maxNum = 5 minNum = 1 prod = 120ご存知のとおり、P のリスト内包表記を使用すると、新しいリストの作成が非常に簡単かつ直感的になります。
l = [x*x for x in range(10) if x % 3 == 0] #l = [0, 9, 36, 81]NP:
l = [] for x in range(10): if x % 3 == 0: l.append(x*x) #l = [0, 9, 36, 81]dictのget(key,default)メソッドは、keyの値を取得するために使用されます。辞書(存在しない場合) このキーの場合、キーにはデフォルト値defaultが割り当てられます。
NP に比べて、P は if...else... の記述が少なく、if...else... が嫌いな人にとっては本当に最初の選択肢です。
dic = {'name':'Tim', 'age':23} dic['workage'] = dic.get('workage',0) + 1 #dic = {'age': 23, 'workage': 1, 'name': 'Tim'}NP:
if 'workage' in dic: dic['workage'] += 1 else: dic['workage'] = 1 #dic = {'age': 23, 'workage': 1, 'name': 'Tim'}for...else... の else 部分は、処理に使用されます。 for ループ条件から中断されない項目。これを使用すると、for ループが発生するかどうかを確認するために状態変数を設定する必要がなく、シンプルで便利です。
for x in xrange(1,5): if x == 5: print 'find 5' break else: print 'can not find 5!' #can not find 5!NP:
find = False for x in xrange(1,5): if x == 5: find = True print 'find 5' break if not find: print 'can not find 5!' #can not find 5!C でのプログラミング経験がある場合は、 A ? B : C の代替案を探すでしょう。 A と B または C は問題ないように見えますが、b = a > 1 で、実際の意図は False を返す必要があるにもかかわらず、False または True は True を返します。
b = False if a > 1 else True を使用すると正しく False が返されるため、本物の 3 項記号の置換になります。 Enumerate インデックス添字の開始位置を調整します。デフォルトは 0 です。
a = 3 b = 2 if a > 2 else 1 #b = 2NP:
if a > 2: b = 2 else: b = 1 #b = 2zip メソッドはタプルを返し、それを使用してキーと値のペアを作成します。シンプルかつ明確です。

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セグメンテーションツールを使用してテキストを処理します...

正規表現を使用して、最初の閉じたタグと停止に一致する方法は? HTMLまたは他のマークアップ言語を扱う場合、しばしば正規表現が必要です...


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

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

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。
