Python の基本文法のまとめ (非常に包括的かつ詳細。たった 1 週間で Python を使い始めて練習できます)。今後も更新されます。

オブジェクト指向プログラムの
初日に注意すべき知識ポイント:

変数: データを保存および表現するために使用されるプレースホルダー記号。変数は識別子によって表されます。識別子を関連付けるプロセスは名前付けと呼ばれます。データ型: コンピューター プログラムが理解できるデータ形式。文字列のインデックスは「[」の形式を採用し
ます
。 ]”、スライスとステップ サイズの表現に注意してください。
入力関数 input は文字列を返します (この入力の終わりを示すには Enter を 1 回押します)。操作に参加するときは、返された文字列の引用符を削除することに注意してください。関数にプロンプ​​トテキストを入力できます。出力関数 print は、結果を文字の形式でコンソールに出力する関数です。文字列型の引用符のペアはプログラム内でのみ使用され、出力には引用符は使用できません。print の後にパラメータを追加し (end = "")、改行なしで出力します (Python——print 出力は自動的に折り返されます)。評価関数 eval の機能は、パラメータの最も外側の引用符を削除することです。残りのステートメントの関数を実行します。スロット機構「{}」の使用が出力フォーマットを制御することに注意してください。フォーマット関数のパラメータはスロットに対応しています。各予約語の行末にはコロンがあります
。場所は次のとおりです。これは文法の一部です。忘れないでください。括弧はペアである必要があることに注意してください
。Python は漢字をサポートしています。これを使用する必要があります。覚えておいてください。Python
コンピューティング エコロジー = 標準ライブラリ + サードパーティ ライブラリ、標準ライブラリ Python コンピューティングエコロジー = 標準ライブラリ + サードパーティ ライブラリ - 標準ライブラリ: インタプリタを使用してオペレーティング システムに直接インストールされる機能モジュール - サードパーティ ライブラリ: 使用する前にインストールする必要がある機能モジュール - ライブラリ、パッケージ パッケージ、モジュール モジュール、総称してモジュールと呼ばれます

Python—タートル ライブラリの使用
原則: フォームの中心を歩くカメがあり、その歩行の痕跡が画像を形成します
。turtle.circle のパラメータは、円のデフォルトの中心が であることです。タートルの左側はr位置、進行方向の右側は
タートルの座標と絶対座標、タートルの方向角度と絶対角度に注目してください。タートルの記述は相対的なものです。タートルの現在位置を基準と
し、絶対座標と方向は座標原点であるキャンバスの中心を基準とします。
ブラシ制御機能 - ペンアップ、ペンダウン、ペンカラー、ペンサイズ
タートルのモーション制御機能 - 前方、後方、円 (曲線) )
方向制御関数 - goto (絶対座標値への到達)、seth (絶対方向角度)、左、右 (タートルの角度に対する相対) ロジックに注目し、達成するための手順、特に回転
角度、circle関数は合理的に使用する必要があります。および絶対座標、角度

2日目に注意すべき知識ポイント:
基本的なデータ型とその表現:
1:数値型:Pythonの整数型の値の範囲は無制限で、浮動小数点数間の演算には不確実な仮数が存在します。仮数は小数点以下 16 桁で表示されますが、バグではありません。浮動小数点数は科学表記法 E == a*10^b で表現できます。複素数の型は数学的な複素数とまったく同じです。複素量の実数部と虚数部は、それぞれ Z.real と Z.imag を使用して取得できます。演算子は数学と完全に一致しており、X//y は整数の除算の表現、X**Y は X の表現ですY 乗、および数学と完全に一致する他の型は混合演算でき、結果は "widest" になります。
型 - 3 つの型の間には、徐々に "拡大" または "拡大" する関係があります: 整数 ->浮動小数点数 -> 複素数
一般的に使用される数値演算関数:
round(x,y)___y の小数点以下の桁数を維持するために x を丸めます
max 、 min—最大値と最小値の計算
divmod—商と剰余関数、商と剰余を返しますプリミティブ型
pow の x の y 乗関数を計算するには、
int、float、complex 関数を使用して、一部のデータ型を強制的にその型に変換できます。

