Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PythonBeginners沖縄 #32 / step4 / プログラミングはじめ

yasubei
February 04, 2023

PythonBeginners沖縄 #32 / step4 / プログラミングはじめ

PythonBeginners沖縄 #32 step4 の資料です。
Pythonの基本的な文法や言語仕様、標準入出力の方法などをサマリしています。どちらかというと1度一通り学んだ方がチートシートとして使うと良い資料です。

yasubei

February 04, 2023
Tweet

More Decks by yasubei

Other Decks in Programming

Transcript

  1. Pythonでプログラミングはじめ
    ちょっとまとめてみた

    View Slide

  2. 開始
    1. ⼊⼒
    2. 処理
    3. 出⼒
    終了
    1.⼊⼒
    2.処理
    3.出⼒
    プログラムの流れ
    データを受け取る
    表⽰する、保存する
    計算、加⼯など
    ざっくりイメージ

    View Slide

  3. 開始
    1. ⼊⼒
    2. 処理
    3. 出⼒
    終了
    ⼊⼒
    データを受け取る → input()を使う
    • ⽂字列
    • 数値
    1⾏に1つの値
    変数名 = input()
    変数名 = int(input())

    View Slide

  4. 開始
    1. ⼊⼒
    2. 処理
    3. 出⼒
    終了
    ⼊⼒
    • ⽂字列
    • 値の数だけ変数を⽤意する場合
    1⾏に複数の値(空⽩区切り)
    変数名1, 変数名2, 変数名3, … = input().split()
    • リストを利⽤する場合
    リスト名 = input().split()

    View Slide

  5. 開始
    1. ⼊⼒
    2. 処理
    3. 出⼒
    終了
    ⼊⼒
    • 整数
    • 値の数だけ変数を⽤意する場合
    1⾏に複数の値(空⽩区切り)
    変数名1, 変数名2, 変数名3, … = map(int, input().split())
    • リストを利⽤する場合
    リスト名 = list(map(int, input().split()))

    View Slide

  6. 開始
    1. ⼊⼒
    2. 処理
    3. 出⼒
    終了
    ⼊⼒
    • 浮動⼩数点数
    • 値の数だけ変数を⽤意する場合
    1⾏に複数の値(空⽩区切り)
    変数名1, 変数名2, 変数名3, … = map(float, input().split())
    • リストを利⽤する場合
    リスト名 = list(map(float, input().split()))

    View Slide

  7. 開始
    1. ⼊⼒
    2. 処理
    3. 出⼒
    終了
    処理
    • タスクによって異なる
    • 四則演算したり、アニメーションした
    り、if⽂で処理を分岐したり、for⽂で
    繰り返し処理をしたり….
    プログラムにさせたい処理を書く

    View Slide

  8. 開始
    1. ⼊⼒
    2. 処理
    3. 出⼒
    終了
    出⼒
    • 基本
    • ⽂字列を出⼒する
    print(“Hello World”)

    View Slide

  9. 開始
    1. ⼊⼒
    2. 処理
    3. 出⼒
    終了
    出⼒
    1.⾜し算
    変数を埋め込んだ出⼒
    print(“私の名前は” + name + ”です。” + str(age) + ”歳です。”)
    name = “花⼦”
    age = 20
    変数定義
    print(“私の名前は{}です。{}歳です。”.format(name, age))
    print(f“私の名前は{name}です。{age}歳です。”)
    2.format
    3.fstring
    以下の3種類の出⼒結果は全て同じです。

    View Slide

  10. Pythonの主な型
    型の種類 あつかう値 例
    str ⽂字列 “こんにちは!”
    int 整数 65536
    float 浮動⼩数点 3.1415926535
    bool ブーリアン(True/False) True
    list リスト [1, 1, 2, 2, 3, 3]
    set セット(集合) ["⾚","⻘","⻩"]
    tupple タプル(変更不可な配列) (1, 1, 2, 2, 3, 3)
    dictionary 辞書 {"カラー": "⾚", "値段": 100}

    View Slide

  11. 型変換
    1.型の確認 print(type(変数))
    2.str → int print(int(⽂字列))
    3.int → str print(str(整数値))
    4.str → float print(float(⽂字列))
    5.float → int print(int(浮動⼩数値))
    6.float → str print(str(浮動⼩数値))
    print(“{:.2f}”.format(浮動⼩数値)) • 桁数の指定は前述のformatやfstringを使
    いましょう

    View Slide

  12. 算術演算⼦
    演算 演算⼦ 例 print(num)
    ⾜し算 + num = 5 + 5 10
    引き算 - num = 10 - 8 2
    かけ算 * num = 2 * 3 6
    割り算 / num = 10 / 3 3.3333333
    割り算の商 // num = 10 // 3 3
    割り算の余り % num = 10 % 3 1
    べき乗 ** num = 2 ** 3 8
    割り算を使いこなそう
    • / で計算した値はfloat型
    • // で計算した値はint型
    • % で余りを求める処理は、プログラムではよく使うので使い⽅を覚えましょう

    View Slide

  13. if⽂
    if⽂とは?
    • if⽂は英⽂の通り「もし 〜 なら○○を実⾏」といった記述で条件に応じて処理を実⾏する構⽂です。
    • 条件⽂は必ずBool値(true / false) で記述します。
    if 条件⽂:
    条件がtrueの場合の処理
    条件が1つの場合
    if 条件⽂:
    条件がtrueの場合の処理
    else:
    条件がfalseの場合の処理
    if⽂
    • 条件に応じて処理を実⾏するにはif⽂を使います。
    if - else⽂
    • 条件に合わない場合の処理も⾏うには
    if - else⽂を使います。

    View Slide

  14. if⽂・複数条件
    複数の条件で分岐したい場合
    if 条件⽂1:
    条件1がtrueの場合の処理
    elif 条件⽂2:
    条件1がfalse、条件2がtrueの場合の処理
    elif 条件⽂3:
    条件1〜2がfalse、条件3がtrueの場合の処理
    elif 条件⽂4:
    条件1〜3がfalse、条件4がtrueの場合の処理


    else:
    すべての条件がfalseの場合の処理
    if – elif – else⽂
    • 3つ以上条件に応じて処理を実⾏したい場
    合はif-elif-else⽂を使います。
    • 上から順に条件がtrueかどうかが確認され、
    trueになる条件の処理かelseの処理が実⾏さ
    れる。
    • 複数trueになる場合でも、1番最初にtrueに
    なる処理のみが実⾏される。

    View Slide

  15. 条件⽂の書き⽅
    ⽐較演算⼦
    a == b # a と b が等しい
    a != b # a と b が異なる
    a < b # a が b よりも小さい
    a > b # a が b よりも大きい
    a <= b # a が b 以下である
    a >= b # a が b 以上である
    a is b # a が b と等しい
    a is not b # a が b と異なる
    a in b # a が b に含まれる
    a not in b # a が b に含まれない
    ブール演算⼦(and, or, not)
    A and B # 条件Aかつ条件B
    A or B # 条件Aまたは条件B
    not A # 条件AがFalseならTrue

    View Slide

  16. 三項演算⼦
    構⽂ 条件がtrueの時の値 if 条件文 else Falseの時の値
    • if⽂で1つの値が欲しい時に使⽤可能で、通常のif⽂よりも1⾏で短くまとめられる。
    例) numが10以下かどうかのif⽂ VS 三項演算⼦
    if num <= 10:
    print(“numは10以下”)
    else:
    print(“numは10より⼤きい”)
    print(“numは10以下” if num <= 10 else “numは10より⼤きい”)
    if - else⽂
    • 通常のif⽂はこんな感じです。
    三項演算⼦
    • 1⾏で書けます。

    View Slide

  17. list(基本)
    要素の初期化 colors = ["赤","白","黄","赤","白","黄"]
    • Listの使い⽅1
    要素の参照 print(colors[3]) # 赤
    要素の追加1 colors.append("紫") # 赤白黄赤白黄紫
    要素の追加2 colors += ["黒","赤"] # 赤白黄赤白黄紫黒赤
    要素の削除1 colors.pop(2) # 赤白赤白黄紫黒赤
    要素の削除2 del colors[1:4] # 赤黄紫黒赤
    要素の削除3 colors.remove("赤") # 黄紫黒赤
    • 中括弧 [ ] にカンマ区切りで初期化
    します。
    • インデックスを指定して取り出し
    ます。
    • appendで要素を追加。
    • +=でlistを結合。
    • popでインデックスを指定して要
    素を削除。
    • delで範囲を指定して削除。
    • removeで値を指定して要素を削除。
    • 複数の時は前の⽅から削除

    View Slide

  18. list (特殊な作り⽅・スライス)
    空のリスト empty_list = [ ]
    • Listの使い⽅2
    range()で作る range_list = list(range(5)) # 0,1,2,3,4
    スライス1 range_list[3:] # 3,4
    スライス2 range_list[:2] # 0,1
    スライス3 range_list[1:3] # 1,2
    スライス4 range_list[:] # 0,1,2,3,4
    • [ ] で空のリストを作成。
    • 0〜4までのリストを作成。
    • 抽出開始位置を指定したスライス。
    • 抽出終了位置を指定したスライス。
    • 抽出開始位置、終了位置を指定し
    たスライス。
    • 何も指定しないスライス。

    View Slide

  19. list (スライス続き)
    • Listの使い⽅3
    スライス5 range_list[-3:] # 2,3,4
    スライス6 range_list[:-2] # 0,1,2
    スライス7 range_list[-3:-2] # 2
    スライス8 range_list[::2] # 0,2,4
    • マイナスを指定したスライス。後ろから
    数えて3番⽬以降を抽出
    • 後ろから数えて2番⽬までを抽出。
    • 両⽅指定することも可能。
    • Stepを使⽤したスライス。先頭から2つ
    ずつ間隔を空けて取り出す
    スライス9 range_list[-3::2] # 2,4
    • Stepと抽出位置を組み合わせることも可
    能。

    View Slide

  20. 組み込み関数
    • いっぱいありますが、まずこの3つを覚えましょう
    min() print(min([30,70,50,90])) # 30
    max() print(max([30,70,50,90])) # 90
    • 最⼩値を返します。
    • 最⼤値を返します。
    sum() print(sum([30,70,50,90])) # 240 • 合計値を返します。

    View Slide

  21. ⽂字列のメソッド
    メソッド 処理 使用例
    upper() ⼤⽂字に変換 "Apple iPhoneとGoogle Android" → "APPLE IPHONEとGOOGLE ANDROID"
    lower() ⼩⽂字に変換 "Apple iPhoneとGoogle Android" → "apple iphoneとgoogle android"
    capitalize() ⽂章の先頭を⼤⽂字に変換 "may the force be with you!" → "May the force be with you!"
    title() 単語の先頭を⼤⽂字に変換 "may the force be with you!" → "May The Force Be With You!"
    count() ⽂字列中に特定の⽂字列が含まれる個数を返す "apple pie".count("p") → 3
    find() ⽂字が⾒つかった最初の位置を返す "apple pie".count("e") → 4
    rfind() ⽂字を後ろから検索し、⾒つかった最初の位置を返す "apple pie".count("e") → 8
    replace() ⽂字列を置換する "employee".replace("e","x") → "xmployxx"
    strip() ⽂字列の前後にある空⾏と改⾏コードを取り除く " hello ¥n".strip() → "hello"
    rstrip() 末尾にある特定⽂字を取り除く "2, 3, 4,¥n".strip() → "2, 3, 4"
    format() ⽂字列に値を埋め込む(format) "チューリップは{}と{}と{}でした。".format("⾚","⻘","⻩⾊") → 'チューリップは⾚と⻘と⻩⾊でした。'
    fstring ⽂字列に値を埋め込む(fstring) name="⾼橋"; age="23" f"{name}選⼿、年齢{age}" → '⾼橋選⼿、年齢23'
    • いっぱいありますので、丸暗記せずに⼀覧としてご使⽤ください

    View Slide

  22. おわり
    ちょっとまとめてみた

    View Slide