ほげほげプログラミング

底辺エンジニアのチラ裏。

【Python】Python入門 文字列と数字の出力 #14

しばらくサボってました。
理由は、例のウイルスです。

職場が変わったり、テレワークになったりと
やばいぐらい毎日がワタワタとしております今日この頃。
早く収束してくれることを願っております。


今日は文字列と数字を出力したのをやっていく。
JavaScriptでは簡単にできたけど。
Pythonではそうは行かないらしい。
ではいこう。

【エラーになる】

f:id:r_ray:20200413004017p:plain

前回のテキストを流用。割と気に入ってる。

やりたいこと。
Print関数で文字と変数moji の文字と 変数count の数字を 文字列として出したいだけ。

でもエラーとなる
JavaScript では多分出力される。←確かめてない。

【なんで?】

どうやら、Pythonでは 文字 + 数値 の連結演算ができないっぽい。
まぁ文字列の演算の「+」と数字の「+」だと意味が異なるから無理ですと言われれば納得。
多分Python君も「どっちや?」ってなってるんやろうなーと解釈しとく。

JavaScript では”暗黙的型変換”というやつが働いてできるみたい。

この辺は正直説明がし難いし。
短くまとめれそうにないし、気になったら調べれくれ。

【じゃあどうする?→変換しよう】

ってこと。
数字を文字に変換すればいいのです。
文字を数字には出来んからね。いや。できるかも知れないけど。

f:id:r_ray:20200413005921p:plain

実行結果がこれ。

str() 関数を使って、数値を文字列に変換して出力する。

str()関数については調べれてはないです。時間があれば調べます。

以上。
もう少し練らないとなー。
毎日少ない時間で書き続けるのはキッツイ。

【Python】Python入門 文字列の演算子について 連結と繰り返し #13

週明けから大変なことになりそうな世間。

今日は、文字列の演算子について。
簡単なことだし、基本的なことだから省こうと思っていたが、
知らないこともあったのでメモ。

【連結 +】

これは知ってるし、書くまでもない

f:id:r_ray:20200407002202p:plain

文字列同士は + 記号で連結することができる。

次。

【繰り返し *】

こっちは知らなかった。

f:id:r_ray:20200407002812p:plain

文字列 * 回数 で
文字列を何回繰り返すか指定できる。

実行結果の例は
ワンが5回繰り返している。

print関数に値を複数渡してあげることで文章を作成。
復習をしっかりしていくスタイル。

今まで+しか使ったことなかったけど
こんなこともできるんだなーと
あまり使うことはないかも知れないが覚えておこう。

【Python】Python入門 文字列について #12

4月だというのに寒い。
寒いのは苦手。

今日は文字列について学習していく。
と言ってもそんなに難しくはない。
一部を除いては・・・

【目次】

【基本】

基本的に文字列を扱う場合は
””(ダブルクォート)
’’(シングルクォート)

で囲う必要がある

【実際に出力してみる】

f:id:r_ray:20200405203806p:plain

こんな感じでprint関数で出力する。
特段難しい訳ではない。

【あえてクォートを出力したい場合】

クォートで囲って出力する訳だけど
クォート込で出力したい場合はこう。

f:id:r_ray:20200405204128p:plain

シングルで囲った場合、ダブルクォートを使う
ダブルで囲った場合、シングルクォートを使う

って方法がある。

え?シングルで囲ってシングルクォートを出力したい場合?
もう一つの方法がある。
エスケープシーケンスだ。

エスケープシーケンス】

エスケープシーケンスとは?

エスケープシーケンス (escape sequence) とは、コンピュータシステムにおいて、通常の文字列では表せない特殊な文字や機能を、規定された特別な文字の並びにより表したもの。

エスケープシーケンス - Wikipedia

という物がある。Pythonでも扱える見たい。

こんな感じ。

f:id:r_ray:20200405204727p:plain

無茶苦茶わかりにくいが

