気ままに趣味旅行

面白いコト「拡がる/拡げる」

Pythonの文法は覚えたけど「じゃあこれで何ができるんだ?」と思っている人のための本ー天田士郎さん

どうも。

 

最近、私はPythonの勉強をしてまして、文法を覚えたはいいんですが、これでどうなるの?何ができるの?と正直思っていました。

ちょうどそんなタイトルの本がありましたので、内容をまとめていきたいと思います。特に意味はありませんが、書籍の章ごとにまとめていきます。ほとんど同内容ですが、必要な個所だけ抜き出していきますので、参考になりそうな箇所だけ拾い読みしてみてください。

 

1.文法のおさらい

  1. #ライブラリのインポート
  2. import calendar
  3. print(calendar. month( 2017, 7)) #標準出力はprint()

 

  1. #ライブラリのインポートその2
  2. from math import pi
  3. print(pi) #from句を使うとモジュール 名を省略可

 

  1. #変数宣言
  2. a = 1
  3. b = "hoge" # 文字列はダブル/シングルどちらのクォート でも可
  4. c = 'fuga'
  5. d = True #真偽値はTrue/ False
  6. e = None #いわゆる" null"

 

  1. #関数宣言
  2. def my_ fnc(val1, val2):
  3.     return val 1 + val 2

 

  1. #関数の呼び出し
  2. ret = my_ fnc( a, 999)

 

  1. #算術演算子
  2. a = a + 1 # a += 1の表記も可
  3. a = a - 1
  4. a = a * 1
  5. a = a / 1
  6. a = 7 % 3
  7. a = 2 ** 10 #累乗
  8. a = 3 // 2
  9. # a ++、 a-- これらの表記は不可

 

  1. # 比較演算子(以下の評価はすべてTrueになる)
  2. 100 == 100
  3. "hoge" != "fuga"
  4. 100 > 99
  5. 100 >= 100
  6. 99 < 100
  7. 100 <= 100
  8. "a" in "abcd"
  9. "z" not in "abcd"
  10. None is None #isはオブジェクト比較用の演算子
  11. "hoge" is not None #"not in"と"is not"なので要注意

 

  1. #論理演算子(以下の評価はすべてTrueになる)
  2. 2 > 1 and 2 >= 2
  3. 2 > 3 or 2 >= 2
  4. not 2 > 3

 

  1. #三項演算子
  2. "hoge" if 2 > 1 else "fuga" #(条件が真のときの値)
  3. if(条件) else(条件が偽のときの値)

 

  1. #最低限の文字列操作
  2. str= "hoge" + "fuga" #連結
  3. "ab, cd, ef". split(",") #指定した値での分割(List変換)
  4. len("abcd") #文字列長の取得
  5. "a" * 3 #指定しただけ結合
  6. "abcdef"[2] #cインデックス2の値を取得
  7. "abcdef"[2:4] #cdインデックス2から4の前(4-1)までの 値を取得
  8. "abcdef"[2:] #cdefインデックス2以降の値を取得
  9. "abcdef"[:5] #abcdeインデックス5より前(5-1)までの値 を取得

 

  1. #ヒアドキュメント
  2. """
  3. シングルクォートでも
  4. OKです
  5. """

 

  1. #raw文字列(見たままの内容で扱う文字列)
  2. r"\d+\s\n"
  3. r'\d+\s\n'

 

  1. #条件分岐
  2. val1 = 1
  3. val2 = 2
  4. if val1 == val2:
  5.     print(" hoge")
  6. elif val1 > val2:
  7.     print("fuga")
  8. else:
  9.     print("boo") #boo
  10. if 1 < val2 < 3:
  11.     print("foo") #foo
  12. val3 = 3
  13. if val3 == 1:
  14.     print("hoge")
  15. elif val3 in (2,3):
  16.     print("fuga") #fuga
  17. elif val3 in (3,4):
  18.     print(" boo")
  19. else:
  20.     print("piyo")

 

  1. #繰り返し
  2. val1 = 1
  3. while val1 < 3:
  4.     print( val1) #1、2と順に表示
  5.     val1 += 1
  6. for i in range(2):
  7.     print(i) #0、1と順に表示

 

  1. #リスト
  2. lst = ["hoge",10,True]
  3. print(lst[1]) #10
  4. lst[1] = 999
  5. print(lst[1]) #999

 

  1. #辞書
  2. dict = {"key1":"value1", "key2": "value2", "key3": 3}
  3. print(dict["key1"]) #value1
  4. dict["key1"] = "value4"
  5. print(dict["key1"]) #value4

 

  1. #タプル
  2. tuple1 = ("hoge", 999, False)
  3. print(tuple1[1]) #999
  4. #tuple1[0] = "boo" #これはNG(タプルは値の変更不可)

 

  1. #集合
  2. sets1 = {"hoge", 999, True}
  3. print(sets1) #{True,'hoge',999}
  4. #print(sets1[0]) #順番を持たないためこれはNG

 

  1. #クラス
  2. class Member:
  3.     LANG = "JP" #クラス変数
  4.     def __init__(self):
  5.         self.name = "" #コンストラク
  6.     def getName(self):
  7.         return self.name #ゲッタ
  8.     def setName(self, name):
  9.         self.name = name #セッタ
  10. taro = Member()
  11. taro.setName("太郎")
  12. print(taro.getName()) #太郎
  13. print(Member.LANG) #JP

 

  1. #エラーハンドリング
  2. try:
  3.     x = 10 / 0
  4. except Exception as e:
  5.     print(e) #division by zero
  6. else: 
  7.     print(" hoge") #例外が発生しなかった場合に行う処理
  8. finally:
  9.     print(" fuga") #例外発生有無に関係なく必ず走る処理#fuga
  10. try:
  11.     raise Exception("hoge")
  12. except Exception as e:
  13.     print(e) #hoge

 

  1. #pass
  2. def hogehoge():
  3.     pass #"pass"は「何もしない」ことを明示する

 

  1. #クロージャ
  2. def counter():
  3.     count=0
  4.     def inner_counter():
  5.         nonlocal count
  6.         count +=1
  7.         return count
  8.  
  9.     return inner_counter
  10.  
  11. cnt = counter()
  12. print(cnt()) #1
  13. print(cnt()) #2
  14. print(cnt()) #3

2.実行環境のおさらい

Pythonのプログラムを実行する3つの方法。

コマンドラインコマンドプロンプト)でpyファイルを実行する

インタラクティブシェルを使う

・公式サイト(https://www.python.org/)を使う

 

3.PyPIとpipコマンド

PyPIPythonパッケージを管理しているサービスです。pipコマンドでインストールできます。

 パッケージのインストール

pip3 install モジュール名

 パッケージのアンインストール

pip3 uninstall モジュール名

 パッケージの概要を参照

pip3 show モジュール名

 インストール済みモジュールの確認

 このコマンドを実行すると、インストール済みモジュールの一覧がコマンドラインに出力されます。

pip3 list

 警告を出したくない場合は"--format=legacy"とオプション指定すれば解決します。

pip3 list --format=legacy

 

 

今回はここまで。

次回に続きます。