2: 文字列型とその操作:
Python には独立した文字型がありません。文字列タイプのみ: 0 個以上の文字で構成される順序付けされた文字シーケンス - 文字列は一対の一重引用符または一対の二重引用符で表されます。文字列スライスの高度な使用法に注意してください。ステップ サイズは現在の要素、ステップからカウントされます
。長さは負の数で、後ろから前にスライスすることを意味し、シフト文字「\」の使用は C 言語の文字列演算子と同様です: x+ y は 2 つの文字列 x と y を接続します n *x
または
x *n 文字列 x を
x ins 回コピーします。 x が s の部分文字列の場合は True を返し、それ以外の場合は False を返します。
文字列処理関数:
len、str (任意のデータ型を文字列型に変換)、hex、oct (整数 x の 16 進数または 8 進数)小文字の文字列 hex(425) の結果は「0x1a9」、oct(425) の結果は「0o651」です。
chr(u)x は Unicode コードで、対応する文字を返します。
ord(x)x は文字で、返します。対応する Unicode エンコーディング (文字は 1 つの文字に対してのみ操作できます) Python 文字列の各文字は、Unicode でエンコードされた文字列の
処理メソッドです:
メソッドはプログラミングにおける固有名詞です: 「メソッド」とは、特に . () スタイルを指します。 Function () - メソッド自体も関数ですが、. () スタイルは
str. lower()/upper() を使用します - すべて大文字または小文字の文字列のコピーを返します
str.split(sep=None)—sep "A,B,C".split(",") に従って str の分離された部分で構成されるリストを返します。結果は ['A','B',' になります。 C ']、文字列に sep コンテンツがあるかどうかを確認します。存在する場合は、sep コンテンツに従ってリストに分割されます。文字列にはスペーサーが必要で、分割されたリストに分割されます。デフォルトでは「,」で str.count()
— —文字列の部分文字列が文字列内に出現する回数を返します。
str.replace(old,new)、文字列のコピーを返します。古いものはすべて新しい
strに置き換えられます。 .center(width[,fillchar])—string str 幅に従って中央揃え、fillchar オプション "python".center(20, "=") 結果は '=パイソン='、形式変換用
str.strip(chars) - str "= python=".strip("=np") から左右の文字にリストされている文字を削除します。結果は "ytho ", です。この 2 つを削除するだけです。文字列の両側、中央は削除されません。strip は削除することを意味します。削除します。
str.join(iter) - 最後の要素 "," を除く iter 変数の各要素の後に str を追加します。 .join(" の結果12345") は "1,2,3,4,5" です。#主に文字列の分離などに使用されます。iter オブジェクト内の要素は文字列である必要があります。文字列の
演算方法は文字列型のものであることに注意してください。関数のパラメータは文字列で表す必要があります

文字列のフォーマット:
フォーマットは文字列をフォーマットする方法です。文字列のフォーマットには .format() メソッドが使用されます。使用法は次のとおりです: <テンプレート文字列>.format(<カンマ区切りパラメータ>) format() メソッドのフォーマット
制御: スロットメカニズムを導入します。スロット内は { <パラメータ番号>: <フォーマット制御タグ>}
フォーマット制御タグは: <fill><alignment><width>, <,><.precision><type>、後者です。 3 つは数字で、スロットの先頭の記号「:」です。幅マークが文字列の幅より小さい場合、数字の形式は文字列の長さで表示されることを
忘れないでください: {0:e},{
0:E}, {0:f},{0:%}".format(3.14) - 出力は次のようになります: '3.140000e+00,3.140000E+00,3.140000,314.000000%' "{0:b}, {0:c
} ,{0:d},{0:o},{0:x},{0:X}".format(425 ) - 出力は次のようになります: '110101001,Ʃ,425,651,1a9,1A9 '

時刻ライブラリの使用:
プログラムのパフォーマンス分析のためのシステム レベルの正確なタイミング関数を提供します。
時刻ライブラリには 3 種類の関数が含まれています -
時刻取得: 時刻 (現在のタイムスタンプ、つまりコンピュータの内部時刻値、浮動小数点の取得)数値) ctime (現在の時刻を取得します。時刻を読みやすい方法で表現し、文字列を返します) gmtime (現在の時刻を取得します。コンピュータで処理できる時刻形式で表現され、一般的に組み合わせて使用​​されます) strftime 関数を使用) 時間の書式設定:
strftime(tpl, ts) tpl は書式テンプレート文字です。文字列 "%Y -%m-%d %H:%M:%S は出力効果を定義するために使用されます。ts はコンピュータの内部時間タイプの変数プログラムのタイミング
: sleep(): 時間を秒単位で生成し、ユーザーを生成します。 必要な特定の時間値
perf_counter(): CPU レベルの正確な時間カウント値を秒単位で返し、時間を測定し、プログラムが開始します1 回と 1 回終了、2 つの違いはプログラムの実行時間です

3日目の知識ポイント:プログラムの制御構造に注目


