0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Python未経験者が業務で調べたことまとめ

0
Posted at

はじめに

python未経験ですが、業務でpythonを使ったAPIを追加開発することになりました。
今後の備忘録として、調べた内容を軽くまとめておこうと思います。

list

他の言語で言うところの配列(だと解釈してます。)

isinstance()

型のチェックを行う際に利用しました。

基本の形

isinstance(型を調べたいデータ, 型)

isinstance("apple", str) #True
isinstance("apple", int) #False

isdigit()

対象文字列の中身が数値かどうかチェックする際に利用しました。

基本の形

文字列.isdigit()

"123".isdigit()     # True
"123a".isdigit()    # False

items()

for文の記述する際に利用しました。

fruits = {"apple": 100, "banana": 200}

for key, value in fruits.items():
    print(key, value)

# apple 100
# banana 200

strptime()

文字列をdatetime型に変換したいときに利用しました。

基本の形

datetime.strptime(文字列, フォーマット)

date_str = "2025-03-28"
dt = datetime.strptime(date_str, "%Y-%m-%d") # 2025-03-28 00:00:00

strftime()

datetime型を文字列に変換したいときに利用しました。

基本の形

datetimeオブジェクト.strftime(フォーマット)

date_str = "2025-03-28"
dt = datetime.strptime(date_str, "%Y-%m-%d") # 2025-03-28 00:00:00

lambda(無名関数)

ここの日本語修正

わざわざ関数化して定義するほど処理が長い、複雑ではないが、関数化して利用したいときに使いました。

基本の形

lambda 引数: 戻り値

次は通常の関数で書いた場合と比較する形で

通常の関数

def add(x, y):
    return x + y

lambdaでの記述

add = lambda x, y: x + y

json.loads()

JSON文字列を辞書型に変換するメソッドになります。
利用する意図は、pythonだとJSON文字列を扱うことが難しい(if文やfor文が書けない)ので、ptyhonで扱いやすいデータ型に変換するとよい

基本の形

json.loads("JSON文字列")
response_json = '{"name": "田中太郎", "age": 28}'

# JSON文字列 → Python辞書に変換
data = json.loads(response_json)

※JSON文字列内で重複しているキーは辞書型に変換された際に、後勝ちで上書きされます。
辞書型の仕様みたいです。
重複キーを上書きにしたくない場合、

object_pairs_hook

json.loadsのオプション引数です。
JSON形式の文字列を辞書型へ変換する前に、処理をしたい関数を引数に指定することができます。
重複キーをログ出力したいときに利用しました。

基本の形

json.loads("JSON文字列", object_pairs_hook=関数名)

import json

def detect_duplicate_keys(pairs):
    keys = [key for key, value in pairs]
    for key in keys:
        if keys.count(key) > 1:
            print(f"重複キー検出: {key}")
    return dict(pairs)

response_json = '{"name": "田中太郎", "name": "佐藤花子", "age": 28}'
# JSON文字列 → Python辞書に変換(重複キーをログ出力)
data = json.loads(response_json, object_pairs_hook=detect_duplicate_keys)

値の比較

こういった比較を行いたい場合

x > 0 and x < 10

pythonだと数式のようにまとめて書くことができます。

0 < x < 10

おわりに

全部書こうとしたら途中でモチベがなくなってしまいました。。。
全部じゃなくていいから、記事を書いた、という完了主義でいきたい。。。

あとobject_pairs_hookですが、結構内部処理が複雑でした。
AIやデバッグを利用して分析しましたが、python未経験者が足を踏み入れるには敷居が高かったです。

参考資料

値の比較
https://docs.python.org/ja/3/reference/expressions.html#comparisons

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?