ネットワークエンジニアで高きを目指せ(サイバージャヤ、マレーシア)

世界を股にかけて転職する男(マレーシア<ー>ベトナム)

:月額1000円、動画の量が豊富なのが魅力。どんなにプログラミングのモチベーションが下がっても戻ってこれるのはドットインストールのおかげ。作る楽しみはここが教えてくれる!
月額料金980円オブジェクト、クラス、メソッド等基本的なことを学べる。おそらく多くのエンジニア志望者はこれから始めると思われる。
:月額1078円とても詳しく説明してくれるがJavascriptを学ぶ講座は少ない。ドットインストール、Progateに続いてやっていいサイトだと思う。
location location location location location location location location location location location location location location location location location location location location

Python学んでSDNやるぞー

お題「#おうち時間

またもやお題はおうち時間。慣れるも何ももはや日常と化してしまった。

そして日常化しなければ食っていけない現状をどうしろと?

 

Python学んでSDNやるぞー

Python2日目。

今日(6月1日)もノリノリでpythonをやっています。

気づいたんですが、一応ぼかぁね、JavaScript1月くらいから4月くらいまでは真面目にやってきたんですよ。でもね、自分のモチベーションに勝てなくなっちまったんです!

そこでpythonってわけですよ。いやー新鮮新鮮。まるで一番最初にJavaScriptやり始めたころの気分ね。

そもそもね、時代は自動化っすよ。

ネットワークの分野すら自動化なんすよ。

そもそもなぜPythonがネットワークの分野で必要って、ネットワークを動かすソフトウェアであるSDN(Software Defined Network)がPythonで動いているらしいんすよ。

私がよく使っているSDNのケースだとセキュリティ系ですね。

自分の会社が使っている製品のことは言えないのですが例えば下記のような製品です。

prtimes.jp

この記事を読んでいただければわかります通り、ネットワークの遮断と自動化がテーマになっています。ウイルスに引っかかった→自動で端末隔離って感じかな。

このSDN ControllerもPython3.3以上を求めています。

 

普通はSDNというと、「ウイルスに引っかかっちゃった。大変だコードを抜かなきゃ!でも本当に抜いていいのかな?」とかそういう疑問も、専門家がマニュアルを見ながら遠隔操作で端末を隔離します。それどころか、検体を収集したり、マジでやばいマルウェアなのかの判断も遠隔でできます。

 

もうエンジニアが現場に直接行くなんてことはなくなりつつあるんですね。まあ、どうしてもコードの抜き差しが必要なことはあるので、現場に全くいかなくなるなんてことはないけどね。

 

ってことで、今日もPythonやるかー。俺まだ関数の作り方すらわかんねーよ。

JavaScriptでは関数を作るのは以下のやり方でした。

function back(){
        document.write("to the future")
    }
    
back();

関数backを使って、to the futureを表示する関数です。

 

function 関数名(){

ーーー処理する内容---

}

ところが、pythonはどうも以下のやり方のようです。

 

def 関数名():

ーーー処理する内容---

めっちゃシンプル。っで実際パイソンのサイトのコンソールで試してみた。

www.python.org

f:id:tsuyunaruhito:20200601154352p:plain

 実は何度やってもエラーが出ました。

思ったね。こりゃ俺python終わったなっと。

でもね、ほかのサイトのやつコピペするときちんと動作するんよ。なんでなんやろー

っと気づいたね。

f:id:tsuyunaruhito:20200601155023p:plain

なんだあの間は?そうなんかもう一回クリック押してから関数を呼び出す必要があった模様。

f:id:tsuyunaruhito:20200601155126p:plain

動かせました。Progateだと普通になんの隙間なくても動くんすけどね。

JavaScript python

function 関数名(){

ーーー処理する内容---

}

def 関数名():

ーーー処理する内容---

}

function back(){
document.write("to the future")
    }
back();
>>> def movie():
...     print("die hard")
... 
>>> movie()
die hard

 

引数の初期値ってなんぞや。

PythonProgateでやっててであった引数の初期値、なんやこれしらんぞ・・・

インターネットで調べてみるとJavaScriptでも立派に存在していた。

  function T_800(a,b){
        document.write(`${a} is more beautiful than ${b}`)
        document.write("<br>")
    }
    T_800("yoko","john");
    T_800("ringo");

 こちら実行した場合、a,bに引数としてyoko,johnが引き渡され、きちんと以下が表示される。

yoko is more beautiful than john

しかし、2回目の場合ringoは渡されるが、bに当てはまるものがないのでundefinedとなる。
ringo is more beautiful than undefined

そこで、引数の初期値を設定してあげる。

    function T_850(a="Harrison",b="paul"){
        document.write(`${a} is more beautiful than ${b}`);
        document.write("<br>");
    }
    T_850("yoko","john");
    T_850("ringo");

 この結果は以下の通り。

yoko is more beautiful than john
ringo is more beautiful than paul

 

はい、ここまでJavaScriptです。Pythonの場合もほぼ同じ書き方でした。安心した。

>>> def rain(a,b):
...     print(a+b)
... 
>>> rain(2,3)
 

結果は2+3の5.

今度は関数rainの引数の中身を一つ抜いて、rainを読み込んでみました。

>>> rain(2)
Traceback (most recent call last):
  File "<stdin>"line 1in <module>
TypeErrorrain() missing 1 required positional argument'b'

はい、無事怒られました。

そこで、引数の初期値を設定してやると。。。。

>>> def rain(a,b=6):
...     print(a+b)
... 
>>> rain(2)
8
>>>

無事、2+初期値の6が代入され実行できました。

 

たぶん私の記憶が正しければProgateJavaScript編では引数の初期値の設定はやってない気がする(あったらすみません)。まあここで言いたいのは、別の言語もやってみることで、ほかの言語でもこの機能あるのかなーみたいな疑問は生まれてくれて、復習であれば、新しい機能であれ学ぶことがありそうです。

 

今日はPythonの目標も設定できたしメデタシメデタシ。

 

最近の私の記事は以下の通りです。

interier.hatenablog.com

interier.hatenablog.com

interier.hatenablog.com

 

 

 #######################

ツイッターでフォローをあまりしなくなったら人数が増えなくなっちゃいました。

現在904名です。1000名まで・・・・もういいか。

 

今後とも応援よろしくお願い致します。 

↓↓↓↓↓

 

  

読者登録をしていただけると大変助かります。

 
 本サイトが参考になったらクリックをお願いします。

にほんブログ村 海外生活ブログへ
にほんブログ村

//////////////////////////////


人気ブログランキング