はじめに
初めまして!
エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事を書きました!
最終的には自在に開発できるようになりたいと思っています。
いろいろな記事を参考にさせてもらっています。
その中でもこれってどういう意味?とかつまづいたところを念入りに書いていこうかと思います。
今回の目的
前回の続きです。
使用したものや事前準備
・Macbook Pro
・Python
・Anaconda
・jupyter notebook
Python
関数とラムダ
関数
ダブルクォーテーションで囲ったところはDocになります。関数もオブジェクトです。
def add(x,y):
"""加算
add(2,4)は6を返す
"""
return x + y
add(2,4) # 6
Docとして記載されていることを確認します。
add?
ラムダ
単一行であれば記述可能です。
adder2 = lambda x, y: x + y
adder2(42, 10) # 52
ラムダを使ったソート条件
通常の昇順ソート
names = ['taro','jiro','saburo','shiro']
sorted(names) # ['jiro', 'saburo', 'shiro', 'taro']
ラムダを使ったソート(文字数の昇順)
names = ['taro','jiro','saburo','shiro']
sorted(names, key=lambda name: len(name)) # ['taro', 'jiro', 'shiro', 'saburo']
ラムダを使ったソート(文字数の降順)
リバース使用
sorted(names, key=lambda name: len(name),reverse=True) # ['saburo', 'shiro', 'taro', 'jiro']
モジュールとパッケージ
モジュール
pyファイル単位。下記記述で関数や変数へアクセスできるようになります。
import モジュール名
パッケージ
モジュールを格納しているディレクトリ。
_init_.pyは省略しない。
import パッケージ名.モジュール名
例:add関数をsample.pyに作成し呼び出し
import sample
sample.add(1,2) # 3
使える関数を改めて確認したい時
dir(sample)
クラス
オブジェクト指向としては必須ですが今回はそこまで深くならなかったので割愛。
下記はコンストラクタでValue(メンバ変数)を作成・引数の値で初期化し、addで加算結果を返却しています。
class MyInt:
'''Docstring for MyInt'''
def __init__(self, val): # コンストラクタ
self.value = val
def add(self, y): # 自分のインスタンスを引数に含めるため第一引数にselfは必須
"""加算
add(2,4)は6を返す
"""
return self.value + y # ex:2+4=6
num = MyInt(30)
num.add(2) # 32
例外処理
try文で対応します。上記の赤文字が例外エラー名、キャメルケースで表示されます。
下記、実行結果は"missing"になります。
names = ['taro','jiro','saburo','shiro']
try:
names.find('ichiro')
except AttributeError:
print("missing")
明示的な呼び出し方
raise AttributeError("missing") # AttributeErrorが呼び出されます。
続き