Python 2018 03 12 nanadama 1 Python python

  • Slides: 43
Download presentation
Python 超入門 2018 03 12 nanadama

Python 超入門 2018 03 12 nanadama

1. Pythonの起動とテスト $ python 3 >>> b = "test" >>> 34 >>> print(b) 34

1. Pythonの起動とテスト $ python 3 >>> b = "test" >>> 34 >>> print(b) 34 test >>> print('Hello, World!') >>> exit() Hello, World $ >>> a = 3 >>> print(a) 3! 4

1. Pythonファイルの読み込み <test. py> a = 12 b = 23 print(a+b) $ python 3

1. Pythonファイルの読み込み <test. py> a = 12 b = 23 print(a+b) $ python 3 test. py 35 $ 5

2. 型変換 >>> a = 3 >>> print(str(a)) >>> b = 4. 8 '3'

2. 型変換 >>> a = 3 >>> print(str(a)) >>> b = 4. 8 '3' >>> c = 10 e 4 >>> print(str(b)) '4. 8' >>> print(b)) >>> print(str(c)) 4 '10000' >>> print(c)) 10000 >>> print(float(a)) 3. 0 8

3. 2. リスト操作 • リストの作成 • offsetによる要素の取り出し >>> empty_list = [] >>> empty_list 2

3. 2. リスト操作 • リストの作成 • offsetによる要素の取り出し >>> empty_list = [] >>> empty_list 2 = list() >>> teams = ['SSQL', 'RMX', 'WIX', 'RTA'] >>> print(teams[0]) 'SSQL' >>> print(teams[2]) 'WIX' • リストの全出力 >>> print(teams) ['SSQL', 'RMX', 'WIX', 'RTA'] 後ろからも取り出せる. >>> print(teams[-1]) 'RTA' 11

3. 2. リスト操作 • リストのリスト >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui']

3. 2. リスト操作 • リストのリスト >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> b 4_list = ['arisa', 'doi', 'machida', 'nagano', 'tatsu'] >>> m 1_list = ['kotani', 'qiao', 'shu', 'tabata'] >>> toyamalab = [b 3_list, b 4_list, m 1_list] >>> print(toyamalab) [['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'], ['arisa', 'doi', 'machida', 'nagano', 'tatsu'], ['kotani', 'qiao', 'shu', 'tabata']] >>> print(toyamalab[1]) ['arisa', 'doi', 'machida', 'nagano', 'tatsu'] >>> print(toyamalab[1][1]) 'doi' 12

3. 2. リスト操作 • リストの書き換え >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui']

3. 2. リスト操作 • リストの書き換え >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> b 3_list[2] = 'marisa' >>> print(b 3_list) ['maeda', 'otawa', 'marisa', 'shinzato', 'terui'] • リストの要素追加 append() >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> b 3_list. append('new') >>> print(b 3_list) ['maeda', 'otawa', 'marisa', 'shinzato', 'terui', 'new'] 13

3. 2. リスト操作 • extendや+=によるリストの結合 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui']

3. 2. リスト操作 • extendや+=によるリストの結合 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> b 4_list = ['arisa', 'doi', 'machida', 'nagano', 'tatsu'] >>> b 3_list. extend(b 4_list) (b 3_list += b 4_list とも書ける) >>> print(b 3_list) ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui', 'arisa', 'doi', 'machida', 'nagano', 'tatsu'] 14

3. 2. リスト操作 • insertによる場所指定の要素追加, delによる場所指定削除 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato',

3. 2. リスト操作 • insertによる場所指定の要素追加, delによる場所指定削除 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> b 3_list. insert(1, 'nara') >>> print(b 3_list) ['maeda', 'nara', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> del b 3_list[3] >>> print(b 3_list) ['maeda', 'nara', 'otawa', 'shinzato', 'terui'] 15

3. 2. リスト操作 • removeによる値指定削除 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui']

3. 2. リスト操作 • removeによる値指定削除 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> b 3_list. remove('shinzato') >>> print(b 3_list) ['maeda', 'otawa', 'ozeki', 'terui'] • indexによる値からオフセットの取得 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> b 3_list. index('otawa') 1 16

3. 2. リスト操作 • inによる値存在判定 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui']

3. 2. リスト操作 • inによる値存在判定 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> 'shinzato' in b 3_list True >>> 'machida' in b 3_list False • countによる値の個数取得 >>> b 4_team = ['RMX', 'WIX', 'SSQL'] >>> b 3_list. count('RMX') 2 17

3. 2. リスト操作 • sortによる要素並び替え >>> b 3_list_random = ['ozeki', 'maeda', 'terui', 'shinzato', 'otawa']

3. 2. リスト操作 • sortによる要素並び替え >>> b 3_list_random = ['ozeki', 'maeda', 'terui', 'shinzato', 'otawa'] >>> b 3_sorted = sorted(b 3_list_random) ←元のリストは並び替えない >>> print(b 3_sorted) ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> print(b 3_list_random) ['ozeki', 'maeda', 'terui', 'shinzato', 'otawa'] 元のリストを並び替えるときはb 3_list_random. sort() 18

3. 2. リスト操作 • lenによる要素数取得 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui']

3. 2. リスト操作 • lenによる要素数取得 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> len(b 3_list) 5 19

3. 2. リスト操作 • リストの代入=とコピー >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui']

3. 2. リスト操作 • リストの代入=とコピー >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> b 4_list = b 3_list >>> b 3_list. remove('shinzato') >>> print(b 3_list) ['maeda', 'otawa', 'ozeki', 'terui'] >>> print(b 4_list) ? ? ? 20

3. 4. 辞書操作 b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX',

3. 4. 辞書操作 b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX', 'tatsu': 'SSQL' } key : value のペアをコンマで区切って並べていく. 22

3. 4. 辞書操作 • 辞書の作成 >>> empty_dict = {} >>> empty_list 2 = dict()

3. 4. 辞書操作 • 辞書の作成 >>> empty_dict = {} >>> empty_list 2 = dict() >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX', 'tatsu': 'SSQL' } • 辞書の全出力 >>> print(b 4_dict) (略) 23

3. 4. 辞書操作 • keyによる要素の取り出し [key]と,get() >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX',

3. 4. 辞書操作 • keyによる要素の取り出し [key]と,get() >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX', 'tatsu': 'SSQL'} >>> b 4_dict['arisa'] 'WIX' >>> b 4_dict['goto'] Traceback (most recent call last): (略) >>> b 4_dict. get('arisa') 'WIX' >>> b 4_dict. get('goto') (None)(Noneはnullに似たような値.表示され ない) →例外がでてしまう. 24

3. 4. 辞書操作 • keyによる要素の追加 >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida':

3. 4. 辞書操作 • keyによる要素の追加 >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX', 'tatsu': 'SSQL'} >>> b 4_dict['taji'] = 'SSQL' >>> print(b 4_dict) {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX', 'tatsu': 'SSQL', 'taji': 'SSQL'} • delによる要素の削除 >>> del b 4_dict['taji'] 25

