こんにちは!
最近、Raspberry Pi 3 Model Bを購入して遊んでいるPeaceJetです。
ただ、Linuxを触ったことがないので勉強しながらです(・_・;)
これまで、Windowsしか使ってこなくて、途中でMacBookとか買ってみたんですけど。
肌に合わなくて、売っちゃったりして。
でも、今更ながら少し後悔している部分もあります。
持っていれば、Unix勉強できたかなぁなんて。
ただ、一筋の光が見えたのはBash on Ubuntu for Windows10
なにやら、カチカチやっております。
最近、Python3をやっていて気がついた部分がありましたので、メモを・・・。
pythonにはswich文が存在しない
def func1(): print("exec 1") def func2(): print("exec 2") # Method 1 for case in [1,2]: if case == 1: func1() elif case == 2: func2() # Method 2 for case in [1,2]: { 1: func1, 2: func2 }[case]()
if文の条件式は、Bool型へ変換される
たとえば、「0(ゼロ)」や空リストなど無に相当するものが評価されるとFalseが返されます。
if '': print('今日は雪です') if 1: print('今日はユキです') >>> 今日はユキです
一文で書くことが出来るのも魅力
# [評価が正当な場合の値] if [条件] else [評価が不当な場合] 10 if True else 0 >>> 10 for e in [1,2]: print(e) ... 1 2 >>> #lambda >>>c = lambda e : print("hello " + e) >>>c('world') hello world >>>
イテレーションなど
# インデックスつきで、要素を得ることが出来ます。 for i, elem in enumerate(['a','b','c']): print('%s: %s' %(i, elem)) 0: a 1: b 2: c # list1,list2を同時にループ list1 = [1, 2, 3] list2 = [4, 5, 6] for (a, b) in zip(list1, list2): print(a, b) 1 4 2 5 # イテレーター # リストの要素を出し切ったら、例外が発生する。 users = iter(['Alice','Bob','Carol']) try: while True: print(next(users)) except StopIteration: print('例外が発生しました。') # トリッキーなやつ a = (print(x) for x in range(5)) b = lambda *c: print("finished") b(*a) ... 1 2 3 4 finished
P.S.
RaspberryPiは結構、魅力的なんですよね。
「何かできそう! だけど、どう活用しようかな?」
これを解決することが、今の課題です。
ビジネスの場では時間が大切ですから「ハッキリ見えてから使おう」なんですが、趣味ですからね。
もっと、知識があって出来る人と交流とかしたら楽しいのかも。