1: 分岐構造: 単一分岐構造は、単一分岐構造、ハーフ構造、複数分岐構造、および 2 分岐構造の形式で、if—elif—else を使用して、判定条件の結果に応じて異なるフォワード パスの動作モードを選択します。
コンパクト形式: 単純な式に適した 2 分岐構造 <式 1> if<条件> else<式 2>、式の条件
判定演算子は C 言語と同じです (!=、<=、>=、==)。 )
条件付き組み合わせの 3 つの予約語: 条件付き組み合わせ演算子と使用法の説明:
x と y 2 つの条件 x と y の論理和、
x または y 2 つの条件 x と y の論理和 -> 》》》このとき、論理式の関係 条件
notx と条件 x の組み合わせが論理的ではない
プログラムの例外処理:
try:excel の使用: 単純なプログラムの例外を処理する 例外の後に例外名を追加した場合、異常な
分岐構造のみを処理する条件の判断、各条件間の関係、それが含まれているかどうかに注意し、条件の論理関係が明確であること

2: プログラムのループ構造:
トラバーサルループ: ある構造をトラバースすることによって形成されるループ動作モード: for<ループ変数> in<トラバーサル構造>:<ステートメントブロック>、トラバーサル構造から要素を 1 つずつ抽出し、putそれらをループ変数に入れます。
トラバーサル ループの適用: カウント ループ (特定の回数 (シーケンスを生成するスライス方法と同様)、N 回) を形成するために、予約語 in および関数 range と一緒によく使用されます。文字列とリスト、およびファイルの走査には注意してください。 ループ変数と走査構造の関係。各ループは走査構造内の要素をループ変数に割り当てます。 無限ループ: 条件によって制御されるループ動作モード - ステートメント ブロックを実行します
。条件が満たされなくなるまで繰り返し、 while<条件> : 文ブロックの構成 ループ
制御の予約語:
Break: 現在のループ全体を飛び出して実行します (ループが複数層ある場合は、1 層のループのみ飛び出すことができます)。ループの次の層の実行を継続します)、現在の最も内側のループからのみジャンプします continue
: end 2 番目のループ、つまり次の continue の後のステートメントが
ループの高度な使用法を実行しなくなったとき、ループ構造は次のようになります。 else 構造と組み合わせて使用​​されます。ループが Break ステートメントによって終了しない場合、else ステートメント ブロックが実行されます。else ステートメント ブロックは、ループを完了するために「通常」として使用されます。報酬はループと同じレベルに属します。 for および while の予約語。else ステートメントを実行するかどうかは、break に関係することに注意してください。

ランダム ライブラリの使用:
ランダム ライブラリには 2 種類の関数が含まれており、そのうち 8 つは一般的に使用されます。
基本的なランダム関数: seed() は指定された乱数シードを使用して乱数を生成し、random() は 0 から 0 までのランダムな 10 進数を生成します。および 1
拡張ランダム関数: randint 、 randrange、 getrandbits、uniform、
choice、 shuffle (割り込み順序)// これら 2 つの関数はシーケンスに対する演算です
大量のサンプル データを使用して正確な値の計算をシミュレートする方法を学びます

4 日目のナレッジポイント: 関数とコードの再利用

関数は、特定の機能を備えた再利用可能なステートメントのグループであり、関数は、関数の抽象化であり、一般関数は、特定の関数とコードの再利用を表現します。
関数の定義 関数はコードの表現です;
def <関数名>(<パラメータ(0以上)> ) :
<関数本体>
return<戻り値>
関数の定義: 関数を定義するとき、指定されたパラメータはプレースホルダです - 関数が定義された後、呼び出されなければ関数は実行されません - 関数が定義され、パラメータが入力され、関数本体が処理され、結果が出力される(IPO) call: call は関数コードを実行する方法です。
call 実パラメータを使用して定義内のパラメータを置き換える場合は、実パラメータを指定する必要があります。戻り値は関数が呼び出された後に取得されます

これらのパラメータはデフォルト値を指定します。 , これらはオプションのパラメータを構成します。関数の呼び出し時にオプションのパラメータに値が指定されていない場合は、オプションのパラメータのデフォルト値が使用されます。新しい値が指定されている場合は、新しい値が使用されます。変数パラメータの受け渡し:関数を定義するときは、 「*」 def<関数名>(<パラメータ>,*b): の
形式を使用して、変数の数のパラメータを設計します。つまり、パラメータの合計量は不確かです。
パラメータを入力し、bはタプルに相当し、そのペアを採用 bを演算するタプルの演算
<関数本体>
return<戻り値>

パラメータを渡す 2 つの方法 関数が呼び出されるとき、パラメータは位置または名前によって渡すことができます。 関数の
戻り値 関数は 0 個以上の結果を返すことができます。戻り値を渡すために戻り予約語が使用されます。関数は次のことを行うことができます。戻り値があるか
どうか、戻り値があるかどうか -return は 0 の戻り値を渡すことも、任意の数の戻り値を渡すこともできます。関数に複数の戻り値がある場合、これらの戻り値はタプルに入れられ、戻ってきた