3. 4. 辞書操作 • updateによる辞書の統合と更新 >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida':

3. 4. 辞書操作 • updateによる辞書の統合と更新 >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX', 'tatsu': 'SSQL' } >>> new_b 4 = {'sato': 'WIX', 'machida': 'SSQL', 'tatsu': 'VR' } >>> b 4_dict. update(new_b 4) >>> print(b 4_dict) {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'SSQL', 'nagano': 'RMX', 'tatsu': 'VR', 'sato': 'WIX' } • inによるキーの存在判定 >>> 'tatsu' in b 4_dict True >>> 'RMX' in b 4_dict False ←判定するのはキーであって値じゃない 26

3. 4. 辞書操作 • keys, values, itemsによる全ての要素の取得, >>> b 4_dict = {'arisa': 'WIX', 'doi':

3. 4. 辞書操作 • keys, values, itemsによる全ての要素の取得, >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX', 'tatsu': 'SSQL'} >>> b 4_dict. values() ['WIX', 'RMX', 'SSQL'] >>> b 4_dict. items() [('arisa', 'WIX'), ('doi', 'RMX'), ('machida', 'WIX'), ('nagano', 'RMX'), ('tatsu', 'SSQL')] ※()はタプルと呼ばれるものであり,リストに似ている.itemsの戻り値はタプルのリスト. 28

4. 4 whileによる反復処理 • 基本的にJavaと同じ • break, continueも一緒 >>> count = 0 >>> while

4. 4 whileによる反復処理 • 基本的にJavaと同じ • break, continueも一緒 >>> count = 0 >>> while count < 5: . . . print(count) . . . count += 1 0 1 2 3 4 32

4. 5. forによる反復処理 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> for

4. 5. forによる反復処理 >>> b 3_list = ['maeda', 'otawa', 'ozeki', 'shinzato', 'terui'] >>> for b 3 in b 3_list: . . . print(b 3) maeda otawa ozeki shinzato terui 34

4. 5. forによる反復処理 >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano':

4. 5. forによる反復処理 >>> b 4_dict = {'arisa': 'WIX', 'doi': 'RMX', 'machida': 'WIX', 'nagano': 'RMX', 'tatsu': 'SSQL'} >>> for name in b 4_dict. keys(): >>> for b 4 in b 4_dict. items(): . . . print(name) print(b 4) arisa ('arisa', 'WIX') doi ('doi', 'RMX') machida ('machida', 'WIX') shinzato ('nagano', 'RMX') terui ('tatsu', 'SSQL') 35

4. 6 内包表記 • 例: 2の 1乗から10乗までのリストを作るには? >>> n_2 jyou = [] >>> for

4. 6 内包表記 • 例: 2の 1乗から10乗までのリストを作るには? >>> n_2 jyou = [] >>> for n in range(1, 11): . . . n_2 jyou. append(2 ** n) . . . >>> print(n_2 jyou) [2, 4, 8, 16, 32, 64, 128, 256, 512, 1024] 37

4. 7. 1 , 2 引数 >>> def print_toyama(name, grade, team): . . .

4. 7. 1 , 2 引数 >>> def print_toyama(name, grade, team): . . . print("名前: " + name) . . . print("学年: " + grade) . . . print("チーム: " + team) 呼び出す時 >>> print_toyama('doi', 'B 4', 'RMX') のほか >>> print_toyama(name='doi', grade='B 4', team='RMX') とも書ける >>> print_toyama(grade='B 4', team='RMX', name='doi') 順序が変えられる 40

4. 7. 3 デフォルト引数 >>> def print_toyama(name, grade, team='unknown' ): . . . print("名前:

4. 7. 3 デフォルト引数 >>> def print_toyama(name, grade, team='unknown' ): . . . print("名前: " + name) . . . print("学年: " + grade) . . . print("チーム: " + team) 呼び出す時 >>> print_toyama('doi', 'B 4') # チーム: unknown >>> print_toyama('doi', 'B 4', 'RMX') # チーム: RMX >>> print_toyama(grade='B 4', name='doi') # チーム: unknown 41