Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PyLadiesCaravan_in_苫小牧

kanan
November 09, 2024

 PyLadiesCaravan_in_苫小牧

kanan

November 09, 2024
Tweet

More Decks by kanan

Other Decks in Programming

Transcript

  1. ▪自己紹介▪  PyLadies Caravan STAFF  お仕事は分析屋さん→売れるAI製品を考える人  お酒が好き、あと焼き鳥も好き 

    趣味はダイビングとか登山とか  来年はずっと行けてない海外旅行にいきたい かなん @Addition_quince 福岡出身/東京在住
  2.  コンピュータが処理を行う際には、コンピュータを動作 させるための命令で構成される何らかのプログラムが動 いている。このプログラムを記述するための言語がプロ グラミング言語である。  開発者はオランダ出身のグイド・ヴァン・ロッサム (Guido van Rossum)氏。

     Pythonという名前の由来は、イギリスのテレビ局BCCが製作し たコメディ番組である『空飛ぶモンティ・パイソン』をグイド 氏が好きで、この番組にちなんで付けられた。但し、ロゴは Python(蛇)が使われている。  Pythonの開発や維持は、Pythonソフトウェア財団 (Python Software Foundation)が実施。 (出典:Guido‘s Personal Home Page ) Pythonってどんな言語?
  3.  Pythonの特徴  フリーのOSS(オープンソースソフトウェア)である  Windows、Linux、MacOS等、様々な環境で動作するマルチプラットフォーム  インターネット上に豊富なドキュメントが公開されている  Webやデータ解析等、幅広い分野に適応可能な汎用言語

     プログラムの作成・実行・テストが容易なスクリプト言語  記述性と可読性が高く、またインタプリタ形式(対話的に1行ずつ実行)を採用  ライブラリ(処理を簡単に行うための部品)が豊富  そこまでプログラムの実行速度は速くない  実は習得は決して容易というわけではない (出典:Guido‘s Personal Home Page ) Pythonってどんな言語?
  4.  PythonはPSFによって日々バージョンアップをしている  Python 3.11.15 といったように、バージョン番号で管理されており、メージャ ーバージョン番号.マイナーバージョン番号.小さな変更やバグフィックスによっ て付けられる番号 という形式。 

    メジャーバージョンは1.0が1994年、2.0が2000年、3.0が2008年にリリース。  言語として注目されたのは2系からであり、さらに3系では言語レベルで大きく 変わった為、2系のプログラムは3系では、そのまま動作することはほぼない。  3系でもマイナーバージョンが変わると、挙動が少し変わったり、ライブラリの 整合性等で動作しない場合があるので、本格的な開発やWeb情報の参照等でも 注意が必要 Pythonってどんな言語? 現在のpython最新バージョン 【 3.13.0 】
  5. Pythonの思想:The Zen of Python 1. Beautiful is better than ugly.

    2. Explicit is better than implicit. 3. Simple is better than complex. 4. Complex is better than complicated. 5. Flat is better than nested. 6. Sparse is better than dense. 7. Readability counts. 8. Special cases aren't special enough to break the rules. >>> import this 醜いよりは美しい方がいい 暗黙の了解よりは明示した方がいい 複雑よりシンプルな方がいい でも込み入るくらいなら複雑な方がいい ネストは浅い方がいい 詰め込み過ぎよりはバラす方がいい 読みやすさの積み重ねは善 特殊だからってルールを破る理由にならない
  6. Pythonの思想:The Zen of Python 9. Although practicality beats purity. 10.

    Errors should never pass silently. 11. Unless explicitly silenced. 12. In the face of ambiguity, refuse the temptation to guess. 13. There should be one-- and preferably only one --obvious way to do it. 14. Although that way may not be obvious at first unless you're Dutch. とはいえ現実は臨機応変にせざるを得ない エラーは絶対に隠してはいけない エラーが無視できる理由が明示されない限り 曖昧なものに出会ったらその意味を勝手に 推測しては行けない 何かいいやり方があるはずだ。誰が見ても 明らかな、たったひとつのやり方が。 そのやり方は一目見ただけではわかりにくい かもしれない。オランダ人にだけわかりやす いなんてこともあるかもしれない。
  7. Pythonの思想:The Zen of Python 15. Now is better than never.

    16. Although never is often better than *right* now. 17. If the implementation is hard to explain, it's a bad idea. 18. If the implementation is easy to explain, it may be a good idea. 19. Namespaces are one honking great idea -- let's do more of those! ずっとやらないより今やるべき でも今「すぐ」じゃない方が良い時の方が 往々にしてある コードの意味を説明できないのであれば、 それは悪い実装である コードの意味を簡単に説明できるのであれ ば、それは良い実装である 名前空間の概念は素晴らしいので、 積極的に使っていこう
  8. エディやIDE(統合開発環境) ► 実際にPythonでプログラムを書くときは、エディタやIDE(統 合開発環境)と呼ばれるソフトウェアを使うことが多い ► 自分の好みを見つけるとよい ► Visual Studio Code

    (ビジュアルスタジオコード) ► PyCharm (パイチャーム) ► Atom (アトム) ► Notepad++ (ノートパッドプラスプラス) ► Sublime (サブライム) ► Jupyter Notebook (ジュピターノートブック)
  9. バージョンを確認してみよう Windows: コマンドプロンプト Mac: ターミナル $ python –-version Python 3.12.1

    ※インストールしたバージョンが表示 もし “Python 2.x.x”と表示されたら、 $ python3 --version と打ってみてください ► 「ターミナル」エリアはOS搭載のシステムツールで、コマ ンドと呼ばれる命令文を実行することができます
  10. コマンドプロンプトやターミナル上で Pythonを実行してみる $ python Python 3.7.0 (default, Jun 28 2018,

    08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32 Type "help", "copyright", "credits" or "license" for more information. >>> ► インタープリタ(対話)モード ► コマンドを発行すると対話的に結果が返ってくる ► >>>に変わったら、インタープリタモード中。 $ python3 --version と打った人は原則 python を python3 と読み替えが必要です。 $ python3
  11. コマンドプロンプトやターミナル上で Pythonを実行してみる >>> import this The Zen of Python, by

    Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. : ► The Zen of Python を表示させてみよう
  12. STEP1:データ形式 >>> 15 15 >>> おはよう Traceback (most recent call

    last): File "<stdin>", line 1, in <module> NameError: name 'おはよう' is not defined >>> 'おはよう' 'おはよう' >>> '15' '15' ► インタープリタモードで数字や文字を打ち込んでみよう その名前は定義さ れていないよって エラーがでる
  13. STEP1:データ形式 ► 数値や文字列など、データには形式がある 数値(整数、小数) 文字列 真偽 リスト ► 小数点以下が必要な場合は、 小数点をつければOK

    ► 文字列は引用符(’ ’または” ”)で囲う必要がある ► 2値のTrueかFalseで表される ► 数値として扱える True:1/False0 ► 複数のデータをまとめるオブ ジェクト ► リストは[’A’,’B’,’C’]と表記 ► タプルや辞書型等もある
  14. STEP2:値の計算 >>> 10 + 2.5 12.5 >>> 2 * 5

    10 >>> 'Pen' + 'Pineapple' + 'Apple' + 'Pen' 'PenPineappleApplePen' ► 様々な値の計算ができ、電卓としても使えます 足し算、引き算、掛け算、割 り算等、様々な計算ができる +をつかって文字列の連結もできる
  15. STEP3:変数を使ってみよう >>> name = '桃太郎' >>> print(name) '桃太郎' >>> animal

    = ['いぬ', '猿', 'キジ', '鬼'] >>> print(animal) ['いぬ', '猿', 'キジ', '鬼'] ► 変数と呼ばれるデータを入れる箱を使うことで、処理の幅 が広がります。
  16. STEP4:組み込み関数やモジュールを利用する >>> 47 + '都道府県' Traceback (most recent call last):

    File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str' >>> str(47) + '都道府県' '47都道府県' ► Pythonには便利な関数が用意されています。 ► print()、sum()、round()など様々な組み込み関数がある +は数値(int)と文字(str) を一緒に使えない
  17. STEP4:組み込み関数やモジュールを利用する >>> import datetime >>> datetime.date.today() datetime.date(2019, 10, 05) >>>

    print(datetime.date.today()) 2019-10-05 ► Pythonには組み込み関数以外にもモジュール(ライブラリ) によって様々な処理を呼び出すことができます。 ※ライブラリを使う時は、import を使って読み込みが必要 日付型のオブジェクトとして 生成される
  18. STEP4:組み込み関数やモジュールを利用する >>> import requests Traceback (most recent call last): File

    "<stdin>", line 1, in <module> ImportError:No module named requests >>> exit() $ pip install requests ► ライブラリには標準ライブラリと、外部ライブラリがある 外部ライブラリはインストールが必要!! 試しにHTTP通信ライブラリをインストールしてみよう 冒頭でpython3 --version と打った人はpip3 install ••• >>> import requests >>>
  19. EXTRA:次の誕生日まで何日か計算しよう import datetime name = 'かなん' today = datetime.date.today() next_birth

    = datetime.date(2025, 5, 18) cnt = (next_birth - today).days print(name + 'の誕生日は'+ str(next_birth) + 'です。') print(name, 'の誕生日まで' , cnt, '日です。')
  20. EXTRA:次の誕生日まで何日か計算しよう if cnt < 90: print('3か月以内に誕生日ですね!') elif cnt > 270:

    print('3か月以内に誕生日でしたね') else: print('当面なんでもない日おめでとう!') if <条件1>: →もし条件1に該当するなら <処理A> →処理A実行 elif <条件2>: →上の条件に該当せず、条件2に該当するなら <処理B> →処理B実行 else: →上のどの条件にも該当しないなら <処理C> →処理C実行
  21. EXTRA:関数を作ると便利になるよ import datetime def birthday(name, y, m, d): today =

    datetime.date.today() next_birth = datetime.date(y, m, d) cnt = (next_birth – today).days print(f ' {name} の誕生日は {next_birth} です。 ') print(f ' {name} の誕生日まで {cnt} 日です。 ') if cnt < 90: print('3か月以内に誕生日ですね! ') elif cnt > 270: print('3か月以内に誕生日でしたね') else: print('当面なんでもない日おめでとう! ') birthday('かなん', 2025, 5, 18) birthday('まーや', 2025, 5, 16) 関数化