ローカル変数とグローバル変数 ルール 1: ローカル変数とグローバル変数は異なる変数です - ローカル変数は関数内のプレースホルダーであり、グローバル変数と同じ名前を持つ可能性がありますが、異なるものです - 関数の操作が終了した後、ローカル変数は解放されます
-
可能グローバルによって保持される Word は関数内でグローバル変数を使用し、global を追加して
関数内でグローバル変数を定義し、グローバル変数の値を変更します

ローカル変数とグローバル変数のルール 2: ローカル変数は結合されたデータ型であり、まだ作成されていません。これはグローバル変数と同等です。つまり、グローバル変数は関数の外で宣言され、結合されたデータ型です
。組み合わせ型変数の関数定義時に関数内で宣言されていない場合、その変数は
グローバル変数と等価になります。関数内で再度宣言された組み合わせデータ型の変数がある場合、その変数はローカル変数と等価になります。

ローカル変数とグローバル変数の使用規則 - 基本的なデータ型は、名前が同じかどうかに関係なく、ローカル変数はグローバル変数とは異なります - グローバル変数は、グローバル予約語を使用して関数内で宣言できます - ローカルの場合は結合された
データ
型変数は実際に作成されるのではなく、グローバル変数です

ラムダ関数: ラムダ関数は、結果として関数名を返します。ラムダ関数は匿名関数、つまり名前のない関数です。
ラムダ予約語を使用して定義されており、関数名が戻り結果になります
。ラムダ関数は、1 行で表現できる単純な関数を定義するために使用されます。 関数
構造: <関数名>=lambda<パラメータ>:<式>、関数名を返します。関数名を直接使用してラムダ関数を呼び出すことができます。次回関数、定義された単純な関数 例: f = lambda x, y : x + yf(10, 15)------>25
予約語 def を使用して関数を定義、ラムダは匿名関数を定義 - オプションのパラメータ (代入)初期値)、
変数パラメータ (*b)、名前転送 - 予約語 return 任意の数の結果を返すことができます -
予約語 global は、グローバル変数の使用を宣言します。いくつかの暗黙のルールがあります。これらの点に注意するには関数を使用してください。

関数の再帰の場合、まず基本ケースとチェーンが何であるかを明確にしてから、再帰方法を決定するプログラムを作成する必要があります。

5日目の知識ポイント:
1: コレクション型とその演算:
コレクションは複数の要素の順序のない組み合わせです - コレクション型は数学におけるコレクションの概念と一致しています - コレクション要素は順序がなく、各要素は一意であり、同一のものはありません要素 - コレクション要素は変更できず、可変データ型にすることはできません
。コレクションは中かっこ {} で表され、要素はカンマで区切られます。 - コレクション型を作成するには、{} または set() を使用します。 - 空のコレクション型を作成するには、コレクション型の場合、辞書と同じ set() を使用する必要があります。型の違い、空の辞書は {} で直接表すことができます。集合演算子: S | T 共用体。コレクション内のすべての要素を含む新しいセットを返し
ます
。 set S と T
S - T の差、セットに含まれる新しいセットを返します。 S にはあるが T には含まれていない要素 S & T の交差部分は、両方のセット S と T に
要素 S ^ T を含む新しいセットを返します。
、セット S と T 内の同一でない要素を含む新しいセットを返します
S <= T または S < T は True/False を返し、S と T の間のサブセットの関係を判断します
S >= T または S > T は True/False を返します、SとTの包含関係を判定
差分と補数の違い、
数学における強調演算に注意 記号:|=、-=、&=、^=
設定処理方法:
S.add(x) If xがセット S にない場合、x を S に追加
S.discard(x) S の要素 x を削除します (x の場合)。それがセット S にない場合、エラーは報告されません。
S.remove(x) は要素 x を削除します。 S に x がセット S にない場合、KeyError 例外が生成される
S.clear() は S 内のすべての要素を削除する
S.pop() は S の値をランダムに返す S が空の場合、要素を更新するKeyError 例外を生成し、それを要素を削除するセット S に更新します。copy
() はセット S のコピーを返します。
len(S) は集合 S 内の要素の数を返します S の x は S の要素 x が集合 S 内にあると判断し、True を返します。それ以外の場合は Falsex を返します S にありません S の要素 x は、x が集合 S 内にあると判断しますセット S にない場合は
True を返し、それ以外の場合は False を返します
set(x) は他の型の変数 x をコレクション型に変換します

コレクション アプリケーション シナリオ:
包含関係の比較、データ重複排除: コレクション タイプのすべての要素は重複しません

