マインドマップギャラリー Pythonプログラミング言語
編成された文字列 str、リスト タプル、タプル コレクション セット、辞書 dic、ファイルなど。大学院入学試験中のため、現在更新を停止しております。
2024-03-29 17:34:46 に編集されました
バイトを再コード化する エンコード方式の違いによる文字化け問題を解決
str.encode(エンコード方式)
#Encoding、戻り値の型はバイトです
バイト = b'xxxx'
b'\xb3\xcc\xbd\xdc'
#\x: 1バイト
デコード(エンコード方式)
#デコード
辞書辞書
ディクショナリ: データをキーと値のペアの形式で保存します キーはハッシュ可能なデータ型である必要があります
dic = {キー1: 値1, キー2: 値2}
dic = dic()
dic = {1: ['chengJie', 'zhuLuLu', 'zhuXiangXiang'], 'First': ['first'], ('chengJie', 'zhuLuLu', 'zhuXiangXiang'): 1}
チェンジエ = { "名前": "チェンジエ", 「年齢」:25歳、 「アシスタント」: [{ "名前": "引き受けます", 「年齢」:20歳 }、{ "名前": "アイリーン", 「年齢」:18歳 }、{ "名前": "愛し利", 「年齢」:19歳 }] }
dic[1] = "トム"
キーを繰り返すと値が上書きされ、これは値を変更することと同じです。
get()/dic[1]
setdefault(キー,値)
#デフォルト値を設定します。キーが存在する場合は機能しません
ポップ(キー)
#キーに基づいて削除
追加、削除、変更、確認
キー()
#すべてのキーを取得する
値()
#すべての値を取得する
アイテム()
#すべてのキー値を取得し、タプルとして取得します
循環辞書の削除はエラーになるので準備が必要
温度 = []
リストリスト タプル タプル セットセット
リスト
リスト = [1,2,3,4,5]
特性: 1. 文字列のようなインデックス付けとスライス 2. インデックスが範囲を超える場合、エラーが報告されます。 3. for ループを使用してトラバースすることができます
インデックス作成とスライス
最初[3]
0から始まり、-1から逆算して
最初[:3]
[始まりと終わり) 左から右にカット
lst[::-1]
歩幅 -右から左へ
追加、削除、変更、確認
追加(データ)
最後に追加
insert (インデックス位置、データ)
増加
ポップ(インデックス)
削除、削除された要素を返します
削除(データ)
要素を削除する
消去
クエリを変更するには、インデックスを直接使用することも、トラバーサルを使用してクエリを実行することもできます。
選別
リストは保存されたデータに従って最初に保存されます
並べ替え(逆=True/False)
リストの入れ子
最初[1][0][2]
リスト循環削除
直接削除すると、削除が不完全になる可能性があります。
ループを削除する安全な方法: 削除するコンテンツを新しいリストに保存し、新しいリストを編集して古いリストを削除します
タプル
タプル = (1,2,3,4,5)
タプル = タプル()
追加、削除、変更はできません
問い合わせ可能
脱構築: 変数の数はデータの量と一致します
a,b = (1,2)
a、b = b、a
交換
セット
順序付けされておらず、反復不可能な保存データをハッシュ化できる
追加(データ)
ポップ()
どれか一つでも削除
削除(データ)
変更は最初に削除してから追加する必要があります。
交差点と交差点 組合 | 差分セット - 差分
リスト(セット(リスト))
変換を使用してリストから重複を削除できます
文字列 str
フォーマット: 文字列挿入変数
"Placeholder"% (プレースホルダー変数名)
プレースホルダー: %s 文字列プレースホルダー %d 整数プレースホルダー %f 10 進数のプレースホルダー
「名前を入力してください: {}」.format (変数)
f「名前を入力してください: {変数名}」
Fストリング
インデックス作成とスライス
str[3]
0から始まり、-1から逆算して
str[:3]
[始まりと終わり) 左から右にカット
str[::-1]
歩幅 -右から左へ
大文字と小文字の変換
大文字化()
タイトル()
最初の文字を大文字にする
より低い()
すべて小文字
アッパー()
すべて大文字
置き換えて、切って、組み合わせて
ストリップ()
左右の空白文字 (スペース、\t、 ) を削除します。
交換(古い、新しい)
スプリット(何を切るか)
結合(リスト)
リストとこの文字列を結合します
見つけて判断する
探す()
なしの場合は -1 を返します
索引()
エラーはみつかりません
入っている/入っていない
で始まる()/終わる()
レン()
文字列の長さ
は数字()
整数ですか?
空白
改行文字
2. 基礎知識
コメント ショートカットキー:Ctrl /
# 一行コメント 「複数行のコメント」 """複数行のコメント"""
変数 データの種類
変数
変数: 異なるデータを区別するためのメモリ空間を指します。 変数名の命名規則: 1. 文字、数字、アンダースコアで構成される 2. 数字で始めることはできません 3. キーワードを使用しないでください 4. 長すぎず、中国語ではない 6. 有意義であること 7. 下線付きの命名とキャメルケースでの命名が推奨されます。例: cheng_jie、chengJie。 8. 定数文字は大文字にします (Python には絶対定数がありません)
cheng_jie = "チェンジエ"
データ型 (異なるデータを区別):
type(): ビューのデータ型
int float bool
整数
1
float 浮動小数点数
10進数表現におけるコンピュータエラー
1.0
bool ブール値
0 は false、空の文字列は false つまり、空を意味するものはすべて偽です。
トゥルーフレア
str
文字列 '1' "2" ''3'' 三重引用符
動作(異なるデータ型間の接続は不可) 文字列の連結演算、加算 * 文字列の繰り返し、乗算
元の文字列は影響を受けません
リスト
リスト: データ型の制限なしで、大量のデータを保存するために使用されます。
[1,2,3]
タプル
タプル、不変リスト
要素は 1 つだけなので、最後にカンマを追加する必要があります。
メモリアドレスは変更できません
(1,2.3)
セット
セット、順序なし、反復不可のデータ要件はハッシュ化可能 (不変のデータ型はハッシュ化可能、int、float、bool、str、tuple 可能)
インデックスもスライスもありません
{1,2,3}
セット()
空のコレクションは、直接、辞書のデータ型に属します。
セット[0]
辞書
ディクショナリ: データをキーと値のペアの形式で保存します
{キー1:値1、キー2:値2}
辞書[キー]
バイト
なし
空っぽ、何もない 辞書に何も載っていない場合の対処法
型変換 str = str(int)
キーワード オペレーター
キーワード
条件の場合: コードブロック エリフ条件: コードブロック それ以外: コードブロック
条件判定 if 文 1.次の場合にのみ使用できます 2. ネスト可能
コードブロックの 4 つのスペース (タブ) インデント 条件が満たされた場合にコードを実行する
一方の条件: コードブロック
主に無限ループに使用されます
反復可能データ内の変数の場合: コードブロック
多目的
宣華指数
ループ要素
壊す
エンドループ
続く
このループコードを終了します
ループ文
合格
空のコード ブロック プレースホルダー
オペレーター
算術演算
- * / % // ** (力)
比較演算
> >= < <= == !=
代入演算
= = -= ...
a=a b a = b
論理演算
ではなく、または
優先度順に並べ替える
メンバーの操作
で
関数
プリント()
印刷結果
入力()
入力 (デフォルトは文字列型)
範囲()
インデックスソート
親切
ファイルと例外
テストコード
1. はじめに
特徴
高レベルのオブジェクト指向インタープリター言語。 シンプルでオープンソースなので、簡単に始めることができます。クロスプラットフォームで使用できます。 Web開発、ビッグデータ、人工知能、自動化などには完全なフレームワークがあります。
走行速度が遅く、中国語の情報が不足している
通訳者: コードを機械語に変換するプログラム
バージョン
パイソン3
Python3.12.0
オペレーティング システムに応じて、Python 公式 Web サイトからインタープリター インストール パッケージをダウンロードします。
インストールパスを環境変数に忘れずに追加してください
インタラクティブモード: 1 つの質問と 1 つの答え
パイソンシェル
アイドル
ファイルモード
ノート
Pythonプロジェクト
.py
Pythonファイル
埋め込む
Python Python ファイル
IDE: 統合開発環境、コードの作成
vscode 小さい jupyter ノートブックのステップバイステップ実行プログラム
荘厳な
パイチャーム
JetBrains公式サイトからプラットフォームを超えて利用できる統合開発環境をダウンロード
プロフェッショナルバージョンは強力であり、クラックされる可能性があります
書類
1. ファイルを取得します
file = open(ファイルパス、モード=""、エンコード="")
相対パス (より頻繁に使用されます)
同じフォルダー内のファイルを直接検索できます
前のフォルダーに戻る
../
file.close() #終了後は忘れずにファイルを閉じてください
open(ファイルパス, mode="", encode="") を file1 として使用し、\ open(file path, mode="", encode="") as file2: #操作が完了するとファイルは自動的に閉じられます。\は1行を表します
ファイルを読み取る
read() はすべてを読み取ります readline() は行ごとに読み取ります readlines() はすべてを読み取り、リストに追加します。 ファイル内の行の場合: print(line.strip())
ファイルを書き込む
書く()
ファイルの変更 (元のファイルを削除し、コピーしたファイルを元のファイル名に変更します)
#4. ファイルの変更 OSをインポートする open("Try it.txt"、mode="r"、encoding="utf-8") を file1 として、\ open("試してみる - copy.txt"、mode="w"、encoding="utf-8") as file2: file1 の行: line = line.strip().replace("あなた", "あなた") 印刷(行) file2.write(行) file2.write(" ") os.remove("試してみる.txt") os.rename("試してみる - copy.txt", "試してみる.txt")
3. 関数型プログラミング 関数: 定義された関数を通じて直接呼び出せるように、特定のコード ブロック (関数) をパッケージ化します。
関数を定義する
def関数名(パラメータ、パラメータ=デフォルト値): 関数本体
def print(self, *args, sep=' ', end=' ', file=None): 合格
パラメータ: 関数が呼び出されたときに、関数に情報を渡します。
仮パラメータ: 情報を受け取る変数
1. 位置パラメータ。位置に応じて変数を宣言します。 2. デフォルト値パラメータ。実際のパラメータが情報を渡さない場合、デフォルト値が変数に与えられます。 位置パラメータ > デフォルト値パラメータ 3. 動的パラメータ *args は、すべての位置パラメータの動的パラメータを受け取り、データをタプルに転送します。 **kwargs は、すべてのキーワード パラメータの動的パラメータを受け取り、データを辞書に転送します。 位置引数 > *args > デフォルト値引数 > **kwargs
引数: 実際の呼び出し中に実際に渡される情報が対応する動的パラメータではない場合、呼び出されたときに仮パラメータにはデータが必要です。
1. 位置パラメータは、位置に応じてパラメータが渡されます。 2. キーワードパラメータ、パラメータは変数名に従って渡されます。 3. パラメータを組み合わせます。位置パラメータは前に配置され、キーワード パラメータは後ろに配置されます。 * リストを分割する ** 辞書を壊す
戻り値
戻る
1. return と return None を書くだけです 2. 戻り値 3. 値 1、値 2、... を返します。
関数の呼び出し
関数名(パラメータ、パラメータ)
print("チェンジエ", "cj", sep="|")
関数型プログラミングのアプリケーション
関数の入れ子
1.関数を戻り値として返すことができる 2. 関数はパラメータとして渡すことができます 3. 関数名は実際にはメモリアドレスを表す変数名であり、割り当てることができます。
スコープ(グローバル変数、ローカル変数)
関数はグローバル変数を変更できます
def func(): a=12 def inner(): 非ローカル a = 1 返す インナーを返す ret = 関数() 印刷(再) va = ret() 印刷(va)
クロージャ: 基本的に、内部関数は外部関数のローカル変数を使用します。このとき、内部関数はクロージャ関数と呼ばれます。 1. 変数をメモリ内に常駐させることができます。 2. ローカル変数が変更されるのを防ぐことができます。
デフォルトラッパー(tar): def inner(*args, **kwargs): # プレファンクション print("関数前") ret = tar(*args, **kwargs) # ポスト関数 print("ポスト関数") リターンレット インナーを返す @wrapper # target =wrapper(target)と同等 デフォルトターゲット(): print("元の関数") 目標()
デコレータ: 本質的にはクロージャであり、元の関数呼び出しを変更せずに関数の前後に新しい関数を追加します。 パラメータの問題? 戻り値の問題? 複数のデコレータに関する問題。関数に最も近いデコレータが最初にデコレータされます。
イテレータ
反復可能なデータから個別のデータを 1 つずつ取得できます 偉業: 1. イテレータ自体は反復可能です 2. 前進することしかできず、繰り返すことはできません 3. メモリを節約する 4. 遅延メカニズム ()
イテレータの取得
イター(データ)
data.__iter__()
イテレータからデータを取得する
次へ(イテレータ)
iterator.__next__()
ite = list.__iter__() 一方 1: 試す: ite.__next__() StopIteration を除く 壊す
リスト内の項目の場合: ループ本体
forループの実装原理
発生器 本質は反復子であり、1 回限り使用されます
1 ジェネレーター機能
収率
効果: データを返すことができます (ジェネレーター) セグメント化された実行関数の内容は、__next__() を使用して次の降伏位置まで実行できます。 アドバンテージ: メモリを節約する
デフォルトの順序(): lst = [] 範囲 (1000) 内の i の場合: lst.append(f"服{i}") len(lst) == 50の場合: 最初の収量 lst = [] gen = オーダー() データ = gen.__next__() 印刷(データ) データ = gen.__next__() 印刷(データ) データ = gen.__next__() 印刷(データ)
2 ジェネレータ式
導出: コードを簡略化する リスト導出、集合導出{ループイフ判定用データ}、辞書導出{ループイフ判定用k:v}に分かれます。 ネストしすぎるなど、悪者扱いしないように注意してください
【ループイフダン判定用データ】
lst = [] range(10) 内の i の場合: lst.append(i)
lst = [i for i in range(10) if i % 2 == 0] 印刷(最初)
(ループイフダン判定用データ)
匿名関数 (関数名なし) ラムダ式
ラムダパラメータ: 戻り値
Pythonの組み込み関数
基本的なデータ型関連 (38)
数字関連 (14)
番号
塩基変換
手術
データ構造関連 (24)
反射関連 (4)
スコープ関連(2)
オブジェクト指向関連 (9)
イテレータ/ジェネレータ関連 (3)
その他 (12)
モジュールの紹介 インポートモジュール
追加ロードパッケージ
リクエスト
内蔵パッケージ
time と datetime は時間に関連しています
睡眠(睡眠時間.秒)
OS および SYS オペレーティング システム関連
削除("ファイル名")
ファイルの削除
rename("ファイル名", "ファイル名")
ファイル名の変更
Web開発ライブラリ
データ分析
データの取得と処理
爬虫類
ビデオクローリング
分析と視覚化を探索する
モデルの評価
分析モデリング
前処理理論
機械学習
テーマ
テーマ
健康情報データベース
テーマ
テーマ
学習方法がわかりませんか?
github オープンソース サンプル プロジェクト
以下に、いくつかの一般的な Python ライブラリの公式ドキュメントへのリンクを示します。 1.パンダ: https://pandas.pydata.org/docs/ 2. NumPy: https://numpy.org/doc/ 3. Matplotlib: https://matplotlib.org/3.5.2/users_guide/ 4.Scikit-learn: https://scikit-learn.org/stable/ 5. TensorFlow: https://www.tensorflow.org/ 6.PyTorch: https://pytorch.org/ 7. フラスコ: https://flask.palletsprojects.com/en/2.2.x/ 8. BeautifulSoup: https://www.crummy.com/software/BeautifulSoup/bs4/doc/ 9. OS: https://docs.python.org/3/library/os.html 10. システム: https://docs.python.org/3/library/sys.html 11.日時: https://docs.python.org/3/library/datetime.html
オンライン チュートリアル Bilibili