Pythonにおける数字や文字列の論理演算

Pythonエンジニア認定基礎検定の勉強で、ネットで無料で受けられる模擬試験を受けた。
https://diver.diveintocode.jp/exam

その中でこんな問題↓があり、少し理解に苦しんだ。

orの論理演算の結果がなんで「suzuki」なんだろう・・・といろいろ調査したところ、

  • Pythonでは、数値や文字列の論理演算結果は、TrueやFalseが返されるのではなく、数値や文字列が返される
  • Pythonの論理演算では、必ずしも論理演算部分の最後まで検討されるのではなく、答えが確定すると残りの計算はせず、判断の決め手となった値を返す
  • 数値は0がFalse、0以外はTrueです。一方、文字列は空文字列(からもじれつ)はFalse、空文字列以外はTrueです

つまり、上記例題の場合、最初の”name1 or name2″の時点で、name2は空文字ではないので、Trueとが確定するので、name2のsuzukiが返されるということでした。

素人の私にとっては、使いどころがよくわからん言語仕様ですが、試験にでるので勉強がてら記事にしてみました!

 


Python 3 エンジニア認定基礎試験に合格した!

AI、ディープラーニングを勉強したく、データ分析のスタンダード?のプログラミング言語といわれるPythonの勉強を始めました。

Pythonには、2つの認定資格がある。

本来の目的は、データ分析試験の資格だがこちらはまだ実際には開催されておらず、仕方なく基礎試験にチャレンジしてみた。

結果は、、、無事合格!

合格ラインは70%なので、そこそこの余裕をもって合格できました。

勉強法、参考書について

参考書はこちらを利用しました。

  1. 実践力を身につける Pythonの教科書(https://amzn.to/2PeZYGV
  2. Pythonチュートリアル 第3版(https://amzn.to/2QleWaW

2が公式参考書ですが、オライリーで読みづらそうだったので、Python未経験の私は、1でサンプルコードを書きながら全体を学び2で仕上げた感じです。

「実践力を身につける Pythonの教科書」の参考書についての記事はこちら

過去問はありませんが、模擬テストが無料で何回でも受けられます。https://diver.diveintocode.jp/exam

この模擬試験とほぼ同じような問題も出題されました!

試験内容について

思ったより簡単でした。「Pythonチュートリアル 第3版」は、英語の本を直訳したものということもあり、非常に読みづらかったので、試験も難しいものかと思っていましたが、模擬試験と同じレベルで、こりゃ合格率高いだろうなという内容でした。

受験料

¥10,800

次なるチャレンジ

本来のデータ分析の資格が2019年夏ごろ開始なので、それに備えてこれから勉強しなきゃ!”φ(・ェ・o)~