2: シーケンスのタイプとその操作:
シーケンスはシーケンス関係を持つ要素のグループであり、シーケンスは 1 次元の要素ベクトルであり、要素のタイプは異なる場合があります。数学的要素シーケンス: s0、s1、...、sn と同様です。 1 - 要素はシーケンス番号によってガイドされ、添え字を通じてシーケンスの特定の要素にアクセスします。
シーケンスは、文字列型、タプル型、リスト型を含む基本クラス型です。 シーケンス型の
一般的な演算子の関数とメソッド:
x in s x が要素の場合シーケンス s の場合は、True を返します。それ以外の場合は、s
にない Falsex を返します。 x がシーケンス s の要素の場合、False を返し、そうでない場合は True を返します。 ue
s + t 2 つのシーケンス s と ts を接続します。n または n s シーケンス s を n 回コピーします
s[i ]インデックス、戻り値 s の i 番目の要素、i はシーケンス番号
s[i: j] または s[i: j: k] スライス、要素のサブシーケンスを返します len
(s ) はシーケンス s の長さを返します、つまり、要素数
min(s) はシーケンス s の最小の要素を返し、s の要素は同等である必要があります。 max(s) はシーケンス s の最大の要素を返し、s の要素は同等である必要がありますs.index(
x ) または s.index(x, i, j) は、i から位置 j までのシーケンス s 内で要素 x が最初に出現する位置を返します。 s.count(x) は、x の出現の
総数を返します。シーケンス内で

3: タプルの祖先型とその操作:
タプルはシーケンス型の拡張です - タプルはシーケンス型であり、
一度作成すると変更することはできません -! 同じことが文字列型にも当てはまり、文字の 1 つを変更することはできません。
作成するには括弧 () または tuple() を使用します。要素はカンマで区切られます。括弧は使用してもしなくても構いません。変数 x に複数の値が割り当てられている場合、x のデフォルトは祖先型になります

4: リスト型とその操作:
リストはシーケンス型で、作成後に自由に変更できます - 作成するには角括弧 [] または list() を使用し、要素をカンマで区切ります - リスト内の各要素型は異なる場合があります。長さ制限なし
注意! 角括弧 [] は実際にリストを作成し、代入では参照のみが渡されます。リスト変数が別のリスト変数に代入される場合、2 つの変数は同じリスト変数を指します。一方のリスト変数の値を変更すると、もう一方の変数も変更されます。

リスト型操作関数とメソッド:
ls[i] = x リスト ls の i 番目の要素を x に置き換えます
ls[i: j: k]= lt ls スライスの後の対応する要素サブリストをリスト lt
del lsに置き換えます[i] リストを削除します ls の i 番目の要素
del ls[i: j: k] ステップ サイズ k でリスト ls の i 番目から j 番目の要素を削除します
ls += lt リスト ls を更新しますそして、リスト lt 要素をリストに追加します。 ls
ls *= n リスト ls を更新します。その要素は n 回繰り返されます。
ls.append(x) は、リスト ls の最後に要素 x を追加します (x がリストの場合)。リストは ls の要素として追加されます。
ls.clear() はリスト内のすべての要素を削除します。 ls
ls.copy() は新しいリストを生成し、ls 内のすべての要素を割り当てます。
ls.insert(i,x) はリストの i 位置に要素 x を追加します。 ls
ls.pop(i ) リスト ls の i 番目の要素を取り出し、要素を削除します。
ls.remove(x) リストに表示される最初の要素 x を削除します。 ls
ls.reverse() リスト内の要素を反転します。 ls

シーケンス型の応用シナリオ:
要素トラバーサル、プログラムでデータを変更したくない場合はタプル型に変換

5: ディクショナリ型とその動作:
マッピングはキー (インデックス) と値 (データ) の対応であり、シーケンス型はデータのデフォルトのインデックスとして 0...N の整数を使用します。マッピング タイプはデータに対してユーザーによって定義されます。
辞書タイプは「マッピング」の具体例です。キーと値のペア: キーはデータ インデックスの拡張です。辞書はキーと値のペアのコレクションです。キーと値のペアの順序が間違っています - 中かっこ {} を使用してください。 dict() で作成されたキーと値のペアはコロンで表されます。 ディクショナリ変数では、値はキー <ディクショナリ変数> = {< を通じて取得されます
。 key 1>:<value 1> , … , <key n>:<value n> }
value> = <辞書変数>[<キー>] [ ] は、辞書変数<辞書変数>
に要素をインデックス付けまたは追加するために使用されます。
[<key>] = <value>——新しいキーと値のペアを追加するメソッド
type(x ) は変数 x の型を返します。type 関数の使用には注意してください。

サブクラス型の演算関数およびメソッド
del d[k] 辞書 d のキー k に対応するデータ値を削除 k
in d キー k が辞書 d にあるかどうかを判断し、あれば True を返し、そうでない場合は False
d.keys() を返すd.values()のすべてのキー情報は、
辞書内のすべての値情報を返します d
d.items() は、辞書内のすべてのキーと値のペアの情報を返します d
d.get(k, ) キー k が存在する場合は、戻ります対応する値、存在しない場合は、戻り値、デフォルト: 意味: システム設定値; プリセット値
d.pop(k, ) キー k が存在する場合は、対応する値を取り出し、存在しない場合は値を返し、更新しますd
d.popitem() 辞書からランダムに d キーと値のペアを取り出し、タプルとして返し、更新します。 d
d.clear() すべてのキーと値のペアを削除します。
len(d) は、キーと値のペアの要素の数を返します。辞書d