\'  がエスケープシーケンスになる。
\' で囲ってるから シングルクォートも出力できるということ。

\' 以外にもたくさんエスケープシーケンスはある。
\" とか
よく聞くのは \n などの改行コードとかかな?

【まとめ】

  • 文字列を扱う時はシングルクォートで囲う。またはダブルクォートで囲う。
  • クォートを明示的に表示したい場合エスケープシーケンスや、囲うクォートを変更する。
  • 文字列内に表示出来ない物など(改行)はエスケープシーケンスで表示する。

うーん。
なんか基本的なことばかりで毎度更新するのは違う気がしてきた。最近。
わかるようになったこと。Pythonを始めたことで気がついたこととかをまとめるブログにしていこうと思う。。。
これじゃあ入門サイトと変わらん。。。

【Python】Python入門 print()関数について #11

10回を超えました。
毎日書くと言ったが疲れてたり、眠かったり、家のことだったりで書けてないのが現状。
10回も超えたし、もう少し。少しだけ内容をしっかり書いていきたい。休日限定だけかもしれないが。

今日は print関数 についてもう少し詳しくやっていきたいと思う。

【目次】

【おさらい】

今までは普通に数字を出していただけだった。

f:id:r_ray:20200405014151p:plain

こんな感じで。
文字を単発で出力するだけだった。
他にもいろいろな出力の仕方があるみたい。
なので今回は実際に試してみようと思う

【出力するタイミングで演算を行う】

これはすごく使われていると思う。
実際にはこんな感じ

f:id:r_ray:20200405015725p:plain

まぁよく見ますね。次。

【複数の値を出力する】

自分はこれあまり使わない
いつもprintを2~3つ書いてる気がする。

f:id:r_ray:20200405015822p:plain

こんな感じで。
変数を , で区切って複数書いている。
出力結果として
数値 数値 と半角スペース区切りで出力している。

もちろん 3つあったり。文字列があっても実行できた。

f:id:r_ray:20200405020258p:plain

ええやん。次。

【出力の区切りを決める sep】

上例だと半角スペースで区切ってたけど
別に半角スペースじゃなくすることもできるらしい。
ただ半角スペースがデフォルトってことだけ。

f:id:r_ray:20200405020828p:plain

とこんな感じ。
これは知らなかった。
小技感パネェ。。。

sepってのは Separatorって意味
書式はこう

sep="(区切り文字)"

【出力の行末を決める end】

なんと行末も決めれる。

f:id:r_ray:20200405021230p:plain

すごいテキストの例題のようなサンプルですこと。
これも知らなかった。

ちなみにデフォルトでは \n (改行)が入ってる見たい。

なので追加でprint出力すると。。。

f:id:r_ray:20200405021836p:plain

はい。改行がなくなったのでくっつきます。
もちろん改行を追加することも可能。

f:id:r_ray:20200405022810p:plain


書式はこう

end="(行末文字)"

【まとめ】

  • print出力する前に演算することができる。
  • print関数は複数の値を出力できる。
  • 区切り文字、行末は指定することができる。


以上。
多分基本的なことなんだろうけど改めて勉強になったなーと思った。
というか基本ができてないから勉強になったんだろうなーと。
はあー。頑張ろー。

【Python】Python入門 型(数値編-int,float) #10

世間は大変そうだが今宵も書いていく。
あえては触れない。

今日は型についてのメモ。
その型の数値編

【目次】

【型について】

pythonでは
[整数]、[浮動小数点]、[複素数] を扱うことができる。
[複素数]についてはまた今度まとめる。正直わからん。

・整数
整数は普段扱っている数値。−1などのマイナスも含む

浮動小数
浮動小数点は小数点が付いている値
1.5 など
マイナスも含む

  • 3.92 など

【型を調べる関数】

type()関数を使うと型が調べることができる。

【実行してみる】

f:id:r_ray:20200402010032p:plain

