はじめに
初めまして!
エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事を書きました!
最終的には自在に開発できるようになりたいと思っています。
いろいろな記事を参考にさせてもらっています。
その中でもこれってどういう意味?とかつまづいたところを念入りに書いていこうかと思います。
今回の目的
Python初歩レベルまでになろうと思います!
使用したものや事前準備
・Macbook Pro
・Python
・Anaconda
・jupyter notebook
概要
なぜPythonが人気なのか
・習得が非常に簡単。スクリプトをコピペするだけで動く。
・コードが読みやすい。
・Pythonのパッケージは30万を超える。容易に複雑な処理が書ける。
Pythonはどこで使用されているのか
・クラウド環境、マイクロコントローラ、web開発(サーバーサイド)など、特に数値を扱うところで使用される。
環境準備
condaインストール
コマンドでやりなさいということでcondaコマンドをインストール。GUIもセットだから問題なし。
インストールの手順通り進めれば使えるようになります。
コマンドが入ったか確認しましょう。
conda --version
仮想環境の作成
プロジェクトの管理と同義でいいのではと思っています。プロジェクトごとに依存関係を分離できるようになります。
現在はPython3.12まで出ていますがチュートリアルは3.9なのでとりあえずそのまま進めます。
condaenvはプロジェクト名です。
conda create --name condaenv python=3.9
実行後にGUIのAnaconda NavigatorにあるEnvironmentsを確認すると同じ名前のものが作成されているはずです。
環境を切り替えます。成功するとコマンドの左端の名前が変わります。
conda activate condaenv
ライブラリをインストールします。
Jupyter Notebook: データを探索したり、アルゴリズムを試したり、何かを視覚化したする時に最適なウェブアプリケーション。Jupyterの由来は「Julia」「Pyton」「R」の組み合わせから来ているようです。VSCODEとも連携可能。
NumPy: 数値計算を効率的に行うためのPythonライブラリ
Matplotlib: Pythonでグラフやチャートを作成するためのライブラリ
conda install notebook numpy matplotlib
jupyter notebookが実行できるか確認します。ブラウザで下記の画像が開けばOK。
jupyter notebook
jupyter notebook
適当な場所にフォルダを配置し、右側の「New」からPython3を選択しましょう。
画面が開いたことを確認し、下記のコマンドを実行(command+Enter)すると出力結果を確認できます。
print('hello world')
import thisを実行すると「心得的な」ものを見ることができます。
import this
Python
・標準出力
print('hello world')
オブジェクト
重要: 変数は型ではなく全てオブジェクトで表現される。数値も。
オブジェクトは下記の情報を持っています。
ID
メモリ内のどこに存在するか
a = 'test'
id(a) # 1398.....
タイプ
オブジェクトのタイプ
a = 'test'
type(a) # str
値
保持している情報
a # test
参照カウント
オブジェクトを使用している数。0になるとガベージコレクタが働いてクリーンアップされます。
import sys
sys.getrefcount(a) # 2 上記例のidとtypeのみを実行した場合(値を確認すると数が変わる・・・)
リテラル
文字列(str)
ユニコード文字で絵文字も対応している。文字数で定義も可能。
name = 'matt \N{GRINNING FACE}'
new_str = str(10)
数値
int、float、complex(複素数)対応
complexの例(c = 3 + 4jの場合)
実数部の取得: c.real は3を返します。
虚数部の取得: c.imag は4を返します。
共役複素数(conjugate): c.conjugate() は3 - 4jを返します。
絶対値(複素数の大きさ、またはモジュラス): abs(c) は5を返します(√(3² + 4²) = 5)。
配列
数値文字の混在は可能。
list()は文字列を文字として扱うので注意
test = [1,'2']
test[0] // 1
test2 = list('ae')
test2 //'a','e'
辞書配列
types = {'name':'string'}
ages = dict(zip(['taro'],[20]) // 'taro':20
types2 = dict(name='str') // 'name':'str'
続き