ls.append(x) は、x がリストの場合、そのリストを要素として ls に追加します。
辞書を作成するときに、同じキーが異なる値に対応する場合、辞書は最後 (最新) の「キーと値のペア」を使用します。
配列型は一般に 1 次元ベクトルとみなすことができ、要素がすべて配列の場合は 2 次元ベクトルとみなすことができます。

6: jieba ライブラリの使用:
jieba は、中国語の単語分割に優れたサードパーティ ライブラリです。個々の単語を取得するには、中国語のテキストを分割する必要があります。単語分割の原理: 中国語シソーラスを使用して、
漢字間の関連確率を決定します。中国語の文字間の確率が高い 単語分割結果を形成するためのフレーズの作成 - 単語分割に加えて、ユーザーはカスタム フレーズを追加することもできます
jieba 単語分割の 3 つのモード: 精密モード: 冗長な単語を使用せずにテキストを正確に分割します -
フル モード: すべてを結合しますテキスト内の可能性のある単語 単語がスキャンされ、冗長で、さまざまな角度からセグメント化されます
検索エンジン モード: 正確なモードに基づいて、長い単語が再度セグメント化されます

jieba.lcut(s) 厳密モード、リスト型の単語分割結果を返す

jieba.lcut(「中国は素晴らしい国です」)! 最も重要な使用法は
['China', 'is', 'one', 'great', 'of', 'country'] jieba.lcut(s,
cut_all=True) フル モードで、単語分割結果のリストを返します。冗長性が存在します

jieba.lcut("中国は素晴らしい国です",cut_all=True)
['中国', '国は', '1', '素晴らしい', 'の', '国']
jieba.lcut_for_search(s) 検索エンジンモード、リスト型の単語分割結果を返す、冗長性あり

jieba.lcut_for_search("中華人民共和国は素晴らしい")
['中国', '中国人', '人民', '共和国', '共和国', '中華人民共和国', 'はい', '素晴らしい', 'of ']
ieba.add_word(w) 新しい単語 w を単語分割辞書に追加します

jieba.add_word("Python 言語")

リストのソート方法:

6日目の知識ポイント: ファイルとデータのフォーマット
1: ファイルの使用:
ファイルはデータの抽象化および集合です - ファイルは補助記憶装置に格納されるデータシーケンスです - ファイルはデータストレージの形式です - ファイルのプレゼンテーション形式: テキストファイルファイルの理解: テキスト ファイルとバイナリ ファイル - ファイルとバイナリ ファイルは、ファイルを表示する単なる方法です - 基本的に、すべてのファイルはバイナリ形式で保存されます - すべてのファイルは、テキストファイル
を表示するために 2 つの方法を使用します。
UTF-8 エンコーディングなどの単一の特定のエンコーディングで構成されます - エンコーディングが存在するため、ストレージの長い文字列とも見なされます - 適切な例: .txt ファイル、.py ファイル、その他のバイナリ ファイル: 直接構成ビット 0
と 1 で統一された文字エンコーディングはありません。一般に、バイナリ 0 と 1 の組織構造、つまりファイル形式があります。たとえば、.png ファイル、.avi ファイルなどに適しています。

ファイルのオープンとクローズ:
open: <変数名>= open(<ファイル名>, <オープンモード>)、1 つのパス "" を 2 つの "\" に変更するか、ソース ファイルの "/" を使用する必要があることに注意してください。は同じです ディレクトリはパスを保存できます
オープンモード:
'r' 読み取り専用モード、デフォルト値、ファイルが存在しない場合は FileNotFoundError を返します
'w' 上書きモード、ファイルが存在しない場合は作成、完全に上書きします
' x' 書き込みモードの作成、ファイルが存在しません。 存在する場合は作成し、存在する場合は FileExistsError を返します。 '
a' 書き込みモードを追加します。ファイルが存在しない場合は作成し、ファイルが存在する場合はコンテンツを追加します。ファイルの終わり
'b' バイナリファイルモード
't' テキストファイルモード、デフォルト値は
'+' と r/w /x/a が併用され、同時読み書き機能は、オリジナルの関数
!!! 文字列形式で記述する必要があることに注意してください。
f.close() はファイルを閉じます。

ファイルの内容を読み取ります:
.read(size=-1) すべての内容を読み取ります。パラメーターが指定されている場合、読み取り前のサイズの長さはバイト単位です。読み取りは全文操作であることに注意してください。

