Pythonファースト・ステップ
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>Python]]
--Pythonファースト・ステップ
--[[Pythonセカンド・ステップ]]
--[[Pythonサード・ステップ]]
*目次 [#j2b1b3a5]
#contents
*インストール [#jaef80e8]
-何気にWindows環境へのインストールになっている。
-WLS2/Linux上でNotebook系を使うのもオススメ
--[[Jupyter Notebook]]
--[[WSL2 Ubuntu 24.04 LTS 2025/1/21]]
--[[Ubuntu 24.04 on Azure via Bastion 2025/2/27]]
**本体 [#v771357c]
[[コチラ>Python#va75989e]]に移動しました。
**pip [#qf71d3a9]
-[[Python 2>#z2093a3d]]の[[パッケージ・マネージャ>パッケ...
-[[Python 3>#i785d5c1]]の[[パッケージ・マネージャ>パッケ...
***pipのインストール [#y031e680]
最新のPythonをインストールすると自動的にpipもインストール...
***パッケージのインストール [#l5a8e86a]
pip3 install XXXX
***WARNINGが出たらアップデート [#n2d32062]
>python -m pip install --upgrade pip
**その他 [#id4d28b7]
***[[Visual Studio Code>https://techinfoofmicrosofttech.o...
-Visual Studio Codeをインストールする。
-Visual Studio Codeを起動して、ファイルを拡張子*.pyで保存...
-以下のように推奨の拡張機能が表示されるので、これをインス...
#ref(VSCode.png,left,nowrap,Visual Studio CodeでPython拡...
***[[Jupyter Notebook]] [#o82b7e06]
*モード [#s042415f]
**インタプリタ [#wed69678]
***CMD or Anaconda Promptを起動する [#xad19034]
-Pythonのバージョン情報の確認
python --version
***Pythonインタプリタを起動する [#w9b317bd]
-Pythonインタプリタを起動
python
***Pythonインタプリタの実行 [#x7406d95]
-算術計算
>>>1+1
2
-データ型
>>>type(10)
<class 'int'>
-変数
>>>x=10
>>>print(x)
10
-リスト
>>>a=[1,2,3,4,5]
>>>print(a)
[1,2,3,4,5]
>>>a[0]
1
>>>a[4]
5
>>>a[4]=99
>>>a[4]
99
>>>print(a)
[1,2,3,4,99]
-ディクショナリ
>>>dic={'hoge1':1}
>>>dic['hoge2']=2
>>>print(dic)
{'hoge1': 1, 'hoge2': 2}
-boolと論理演算
>>>hungry = True
>>>sleepy = False
>>>type(hungry)
<class 'bool'>
>>>not hungry
False
>>>hungry and sleepy
False
>>>hungry or sleepy
True
-if文
>>>hungry = True
>>>if hungry:
... print("im hungry") # 半角スペースのインデントが必要
...
im hungry
>>>hungry = False
>>>if hungry:
... print("im hungry") # 半角スペースのインデントが必要
...else:
... print("im not hungry") # 半角スペースのインデント...
... print("im sleepy")
...
im not hungry
im sleepy
-for文
>>>for i in [1,2,3]:
... print(i) # 半角スペースのインデントが必要
...
1
2
3
-関数
>>>def hello():
... print("hello!")
...
>>>hello()
hello!
>>>def hello(object):
... print("hello " + object + "!")
...
>>>hello("hoge")
hoge hello!
***Pythonインタプリタの終了 [#o897355d]
対話モードを終了するには、 exit() を実行する。
**スクリプトファイル [#uafeafa0]
***Pythonスクリプトファイルに保存 [#t21d54ca]
テキストファイルに
print("im hungry")
と書いて、拡張子を*.pyとして保存する(例 hungry.py)。
***Pythonスクリプトファイルを実行 [#o2ad1daa]
cdでカレントディレクトリに移動して、
>python hungry.py
im hungry
*基本 [#o1878f71]
**インデント [#yfd06590]
Pythonのインデントはコードブロックを意味するので、~
むやみなインデント付与は出来ないようになっている。
**[[インタプリタ>#x7406d95]] [#d64adc59]
*変数 [#d3b865b4]
**命名規則 [#ia193220]
***必ず半角英字で始める [#n3f627a2]
***予約語との衝突はNG [#l03d6571]
**数値と文字列 [#n96e040a]
***数値 [#mcc6d68b]
-四則演算
-累乗
2 ** 3
-割商
10 // 3
3
-割余
10 % 3
1
-指数表現
--1 * 10の7乗
1.0e7
--1 * 10の-7乗
1.0e-7
***文字列 [#m414b9f3]
-クォーテーション
--シングル(')~
文字列中で(")を使う場合。
--ダブル(")~
文字列中で(')を使う場合。
-演算
--連結~
>>> x = "hoge" + "hoge"
>>> print(x)
hogehoge
--繰り返し~
X = "hoge" * 2
>>> print(x)
hogehoge
-castメソッド
int("2022") => 数値の2022
-formatメソッド
--文字列中に変数値を挿入
>>> month = 9
>>> day = 1
>>> temp = 30
>>> '{}月{}日の気温は{}度です。'.format(month, day, temp)
'9月1日の気温は30度です。'
--小数の桁数指定
>>>num = 123.456
>>>print('{:.1f}'.format(num))
123.5
-コメント
--1行
# コメント
--複数行
"""
コメント
"""
**コレクション型 [#p1e90408]
***リスト [#a56efa75]
配列の事。
-定義
hoge = ['aaa', 'bbb', 'ccc', 'ddd']
-インデックス
--通常
>>>hoge[0]
'aaa'
--後ろから
hoge[-3]
>>>'bbb'
--スライシング~
ややこしいが、対応する番号の要素の一つ前の区切りでスライ...
>>>hoge[1:3]
['bbb', 'ccc']
-メソッド
--追加
>>>hoge.append('xxx')
>>>hoge
['aaa', 'bbb', 'ccc', 'ddd', 'xxx']
--削除
hoge.remove('aaa') # インデックス指定ではないっぽい
>>>hoge
['bbb', 'ccc', 'ddd', 'xxx']
-文とか関数とか
--del文
>>>del hoge[0] # インデックス0の要素を削除
>>>hoge
['ccc', 'ddd', 'xxx']
--len関数
>>>len(hoge)
4
***タプル [#r55647ca]
-定義後、変更が出来ない[[リスト>#a56efa75]]
-定義は角括弧ではなく丸括弧を使う。
***集合 [#waf7ba65]
-要素を順番や重複を考えない(C#のListに近い)
-定義は角括弧・丸括弧ではなく中括弧({})を使う。
***辞書 [#e3475d2c]
-キー&バリュー(C#のDictionaryに近い)
-定義は角括弧・丸括弧ではなく中括弧({})を使う。
*制御構文 [#ve86e499]
**真偽と演算子 [#o364fa59]
***bool型 [#ud51ca2e]
-真 : True
-偽 : Frue
***比較演算子 [#p9f10f20]
==
!=
>
<
>=
< =
***論理演算子 [#v518756a]
and
or
not
***in演算子 [#pea25177]
コレクション型のデータに特定の要素が含まれているかどうか
**条件分岐 [#t114ff68]
if(SelectとかSwitchは無い)
if 条件式A:
...
elif 条件式B:
...
else:
...
***if [#gccbaf68]
条件式Aが真(true)の場合に実行する処理
***elif [#pb205287]
条件式Aが偽(false)で条件式Bが真(true)の場合に実行
***else [#z2eea9d6]
すべての条件式が偽(false)の場合に実行
**繰り返し [#sa12056a]
foreach的なforのみ実装
***基本形 [#v216cc31]
-オブジェクト(コレクション等
for 変数 in オブジェクト:
実行する処理
-内部でbreakやcontinueが使える。
***rangeを使う [#o9c0ce74]
-例1
for num in range(5, 10):
print(num)
5
6
7
8
9
-例2
for num in range(0, 10, 3):
print(num)
0
3
6
9
***複数要素を返す [#lfd77c70]
-enumerate(indexとvalue)
hoge = ['aaa', 'bbb', 'ccc', 'ddd']
for index, value in enumerate(hoge):
print(index)
print(value)
0
aaa
1
bbb
2
ccc
3
ddd
-zip(複数のコレクション)
hoge1 = ['aaa', 'bbb', 'ccc', 'ddd']
hoge2 = ['xxx', 'yyy', 'zzz']
for value1, value2 in zip(hoge1, hoge2):
print(value1)
print(value2)
aaa
xxx
bbb
yyy
ccc
zzz
*関数・クラス [#ja57a1fc]
**関数 [#c9aae25a]
***定義と実行 [#t96a8b8e]
-定義
def 関数名(仮引数, ...):
...
return 値
-実行
関数名(実引数, ...)
-定義・実行 例
--定義例
def hello_world():
print("Hello")
print("world")
--実行例
hello_world()
***様々な引数 [#v7f8a6d9]
-位置引数~
通常の引数
-キーワード引数
--変数名を用いて値を渡す引数(位置に依らない
--オプションとしてデフォルト値が設定可能
--定義
def 関数名(仮引数1=デフォルト値, 仮引数2=デフォルト値):
...
return
--実行
関数名(仮引数名1=実引数1, 仮引数名2=実引数2)
-可変長引数
--* 関数中でタプルとして機能
---定義
def 関数名(*Tuple):
---実行
関数名(1, 2, 3, 4, 5, 6, 7, 8)
--** 関数中で辞書として機能(仮引数名がキー
---定義
def 関数名(**Dictionary):
---実行
def 関数名(key1=1, key2=2, key3=3):
--可変長引数の後ろはキーワード引数のみ利用可能。
**クラス [#ud04c7d1]
***定義 [#iab78750]
class クラス名:
def __init__(self, 引数, ...): #コンストラクタ
...
def メソッド名1(self, 引数, ...): #メソッド1
...
def メソッド名2(self, 引数, ...): #メソッド2
...
***定義例 [#ee179595]
class Man:
def __init__(self, name):
self.name=name
print("inited!")
def hello(self):
print("hello " + self.name + "!")
def goodbye(self):
print("good-bye " + self.name + "!")
***実行例 [#s7954791]
m = Man("hoge")
m.hello()
m.goodbye()
**インポート [#eff9f354]
***インストール [#rcb59143]
インポートの前にインストールが必要なものもある。
-インストールの確認
>python -m pip list
-インストールの実行
>python -m pip install モジュール名
***モジュール [#f20f3e34]
-モジュール≒ファイル名
-通常の利用
--モジュールのインポート
import モジュール名
--モジュール内のクラスの利用
obj = モジュール名.クラス名(...)
-別名の使用
--モジュールのインポート
import モジュール名 as 別名
--モジュール内のクラスの利用
obj = 別名.クラス名(...)
***クラス [#ta01be38]
-モジュール名が省略可能になる。
-クラスのインポート
from import モジュール名 import クラス名
-モジュール内のクラスの利用
obj = クラス名(...)
*その他 [#d931e338]
**オブジェクトの保存と復元 [#dde240b0]
pickleのシリアライズとデシリアライズで保存と復元
-保存されるオブジェクト
import pickle
obj = '保存されるオブジェクト'
-シリアライズ相当
with open('sample.pickle','wb') as f:
pickle.dump(obj, f)
-デシリアライズ相当
with open('sample.pickle','rb') as f:
loaded_obj = pickle.load(f)
-復元されたオブジェクト
print(loaded_obj)
*参考 [#y63aa3ff]
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>Python]]
--Pythonファースト・ステップ
--[[Pythonセカンド・ステップ]]
--[[Pythonサード・ステップ]]
*目次 [#j2b1b3a5]
#contents
*インストール [#jaef80e8]
-何気にWindows環境へのインストールになっている。
-WLS2/Linux上でNotebook系を使うのもオススメ
--[[Jupyter Notebook]]
--[[WSL2 Ubuntu 24.04 LTS 2025/1/21]]
--[[Ubuntu 24.04 on Azure via Bastion 2025/2/27]]
**本体 [#v771357c]
[[コチラ>Python#va75989e]]に移動しました。
**pip [#qf71d3a9]
-[[Python 2>#z2093a3d]]の[[パッケージ・マネージャ>パッケ...
-[[Python 3>#i785d5c1]]の[[パッケージ・マネージャ>パッケ...
***pipのインストール [#y031e680]
最新のPythonをインストールすると自動的にpipもインストール...
***パッケージのインストール [#l5a8e86a]
pip3 install XXXX
***WARNINGが出たらアップデート [#n2d32062]
>python -m pip install --upgrade pip
**その他 [#id4d28b7]
***[[Visual Studio Code>https://techinfoofmicrosofttech.o...
-Visual Studio Codeをインストールする。
-Visual Studio Codeを起動して、ファイルを拡張子*.pyで保存...
-以下のように推奨の拡張機能が表示されるので、これをインス...
#ref(VSCode.png,left,nowrap,Visual Studio CodeでPython拡...
***[[Jupyter Notebook]] [#o82b7e06]
*モード [#s042415f]
**インタプリタ [#wed69678]
***CMD or Anaconda Promptを起動する [#xad19034]
-Pythonのバージョン情報の確認
python --version
***Pythonインタプリタを起動する [#w9b317bd]
-Pythonインタプリタを起動
python
***Pythonインタプリタの実行 [#x7406d95]
-算術計算
>>>1+1
2
-データ型
>>>type(10)
<class 'int'>
-変数
>>>x=10
>>>print(x)
10
-リスト
>>>a=[1,2,3,4,5]
>>>print(a)
[1,2,3,4,5]
>>>a[0]
1
>>>a[4]
5
>>>a[4]=99
>>>a[4]
99
>>>print(a)
[1,2,3,4,99]
-ディクショナリ
>>>dic={'hoge1':1}
>>>dic['hoge2']=2
>>>print(dic)
{'hoge1': 1, 'hoge2': 2}
-boolと論理演算
>>>hungry = True
>>>sleepy = False
>>>type(hungry)
<class 'bool'>
>>>not hungry
False
>>>hungry and sleepy
False
>>>hungry or sleepy
True
-if文
>>>hungry = True
>>>if hungry:
... print("im hungry") # 半角スペースのインデントが必要
...
im hungry
>>>hungry = False
>>>if hungry:
... print("im hungry") # 半角スペースのインデントが必要
...else:
... print("im not hungry") # 半角スペースのインデント...
... print("im sleepy")
...
im not hungry
im sleepy
-for文
>>>for i in [1,2,3]:
... print(i) # 半角スペースのインデントが必要
...
1
2
3
-関数
>>>def hello():
... print("hello!")
...
>>>hello()
hello!
>>>def hello(object):
... print("hello " + object + "!")
...
>>>hello("hoge")
hoge hello!
***Pythonインタプリタの終了 [#o897355d]
対話モードを終了するには、 exit() を実行する。
**スクリプトファイル [#uafeafa0]
***Pythonスクリプトファイルに保存 [#t21d54ca]
テキストファイルに
print("im hungry")
と書いて、拡張子を*.pyとして保存する(例 hungry.py)。
***Pythonスクリプトファイルを実行 [#o2ad1daa]
cdでカレントディレクトリに移動して、
>python hungry.py
im hungry
*基本 [#o1878f71]
**インデント [#yfd06590]
Pythonのインデントはコードブロックを意味するので、~
むやみなインデント付与は出来ないようになっている。
**[[インタプリタ>#x7406d95]] [#d64adc59]
*変数 [#d3b865b4]
**命名規則 [#ia193220]
***必ず半角英字で始める [#n3f627a2]
***予約語との衝突はNG [#l03d6571]
**数値と文字列 [#n96e040a]
***数値 [#mcc6d68b]
-四則演算
-累乗
2 ** 3
-割商
10 // 3
3
-割余
10 % 3
1
-指数表現
--1 * 10の7乗
1.0e7
--1 * 10の-7乗
1.0e-7
***文字列 [#m414b9f3]
-クォーテーション
--シングル(')~
文字列中で(")を使う場合。
--ダブル(")~
文字列中で(')を使う場合。
-演算
--連結~
>>> x = "hoge" + "hoge"
>>> print(x)
hogehoge
--繰り返し~
X = "hoge" * 2
>>> print(x)
hogehoge
-castメソッド
int("2022") => 数値の2022
-formatメソッド
--文字列中に変数値を挿入
>>> month = 9
>>> day = 1
>>> temp = 30
>>> '{}月{}日の気温は{}度です。'.format(month, day, temp)
'9月1日の気温は30度です。'
--小数の桁数指定
>>>num = 123.456
>>>print('{:.1f}'.format(num))
123.5
-コメント
--1行
# コメント
--複数行
"""
コメント
"""
**コレクション型 [#p1e90408]
***リスト [#a56efa75]
配列の事。
-定義
hoge = ['aaa', 'bbb', 'ccc', 'ddd']
-インデックス
--通常
>>>hoge[0]
'aaa'
--後ろから
hoge[-3]
>>>'bbb'
--スライシング~
ややこしいが、対応する番号の要素の一つ前の区切りでスライ...
>>>hoge[1:3]
['bbb', 'ccc']
-メソッド
--追加
>>>hoge.append('xxx')
>>>hoge
['aaa', 'bbb', 'ccc', 'ddd', 'xxx']
--削除
hoge.remove('aaa') # インデックス指定ではないっぽい
>>>hoge
['bbb', 'ccc', 'ddd', 'xxx']
-文とか関数とか
--del文
>>>del hoge[0] # インデックス0の要素を削除
>>>hoge
['ccc', 'ddd', 'xxx']
--len関数
>>>len(hoge)
4
***タプル [#r55647ca]
-定義後、変更が出来ない[[リスト>#a56efa75]]
-定義は角括弧ではなく丸括弧を使う。
***集合 [#waf7ba65]
-要素を順番や重複を考えない(C#のListに近い)
-定義は角括弧・丸括弧ではなく中括弧({})を使う。
***辞書 [#e3475d2c]
-キー&バリュー(C#のDictionaryに近い)
-定義は角括弧・丸括弧ではなく中括弧({})を使う。
*制御構文 [#ve86e499]
**真偽と演算子 [#o364fa59]
***bool型 [#ud51ca2e]
-真 : True
-偽 : Frue
***比較演算子 [#p9f10f20]
==
!=
>
<
>=
< =
***論理演算子 [#v518756a]
and
or
not
***in演算子 [#pea25177]
コレクション型のデータに特定の要素が含まれているかどうか
**条件分岐 [#t114ff68]
if(SelectとかSwitchは無い)
if 条件式A:
...
elif 条件式B:
...
else:
...
***if [#gccbaf68]
条件式Aが真(true)の場合に実行する処理
***elif [#pb205287]
条件式Aが偽(false)で条件式Bが真(true)の場合に実行
***else [#z2eea9d6]
すべての条件式が偽(false)の場合に実行
**繰り返し [#sa12056a]
foreach的なforのみ実装
***基本形 [#v216cc31]
-オブジェクト(コレクション等
for 変数 in オブジェクト:
実行する処理
-内部でbreakやcontinueが使える。
***rangeを使う [#o9c0ce74]
-例1
for num in range(5, 10):
print(num)
5
6
7
8
9
-例2
for num in range(0, 10, 3):
print(num)
0
3
6
9
***複数要素を返す [#lfd77c70]
-enumerate(indexとvalue)
hoge = ['aaa', 'bbb', 'ccc', 'ddd']
for index, value in enumerate(hoge):
print(index)
print(value)
0
aaa
1
bbb
2
ccc
3
ddd
-zip(複数のコレクション)
hoge1 = ['aaa', 'bbb', 'ccc', 'ddd']
hoge2 = ['xxx', 'yyy', 'zzz']
for value1, value2 in zip(hoge1, hoge2):
print(value1)
print(value2)
aaa
xxx
bbb
yyy
ccc
zzz
*関数・クラス [#ja57a1fc]
**関数 [#c9aae25a]
***定義と実行 [#t96a8b8e]
-定義
def 関数名(仮引数, ...):
...
return 値
-実行
関数名(実引数, ...)
-定義・実行 例
--定義例
def hello_world():
print("Hello")
print("world")
--実行例
hello_world()
***様々な引数 [#v7f8a6d9]
-位置引数~
通常の引数
-キーワード引数
--変数名を用いて値を渡す引数(位置に依らない
--オプションとしてデフォルト値が設定可能
--定義
def 関数名(仮引数1=デフォルト値, 仮引数2=デフォルト値):
...
return
--実行
関数名(仮引数名1=実引数1, 仮引数名2=実引数2)
-可変長引数
--* 関数中でタプルとして機能
---定義
def 関数名(*Tuple):
---実行
関数名(1, 2, 3, 4, 5, 6, 7, 8)
--** 関数中で辞書として機能(仮引数名がキー
---定義
def 関数名(**Dictionary):
---実行
def 関数名(key1=1, key2=2, key3=3):
--可変長引数の後ろはキーワード引数のみ利用可能。
**クラス [#ud04c7d1]
***定義 [#iab78750]
class クラス名:
def __init__(self, 引数, ...): #コンストラクタ
...
def メソッド名1(self, 引数, ...): #メソッド1
...
def メソッド名2(self, 引数, ...): #メソッド2
...
***定義例 [#ee179595]
class Man:
def __init__(self, name):
self.name=name
print("inited!")
def hello(self):
print("hello " + self.name + "!")
def goodbye(self):
print("good-bye " + self.name + "!")
***実行例 [#s7954791]
m = Man("hoge")
m.hello()
m.goodbye()
**インポート [#eff9f354]
***インストール [#rcb59143]
インポートの前にインストールが必要なものもある。
-インストールの確認
>python -m pip list
-インストールの実行
>python -m pip install モジュール名
***モジュール [#f20f3e34]
-モジュール≒ファイル名
-通常の利用
--モジュールのインポート
import モジュール名
--モジュール内のクラスの利用
obj = モジュール名.クラス名(...)
-別名の使用
--モジュールのインポート
import モジュール名 as 別名
--モジュール内のクラスの利用
obj = 別名.クラス名(...)
***クラス [#ta01be38]
-モジュール名が省略可能になる。
-クラスのインポート
from import モジュール名 import クラス名
-モジュール内のクラスの利用
obj = クラス名(...)
*その他 [#d931e338]
**オブジェクトの保存と復元 [#dde240b0]
pickleのシリアライズとデシリアライズで保存と復元
-保存されるオブジェクト
import pickle
obj = '保存されるオブジェクト'
-シリアライズ相当
with open('sample.pickle','wb') as f:
pickle.dump(obj, f)
-デシリアライズ相当
with open('sample.pickle','rb') as f:
loaded_obj = pickle.load(f)
-復元されたオブジェクト
print(loaded_obj)
*参考 [#y63aa3ff]
ページ名: