lecture

Python入門 内包表記(動画あり)

Pythonの内包表記とは、ひとつ以上のイテレータ からPythonデータ構造をコンパクトに作れる形式です。 内包表記 内包表記が書けるようになると、データ分析でもループ文を1行で書けたりと便利です。 内包表記にはリスト内包表記、辞書包括表記、集合内包表記、ジェネレータ内包表記があります。 リスト内包表記 [expression for item in iterable] 内包表記を使ったリストの作成 結果 [1, 2, 3, 4, 5] enumerate関数を併用して作成するリスト インデックス番号と値がタプルになってリストができます。 結果 [(0, 1), (1, 2), (2, 3), (3, 4), (4, 5)] 上のサンプルをformat関数を使って整形した例 結果 [‘0:1’, ‘1:2’, ‘2:3’, ‘3:4’, ‘4:5’] for文で取り出した値を加工する例 結果 [2, 3, 4, 5, 6] リストの要素をint型に変える例 結果 [2, 1, 3, 4, 5] リスト内包表記の条件式を追加 [expression for item in itarable if condition] if文と併用した例 結果 [1, 3, 5]   >>続きを読む

Python入門 zip関数(動画あり)

zip関数 Pythonのzip関数の使い方を動画を使って説明しています。 Pythonのzip関数は、forループで複数のリストの要素を取得してタプルの形式でまとめて変数に代入してくれます。これはつまり、タプルのアンパッキングを行っているものです。 もし、zip関数を使用時に、いくつかのリストが持つ要素数が異なる場合は、要素数が多いリストの余分な要素が無視されます。 2つのリストでzip関数を使った例 結果 (1, 4) (2, 5) (3, 6) タプルの場合もリストと同じ結果になります。 結果 (1, 4) (2, 5) (3, 6) for in文の中の変数をイテラブルなオブジェクトの数に合わせると、それぞれの変数に値が入ります。 for in文の変数を複数にした例 結果 num_x: 1 num_y: 4 —————— num_x: 2 num_y: 5 —————— num_x: 3 num_y: 6 —————— 辞書作成 Pythonのzip関数を使ってタプルから辞書を作成する例 結果 {‘bird’: ‘鳥̵  >>続きを読む

Python入門 for in文の活用(動画あり)

Pythonでイテラブルなオブジェクトから要素をひとつひとつ抜き出して同じ処理をする場合、for in文が使われます。 これは、プログラムの中でも代表的なアルゴリズムになります。 今回はさらにPythonのfor in文の活用法を紹介していきます。 enumerate()の使い方 Pythonのfor in文では、enumerate()関数を使うと、forループの中でリスト(配列)などのイテラブルオブジェクトの要素と同時にインデックス番号(カウント、順番)を取得できます。 記述のポイントは、for と in の間に記述する変数を1つから2つにすることです。最初の変数にインデックス番号が格納され、次の変数に要素の値が格納されます。 for 変数(インデックス番号), 変数(値) in enumerate(リスト):     処理 enumerate()を使用した例 結果 0 Japanese 1 English 2 Math 3 Science 4 Society for inで指定した変数を使わない場合 for in文では要素の数だけループさせることができます。そのため、特に要素の値は使用しないけれども要素数だけループさせたい場合もあります。 そのような場合、通常通りの書き方もできますが、特に変数は使ってないことを知らせるために変数名をアンダ  >>続きを読む

Python入門 for in文の基本(動画あり)

for in文 for in 文では、イテラルオブジェクトに含まれる複数の値をひとつずつ取り出して、同じ処理を行うことができるループ処理のひとつです。 for 変数名 in イテラブルオブジェクト: 処理 イテラルオブジェクトとはリストの仲間です。 具体的には、リスト、タプル、辞書、集合、文字列などです。 結果 あれは、dogです。 あれは、catです。 あれは、ratです。 あれは、tigerです。 range関数を使う rangeを使うと簡単に連番(シーケンス)を作成することができます。 for 変数 in range([始まりの数値,] 最後の数値[, 増加する量]): ループ処理 rangeには始まりの数値、最後の数値、増加する量の3つの引数がありますが、このうち始まりの数値と増加する量は省略することができます。 range()に数値を1つ渡すと、それが最後の数値となり、0から「最後の数値 – 1」までの値が格納されたリストが作成されます。最後の値の指定はスライスの時の考え方と同じです。 結果 0 1 2 3 4 5 6 7 8 9 参考になった書籍 プログラミングを少しでも経験がありPython の文法を学習する場合は、「入門 Python 3」が良いと思います。長く使えます。 「退屈なことはPython にやらせよう」はオブジェクト指向の解説がないです。代わりにPyth  >>続きを読む

Python入門 三項演算子(動画あり)

三項演算子 Pythonには三項演算子があります。三項演算子とは、if文を1行で簡潔に記述できる手法です。 Pythonでの三項演算子は次のように記述します。 三項演算子の書き方 変数 = [条件がTrueのときの値] if [条件] else [条件がFalseのときの値] 三項演算子のコード例 結果 0以下 同じ内容をif文で記述すると次のようになります。 結果 0以下 例えば質的変数を量的変数に変えたい場合などにもスマートに使えます。 結果 1 Pythonのブール値について Pythonでは、bool値はTrueとFalseだけで表されるものではありません。 次の表のような値もbool値として使われますので知っておくと良いでしょう。 Falseにみなされる値 Falseとみなされるもの 値 ブール値 False null None 整数のゼロ 0 floatのゼロ 0.0 空文字 ” 空リスト [] 空タプル () 空辞書 {} 空集合 set() 参考になった書籍 プログラミングを少しでも経験がありPython の文法を学習する場合は、「入門 Python 3」が良いと思います。長く使えます。 「退屈なことはPython にやらせよう」はオブジェクト指向の解説がないです。代わりにPythonを使った便利な実例が初心者には嬉しい内容です。正規表現から、簡単なスク  >>続きを読む

Python入門 if文の使い方2 while文の使い方(動画あり)

if文で論理演算子(ブール演算)を活用 if文を使う時に複数の条件を比較したい場合があります。 Pythonではそのような場合、論理演算子(ブール演算)を使う方法と、場合によっては、比較演算子を複数使う方法があります。 論理演算子には次の3つがあります。 論理積(かつ): and 論理和(または): or 否定(でない): not 論理演算子には優先順位がありますので、注意してください。 and の方が or より優先されます。 or を優先したい場合は、()で囲みます。 論理積 (and) andは論理積を返します。 選挙権はあるが酒は飲めない 比較演算子を使った方法 論理積を使わずに、比較演算子を複数使うことで、 上の例のコードと同じ結果になります。 結果 選挙権はあるが酒は飲めない 論理和(or) orは論理和を返します。 結果 女性専用車両に乗車不可能 否定(not) notは値の否定を返します。 if notは結果が偽の場合Trueを返します。 結果 成人式ではない while文 whileを使うとコードのブロックを何回も繰り返すことができます。 while節のコードはwhile文の条件式がTrueの間実行されます。 while 条件式(TrueかFalseに評価される式): 次の行に字下げしたコード(while節) While文はif文と似ていますが、振る舞いが違います  >>続きを読む

Python入門 if文の使い方(動画あり)

Pythonのif文について Python のif文は他の言語と少し書き方が違います。 Python の特徴はインデントを使って、if節とelse節を記述します。 Python のインデントには特別の意味があり、インデントされている文を同じブロックとして扱います。 そのため、インデントの数が違うと別のブロックとして認識してしまいます。 他の言語からPyhonを学習する場合に少し戸惑うと思いますが慣れるようにしましょう。 Pythonの比較演算子 if文では必ず条件判定を行います。その際比較演算子を使うことになります。 比較演算子は2つの値を比較してブール値を返すものです。 ブール値には「True」と「False」があります。 先頭文字が大文字であることに注意してください。 Pythonの比較演算子 演算子 意味 a == b a が b と等しい a != b a が b と異なる a < b a が b よりも小さい a > b a が b よりも大きい a <= b a が b 以下である a >= b a が b 以上である a <> b a が b と異なる a is b a が b と等しい a is not b a が b と異なる a in b a が b に含まれる a not in b a が b に含まれない JavaScri  >>続きを読む

Web作成講座〜FlexBoxレイアウトでヘッダーを作成(動画あり)

FlexBoxレイアウトでヘッダー部分作成課題 課題 課題用ファイル の「header_flex_beforeフォルダ」の中のCSSフォルダ内の「style.css」を編集して、「完成例.png」のようなレイアウトを作成してください。 ただし、flexレイアウトを使ってください。 サンプルのダウンロード ここでダウンロードする「flex_lesson1.zip」と「header_flex_after.zip」ファイルは、この動画で使用したものです。 課題用ファイル:flex_lesson1.zip 解答用ファイルheader_flex_after.zip Web入門一覧

Python入門 浅いコピーと深いコピー(動画あり)

浅いコピーと深いコピー Pythonではミュータブルな値のコピーのために、「浅いコピー」と「深いコピー」が存在します。 ミュータブルな例を見て見ましょう。 num = [10, 20, 30] として、num を num2に代入してid番号を調べて見ます。 numもnum2も同じid番号になります。つまりミュータブルな値は同じ場所を指しています。 注意:id番号は実行するごとに変わります。実際には下のコードのid番号と違ってきます。 結果 num = 139706031453704 num2 = 139706031453704 num2の値 [10, 20, 30] つまり次のような状態になっています。 浅いコピー (shallow copy) ミュータブルなリスト値は要素の値を変更したら、上のようなコードで代入した別の変数の値も変わってしまうことが理解できましたら、ではそうならないためにはどうしたら良いかということになります。 そのときに使えるのがcopyモジュールにあるcopy()になります。 copy()を使用するとリストの値をコピーして違うidに保存することができます。 このようなコピーの方法を浅いコピー (shallow copy)といいます。 注意:copyは標準モジュールではありませんので、予めcopyモジュールをインポートしておく必要があります。 結果 139661  >>続きを読む

Python入門 参照渡し(動画あり)

Pythonの参照渡し Pythonは全ての型が参照渡しになっています。 ただし、イミュータブルな型のものはデータが更新されると新たなメモリ領域を確保する仕組みになっています。 それは値渡しのような動きをします。 ミュータブルな型とイミュータブルな型 ミュータブルな型:リスト型、辞書型、集合型 イミュータブルな型:int型、float型、str型、タプル型など イミュータブルなデータが更新されると新たなメモリ領域を確保して元の値は変更されません。 現在の値がどこに確保されているか確認するには、id()関数を使います。 id()関数はオブジェクトのid番号を調べることができます。 イミュータブルとはオブジェクトを変更できないことで、ミュータブルはオブジェクトを変更可能ということです。 オブジェクトの変更とオブジェクトを変数に割り当てることは別ものです。 Pythonでは変数はオブジェクトに付けられたラベルにすぎません。つまりオブジェクトを変数に割り当てるということは、名前を付けただけです。 もう少し言うとオブジェクトを参照しているだけです。 例えば、整数はint型でイミュータブルです。 変数に整数を代入すると、その整数の値に名前が付けられたことになります 同じ変数に違う値を代入すると、その値はイミュータブルなため変更は不可能です。そのためPythonは別の場所に新しい値を置き、変数は  >>続きを読む