s = f.read(2) China.readline
(size=-1) コンテンツの行を読み取ります。パラメータが指定されている場合は、行の前のサイズの長さを読み取ります。

s = f.readline() 中国は素晴らしい国です!
.readlines(hint=-1) はファイルのすべての行を読み取り、パラメータが指定されている場合は各行要素のリストを形成し、前のヒント行を読み取ります。

s = f.readlines() [「中国は素晴らしい国です!」']

ファイルの書き込み:
.write(s) は文字列またはバイト ストリームをファイルに書き込みます

f.write("中国は素晴らしい国です!")
.writelines(lines) 要素がすべて文字列であるリストをファイルに書き込みます

ls = ["中国", "フランス", "米国"]
f.writelines(ls) 中国、フランス、米国——リスト内のすべての要素の直接結合を返し、引用符
f>を削除します。 .seek(offset) 現在のファイル操作ポインタの位置を変更します。
オフセットの意味は次のとおりです: 0 - ファイルの先頭; 1 - 現在の位置; 2 - ファイルの末尾

f.seek(0) #ファイルの先頭に戻る
注意! , ファイルが書き込まれた後、ポインタはデフォルトでファイルの末尾に移動します。書き込まれた内容を印刷したい場合は、ファイル ポインタの位置も変更する必要があります。seek メソッドを使用して、ファイルを開き、close() を使用して
ファイルを閉じます。close() が呼び出されない場合、ファイル参照は現在の Python プログラムが完全に終了したときに解放されます。つまり、プログラムが終了すると、close() を呼び出したのと同じになります。同じファイルをテキスト モードまたはテキスト モードで開くことができます。バイナリ モード注: f の for line によって取得された行には、各行の最後の改行文字 (\n) が含まれているため、統計のために改行文字を削除します。ファイルは行ごとに読み取られ、デフォルトでは各行に改行文字が含まれます

, 空白行 空白行です。改行文字を含めて内容はありません。空白行かどうかの判断には、if line == "" を使用するだけです!

1 次元データのフォーマットと処理:
次元: データ セットの組織形式
1 次元データ: ピアツーピア関係にある順序付けされたデータまたは順序付けされていないデータで構成され、線形に編成され、概念的な 2 つのデータに対応します。リスト、配列、セットなどの次元
データ :複数の 1 次元データから構成され、1 次元データを組み合わせたもの
多次元データ :1 次元または 2 次元のデータを新たな次元に拡張して
高次元のデータを形成したもの次元データ: データ間の複雑な構造を示すために最も基本的な二項関係のみを使用します (例: ネストされた辞書)

1 ビットのデータの表現: データが順序付けされている場合: リスト型を使用します。 リスト型は 1 次元の順序付けされたデータを表現できます - for ループでデータを走査し、各データを処理できます。 データが順序付けされていない場合: コレクション型を使用します
-コレクション型 1 次元の順序付けされていないデータを表現できる - for ループでデータを走査し、各データを処理できる

1 次元データの保存:
保存方法 1: スペースで区切って、1 つ以上のスペースで区切って、改行なしで保存します。デメリット:データ内にスペースを入れることができない
保存方法2:カンマ区切り、改行せずに英語の半角カンマで区切って保存します。欠点: データ内に英語のカンマは使用できません
保存方法 3: その他の方法、 - 他の記号または記号の組み合わせを使用して区切る、特殊記号を推奨します。

1次元データの処理:
ストレージ: プログラムで表現されたデータをファイル表現に書き込む
: 格納されたデータをプログラムに読み込む


スペースで区切られたファイルからデータを読み取ります。特殊な記号で区切られたファイルからデータを読み取るには、ls = txt.split() メソッドを使用します。ls = txt.split("$") を使用し、文字列の split メソッドを使用します。 operate は、主に文字列を区切るために使用されるものに依存します。

1 次元データの書き込み処理:
スペース区切りを使用してデータをファイルに書き込みます: f.write(' '.join(ls)) を使用し、ls リストの各要素の後にスペースを追加し、特殊なメソッドを使用してそれらをまとめます
。区切られた方法でデータをファイルに書き込みます: f.write('$'.join(ls)) を使用します。または主に、書き込まれた文字を区切るために何を使用するかによって異なります。

2 次元データのフォーマットと処理:
2 次元データの表現: リスト型を使用します。 - リスト型は 2 次元データを表現できます。 - 2 次元リストを使用します。リスト内のネストされたリストで十分です。2 層の for ループを使用して、各要素を走査 - 外側のリストの各要素は行または列に対応できます。

CSV 形式と 2 次元データ ストレージ:
CSV: Comma-Separated Values は、
国際的に認められた 1 次元データ ストレージ形式であるカンマ区切り値です。一般に、.csv 拡張子 - 1 行に 1 つの 1 次元データ、カンマで区切られ、空行はありません - Excel と一般的な編集ソフトウェアの両方で、読み込みまたは csv ファイルとして保存できます
・CSV形式でデータを保存する場合、要素が欠落している場合でもカンマを保持する必要がある ・2次元データのヘッダはデータとして保存することも、別個に保存することもできる ・カンマは英語の半角カンマであり、カンマとデータの間に余分なスペースはありません

2 次元データ ストレージ: 一般的なインデックス付けの習慣: ls[row][column]、行が 1 番目、列が 2 番目 2
次元データ処理:
CSV 形式でファイルからデータを読み取る:
fo = open(fname)
ls = []
for line in fo :
line = line.replace("\n","" ) ## 各行の末尾にある改行文字を削除します。特にこの
ls.append(line.split(",")) ##に注意してください。生成されるネストされたリスト
fo.close()
はデータを CSV 形式でファイルに書き込みます:
ls = [[],[],[]] #二次元リスト
f = open(fname, 'w')
for item in ls:
f.write( ','.join(item) + '\n')
f.close()

関数は複数の return を持つことができますが、最初の return まで実行すると、関数は確実に終了し、次の return は実行されません。return は関数名を再帰的に呼び出すこともできます。 注: スロットがある限り、関数は
使用される format 関数は、いくつかの値を表現します。
各メソッドと関数の正確な使用法を理解するには、文字列、リスト、辞書、およびその他の関連関数とメソッドを使用します
! 式が値を計算できる限り、Python は自動的に式の値を計算します。

この本の概要を読むときに注意する必要がある知識のポイントは次のとおりです。

ハッシュ値が存続期間中に変化しないオブジェクトはハッシュ可能と呼ばれます。これらのデータ構造は内部でハッシュ値を使用するため、ハッシュ可能性によりオブジェクトを辞書キーまたはコレクション メンバーとして使用できるようになります。

リストや辞書などの可変コンテナーはハッシュ可能ではありません。したがって、記事の冒頭の TypeError を振り返ると、辞書キーとして使用できるのはハッシュ可能なオブジェクトのみであることが簡単に説明できます。

同様に、記事冒頭のリスト a も集合メンバーとして使用することはできません
3 >= 1 ----- 真(または意味)
または非論理の戻り値は科学の論理を参照できます --- -- 1 または 3 — 1 1 および 3 ---- 3
反転演算では、符号ビットの反転を考慮する必要があり、結果が負の数になる可能性があります。
恒等演算子: is、not is で、2 つの識別子が参照しているかどうかを判断します。同じオブジェクト、つまり 2 つの識別子の内容は同じですか
? メンバーシップ演算子: in、not in

Python で input() が呼び出されるたびに、コンテンツの行が入力されます。入力コンテンツには数行があり、
Python インタプリタに dir (関連するデータ型のシンボル) を入力してこれらのデータ オブジェクトの組み込みメソッドを表示するには、複数の input() が必要です。例: dir([])
In Python、変数は Variable です。型はありません。その型は、変数が指すメモリ内のオブジェクトの型です。
注意してください。、ループがbreakステートメントによって終了した場合、ループに一致するelseステートメントは実行されず、elseステートメントはforステートメントが正常に実行された場合、またはwhileステートメントの条件がFalseの場合にのみ実行されます。

pass ステートメントは空のステートメントであり、主にプログラム構造の整合性を維持するためのものです。pass は何も行わず、通常はプレースホルダー ステートメントとして使用されます。
ユーザーがパラメーターの数を予測できない場合は、*args 型のパラメーターを使用できます。*args はタプル オブジェクトを表します。args は直接祖先オブジェクトの変数名です。**args は辞書オブジェクトを表します。パラメータの等号の左側がキー、右側が値です。args は直接辞書の変数名です。物体

Python での代入の本質は、オブジェクトへの参照を渡すことです。ある変数の値が別の変数に代入されるとき、その変数が指すメモリ空間アドレスが指定されている限り、両方の変数は同時に同じメモリ空間を指します。 2 つは変更されません (結合されたデータ型は値を変更します)。一方のオブジェクトの値が変更されると、他方も変更されます。同じメモリ空間を指すポインターの意味を深く理解しています。

注: 文字列操作の場合、スライスがステップ サイズを追加しない場合、インターセプトの特定の範囲を満たすために、正に増加し、逆に減少する必要があります。ステップ サイズがある場合、それは左からインターセプトされた値になり、右で終わりです。左から右か右から左かは正負の値で判断してください。最後の文字は x[-1] であることに注意してください。

Python 組み込み関数セット:
eval() 関数は、文字列式を実行し、式の値を返すために使用されます。

おすすめ

転載: blog.csdn.net/weixin_45702442/article/details/113922944