こんな感じ。
整数がint
浮動小数点がfloat
になります。

計算とかもについても書きたかったが眠気が。。。
また明日しよう。

【Python】Python コメントについて学習する #9

やっと一通り環境構築は終わったかと。

Anaconda入れてー
conda で仮想環境作ってー
Jupyter Lab 導入してー

まだまだ先は長そうな感じ。。。
目標である機械学習の「き」すら行ってないと思う。

効率は悪いがやっていこう。
というか手記なのだから。

今日からプログラミングに入る予定。
とりあえずコメントについて書いていこうと。
大事だからね。コメント。私はあんまり書かないです。。。だから底辺の底辺なのかもしれないです。

とりあえずいつものJupyterLabでやっていこうかと。

【目次】

【コメントの書き方は2パターン】

Python のコメントの書き方は2パターン
・#をつける方法
・””” ””” で囲う方法
の2パターン

【#をつける方法】

JupyterLabでまとめてみたけど
なんかいい感じ!MarkDownでリストも追加してみたけど中々ええ感じだと。

f:id:r_ray:20200401000555p:plain

#から後ろはコメントになる。
# hogeには10 ←コメントになる
hoge = 10
こんな感じ

プログラムを書いた後ろ側にも書ける
hoge = 10 # hogeには10 ←コメントになる
こんな感じ

【””” ””” で囲う方法】

f:id:r_ray:20200401003319p:plain

こんな感じ。
確か「ブロックコメント」とか言ってた気がする。
複数行に渡ってコメントが記述できる。

よく関数の説明とかに使われるよね。。。よね?

以上。

【まとめ】

  • 1行のコメントは#(シャープ)をつける
  • 複数行のコメントは””” 〜 ”””(ダブルコーテーションx3つ)で囲う


追記 2020/03/31
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

【追記 ブロックコメントについて】

ブロックコメントは
シングルクォーテーションx3つでも大丈夫そうです。

【Python】Jupyter Lab Notebookと触れ合ってみる MarkDown編 #8

休日にJupyter Labについて書きたかったけど。
正直寝てた。
寒くて布団に籠ってたら寝過ぎてしまった。

今日もJupyter Lab やる。
MarkDownについてやっていこう。

【目次】

【新たにファイルを作成する】

おさらいも兼ねて新たにファイルを作成。

f:id:r_ray:20200331000208p:plain
左側の+ボタンで新規ファイル作成。
今回は[exsample_2.ipynb]を作成。

MarkDown記法について】

Jupyter Labはプログラム以外にもテキストが挿入できるらしい。
プログラム中のコメントとはまた違うみたい。
なのでプログラム+テキストみたいなノートを作れるっぽい。
んでそのテキストはMarkDown記法が使えて、わかりやすいノートが作れるっぽい。
違ってたら教えてください。。。

【何はともあれ書いてみる】

MarkDownを書くには、モードを変えないといけない。
変えるのはここ

f:id:r_ray:20200331000913p:plain

このセレクトボックスで変わる。
今までプログラムを書いてたのは[Code]
今回は[MarkDown]を選択。
そしてセルに対してテキストを記述

f:id:r_ray:20200331001346p:plain

わかりにくいかもしれないが、
一番目のセルに実行結果
二番目のセルは入力中

とまぁこんな感じです。
あくまでテキストになるみたい。
そして#をつけてると見出しの効果がある。
他にもリストとかあるが、MarkDown記法で調べた方がいいかも。多分たくさんありすぎると思う。

個人的な感想だけど
これすっごい便利な気がする。説明書入れたり、そして逐一プログラムを書けるって。。。
本当にノートって感じ、というかノートブックなんだけどさー。
学生とかこれ提出したらいいと思う。

【最後に頑張ってノートをとってみる】

f:id:r_ray:20200331004601p:plain

うーんめちゃくちゃ汚い。。。
というかこんな感じで使うんか?皆目検討つかないわ。

以上