たくさんのデータを1つにまとめる| Python独学ならTech-Joho(9)

Python独学ならTech-Joho TOP > Python入門カリキュラム > たくさんのデータを1つにまとめる

たくさんのデータを1つにまとめる

Pythonには、複数のデータを1つにまとめるためのデータ型がいくつかあります。

よくつかうのが、リスト(list)、タプル(tuple)、辞書(dictionary)、セット(set)の4種類です。

下の黒い欄では、Pythonのコードを実際に実行してみることができます。
このページに出てくる例を、打ち込んで試してみて下さい。

 


リスト

リストは、文字通りいろいろなデータのリストと考えて下さい。
1, 2, 3等、数字のリスト、や、”ごはん”, “パン”, “麺” など文字列のリストなど、色々作れます。

>>> [1, 2, 3]
[1, 2, 2]
>>> ['ごはん', 'パン', '麺']
['ごはん', 'パン', '麺']
>>> [1, 'a', 1.00, 'alpha']

最後の例みたいに、数字と文字列が混ざったリストも作れます。
リストの各要素のデータ型に制限はありません。

リストの作り方

既に上で書いてしまいましたが、リストを作るには、リストに入れたいデータを”,”(コンマ)で区切ってつなげて、全体を[](角かっこ)でくくります。

>>> my_list = [1, 2, 3]
>>> print(my_list)
[1, 2, 3]

ちなみに、[と]のことを角かっこと呼ぶのを今知りました。
https://ja.wikipedia.org/wiki/%E6%8B%AC%E5%BC%A7

なお、角かっこだけを書けば、空のリストをつくることもできます。

>>> empty_list = []
>>> print(empty_list)
[]

要素へのアクセス

例えば、あるリストの2番目の要素を取り出すなど、リストの特定の要素だけにアクセスできます。
つまりこういうことです。

>>> my_list = [1, 2, 3]
>>> print(my_list[1])
2

わかりますか?
my_listの番号1(前から2番目)の要素を取り出してみました。
取り出すには、リストの変数名の後ろに[]でくくって、取り出したいデータの番号を入れます。

pythonでは、リストの番号は0から始まります。
なので、前から2番目の要素は、番号1になります。

同じように、前から3番目の要素は、番号2になります。

>>> my_list = ['a', 'b', 'c']
>>> print(my_list[2])
c

要素の追加・変更・削除

リストには、後から要素を追加できます。

追加するには、appendメソッドを使います。

>>> my_list = ['a', 'b', 'c']
>>> print(my_list)
['a', 'b', 'c']
>>> my_list.append('d')
>>> print(my_list)
['a', 'b', 'c', 'd']

この例では、’d’をリストの一番後ろに追加しています。

リストの要素は、変更することができます。
変更は、要素にアクセスするときと似ています。
変数名の後ろに[]と変更したい要素の番号を書いて、そこに=で代入します。

>>> my_list = ['a', 'b', 'c']
>>> print(my_list)
['a', 'b', 'c']
>>> my_list[2] = 'cccc'
>>> print(my_list)
['a', 'b', 'cccc']

この例では、リストの3番目(番号2)の要素を、’c’から’ccc’に変えました。

また、リストの要素を削除するには、popメソッドを使います。

>>> my_list = ['a', 'b', 'c']
>>> my_list.pop(1)
>>> print(my_list)
['a', 'c']

リストの連結

リスト同士で足し算すると、つながります。

>>> my_list = ['a', 'b', 'c']
>>> other = ['x', 'y', 'z']
>>> print(my_list + other)
['a', 'b', 'c', 'x', 'y', 'z']

 

リストについてのもう少し詳しい内容は、こちらで解説する予定です。

リスト[]

リストを操作する動画をとりました。こんな感じになります。


文字列

文字列も、文字というデータがたくさん集まったものです。
そのため、リストと同じような操作ができます。ここでは、文字列の1部を取り出す方法について解説しておきます。

文字列の変数名の後ろに[]を書き、その中に0から始まる番号を書くと、その番号の文字を取り出すことができます。

>>> mojiretsu = 'aiueo'
>>> mojiretsu[0]
'a'
>>> mojiretsu[1]
'i'

上の例では、文字列’aiueo’をmojiretsuという変数に割り当てています。そのあと、mojiretsu[0]で最初の文字aを取り出しています。
さらにそのあと、mojiretsu[1]で二番目の文字iを取り出しています。


タプル

タプルは変更できないリストみたいなものです。
丸かっこ()を使ってつくります。

>>> my_tuple = (1, 'a', 'あ')
>>> print(my_tuple)
(1, 'a', 'あ')

タプルの要素にアクセスするときは、リストと同じように[]を使います。

>>> my_tuple = (1, 'a', 'あ')
>>> print(my_tuple[1])
'a'

タプルの要素を、変更することはできません。変更しようとすると、エラーがでます。

>>> my_tuple = (1, 'a', 'あ')
>>> my_tuple[1] = 'あいうえお'
Traceback (most recent call last):
  module __main__ line 134
    traceback.print_exc()
  module  line 1
    my_tuple[1] = 'あいうえお'TypeError: 'tuple' object does not support item assignment

 


辞書

辞書は、番号ではなく、文字列に対応づけてでデータを保存できるものです。
英語のまま、ディクショナリとカタカナで書いてよぶこともあります。
どういう意味かというと、リストでは、個々の要素を0番, 1番, という風に数字で指定しますが、
辞書では、’a’, ‘b’など文字列で指定できます。
また、リストは角かっこ[]でつくりましたが、辞書は波かっこ{}でつくります。

この例を見てください。

>>> fruits = {'apple': 'リンゴ', 'orange': 'オレンジ', 'melon': 'メロン'}
>>> print(fruits)
{'apple': 'リンゴ', 'orange': 'オレンジ', 'melon': 'メロン'}
>>> fruits['orange']
'オレンジ'

この例では、英単語とその訳の日本語をペアで保存しています。変数名furuitsの後ろに[]を続けて、中に’orange’といれると、’オレンジ’という対応付けた文字列が取り出せました。

こういう例もあります。都道府県名と、その件が関東にあるか関西にあるか、という文字列を対応付けています。

>>> prefectures = {'東京': '関東', '神奈川': '関東', '大阪': '関西'}
>>> print(prefectures)
{'東京': '関東', '神奈川': '関東', '大阪': '関西'}

この場合、変数名prefecturesの後ろに、[]をつけて、中に’東京’といれると、’関東’が取り出せました。

>>> prefectures = {'東京': '関東', '神奈川': '関東', '大阪': '関西'}
>>> print(prefectures['神奈川'])
'関東'

辞書の練習

>>>languages = {'ruby': 'ルビー', 'php': 'ピーエイチピー', 'python': 'パイソン'}

上のlanguagesは、プログラミング言語の英語の名前とそのよみかたの辞書です。
下の黒い欄にプログラミングを書いて、上の辞書からpythonの読み方を取り出して表示してみて下さい。


セット

重複のないデータの集まりです。
リストでは、[1, 2, 1, 3, 1]のように、要素同士に同じものがあっても大丈夫ですが、セットは同じものが入りません。

セットをつくるには、空っぽのセットを作ってから、要素を追加します。

>>> test_set = set() #空のセットを作ります。
>>> print(test_set)
set([ ])
>>> test_set.add('a')
>>> test_set.add('b')
>>> test_set.add('c')
>>> print(test_set)
set(...)

または、既存のリストやタプルをセットへと変換して作ります。

>>> from_list = set(['か','き','く'])
>>> print(from_list)
set({'か', 'き', 'く'})

セットの練習

空っぽのセットをつくってから、’a’を3こ追加して、printしてみてください。

 


<< 前へ 第8回 データ型とオブジェクト

> > 次へ 第10回 場合によって処理を分ける


virtualenvでWindows10 に Django インストール | Django 入門

Python独学ならTech-Joho TOP > django入門/ > Windows 10 でDjango入門

Django

Djangoは、PythonのWebアプリケーションフレームワークです。

http://djangoproject.jp/

RubyのRuby on Railsくらい有名で、昔からあります。

最近いじってなかったのと、windows環境での開発は初めてなので、
開発環境を作ったメモを公開します。

このページはPython初心者の方には難しいです。まず入門編をご覧ください。
Python Hello World
続きもあります

環境

以下は導入済み

  • Windows 10 Creaters Update
  • Python 3.6.2 (x64)
  • MySQL5.7

現時点での最新版を入れると、Django 1.11.5 がはいりました。

参考

公式インストールガイド

virtualenvいれる

virtualenvは、Python用の仮想環境で、例えば環境ごとにpipでいれるモジュールをわけられます。

Rubyのrbenvみたいな感じです。

参考

windowsパワーシェルを起動し、ホームディレクトリで下記を実行

python get-pip.py
pip install virtualenv
mkdir .virtualenvs
virtualenv .virtualenvs/djangodev

pipをインストールし、virtualenv用のディレクトリ.virtualenvを作って、そこにdjangodevという名の仮想環境をインストールしています。

無事インストールできたら、下記のスクリプトを仮想環境djangodevを有効化できます。

.\/.virtualenvs/djangodev/Scripts/activate

私の環境では、パワーシェル用のスクリプトは実行デキない設定になっていました。
上のスクリプトを実行するにはポリシー変更が必要でした。

参考
http://www.atmarkit.co.jp/ait/articles/0805/16/news139.html
管理者権限でパワーシェルを起動し、下のコマンド実行でポリシーを変更できました。

Set-ExecutionPolicy RemoteSigned

仮想環境が有効化されたら、パワーシェルのプロンプトの左側に下のように表示されます。

(djangodev) xxx 

Djangoのインストール

仮想環境の中で、Djangoをインストールします。
pip install Django
python -m django –version

1.11.5が入ったことが確認できます。

Django起動

せっかくなのでチュートリアルのアプリを作って起動するところまでやってみます。

参考
https://docs.djangoproject.com/ja/1.11/intro/tutorial01/

cdコマンドでDjangoのプロジェクトを作りたいところまで移動して

django-admin startproject mysite

これでmysiteプロジェクトができます。

mysiteプロジェクトのディレクトリ内に移動します。

cd mysite

manage.pyはいろいろやってくれるpythonのスクリプトです。開発用のサーバを立ち上げましょう。

python manage.py runserver

これで起動するはずです。

ブラウザでhttp://127.0.0.1:8000/にアクセス。

Djangoの動作を確認できる初期画面

画面が確認できたら成功です。


おまけ iintellij ideaで既存のvirtualenvを読み込む方法

私はintellij ideaにpythonプラグインを入れたものをメインのエディタにしています。

iintellij ideaで既存のvirtualenvを読み込む方法は以下のサイトにのってました。

file>project structure  から
https://stackoverflow.com/questions/20877106/using-intellijidea-within-an-existing-virtualenv

つづき

モデルの追加とマイグレーション | Windows10でDjango入門2

Django をHerokuにデプロイ

データ型とオブジェクト |Python独学ならTech-Joho(8)

Python独学ならTech-Joho TOP > Python入門カリキュラム > データ型とオブジェクト

データ型とオブジェクト

かんたんなデータについては前に説明しました。
このページでは、データ型についてより詳しいことを、オブジェクトという考え方を使って説明しましす。

データ型のおさらい
第5回 変数の型について

 


文字列とメソッド

文字列型のデータを1つ用意すると、いろいろと便利なことができました。

>>> abc = ‘Alpha, Beta’
>>> abc.split(‘,’)
[‘Alpha’, ‘Beta’]

他にも、indexメソッドを使うと、引数で指定した文字が、何番目か分かります。

>>> abc.index(‘,’)
5

ちなみに、順番は一番最初が0番になります。

このように、文字列データを1つ用意するだけで、spllitやindexといった便利なメソッドをすぐに使うことができます。

 


フルーツと道具

ここにフルーツの「リンゴ」が1つあるとします。
このリンゴをどうしましょうか?
リンゴの扱いには、いろいろあります。

ナイフで普通に皮をむいて食べることもできます。
ミキサーを使ってジュースにして飲むの美味しいですね。
また、ちょっとひねった考えですが、植木鉢と土があれば種を植えて芽をださせ、リンゴの木を育てることもできます。

リンゴ


これらはすべて、フルーツのための道具のセットです。
普段は、「フルーツ」という言葉を聞いても実際のオレンジやリンゴしか思い浮かばいですが、ここでは、こうした道具も含めて「フルーツ」と考えます。
ちょっと変な考え方ですが、なんとか慣れて下さい。

「道具も含めてフルーツ」です。

 

文字列データ型を用意すると、いろいろなメソッドを使うことができました。

これを、材料としてのリンゴと、それを料理するための道具セットにも当てはめられます。
データにはそれぞれ型があったように、果物型を考えてみましょう。

文字列型と果物型

文字列データの場合、実際の内容は、それぞれの使うシチュエーションによって違います。例えば、’Red’、’Blue’など、いろいろな文字列を用意できます。これは、果物型で言えば、リンゴではなくてオレンジやメロンを用意することに似ています。

果物屋さんでリンゴを買っても、ナイフやミキサーなどの道具をおまけでくれることはありません。しかし、Pythonは親切なので、データをいろいろな方法で扱う道具を用意してくれます。これが、既に習ったメソッドです。

メソッドについてはこちら
第7回 関数とメソッドを使ってみる

Pythonが用意してくれるメソッドには、必要そうなものがだいたい揃っています。。これらの道具(メソッド)を上手に使うことで、プログラムをすばやく作ることができます。

「オブジェクト」とか「オブジェクト指向」という言葉を知っていますか?

オブジェクトとは、Pythonでは、データ型と同じような意味です。

Pythonにおける型は、実際のデータとそれを処理するメソッドが一緒になっているものです。
このものがオブジェクト。
オブジェクト指向とは、このものとしてのオブジェクトを使ってプログラミングすることです。

 


実体を作る

データ型は、実体が無い概念だけで、実際に使うには、実体(インスタンス)を作る必要があります。
果物型の例でいうと、果物型というのは果物全体を表す概念です。
それに対し、リンゴとかオレンジなどの実物がインスタンスに当たります。

文字列型で考えてみましょう。
「文字列型」というのは概念です。それに対し、いろいろなときに実際に使う’Alpha’だとか、’Orange’、’Osaka’などの実際の文字列がインスタンス、実体です。)

あるデータ型の実体を作るには、そのデータ型を同じ名前の関数を使います。

例えば、文字列型は本当は、str型という名前でした。
第五回 変数の型について
strという名前の関数を、作りたい文字列を引数に渡して実行すると、str型のインスタンスができます。
この、データ型と同じ名前の関数が「初期化メソッド」というものです。
下の例では、できたインスタンスをmy_strという変数に代入しています。

>>> my_str = str('Nagoya')
>>> print('Nagoya')
Nagoya

実は、下のように書いても、同じことです。文字列型(str型)のインスタンスを用意しています。

>>> my_str = 'Nagoya'
>>> print('Nagoya')
Nagoya

文字列(str)、整数(int)、小数(float)などは、組み込みデータ型といいます。
初期化メソッドを使う必要がないようになっています。

 


date型をつかってみる

もっと高機能なオブジェクトをつかってみましょう。
Pythonには、「日付」を表すdate型というデータ型が用意されています。

datetime型を使うには、最初にこのようにimport datetimeを実行する必要があります。

>>> from datetime import *

これはモジュールのimportという操作です。詳しくは別なページで解説します。

インスタンスを作る

特定の日を表す、date型のインスタンスをつくってみましょう。
下の例では、2020年1月1日のインスタンスを作っています。

>>> day = date(2020,1,1)
>>> print(day)
2020-01-11

date型のメソッド

date型は、その日が何曜日かを教えてくれるメソッド「weekday」を持っています。
このメソッドは、曜日を0から始まる数字で返します。0が月曜日、1が火曜日…と続き、6が日曜日です。

>>> day.weekday()
2

2020年1月1日の場合、2なので、水曜日という意味です。

実体がなくても使えるdate型のメソッド

date型は、実体がなくても使えるメソッドとして、todayを持っています。

>>> kyou = date.today()
>>> print(kyou)
2017-10-01

date型の引き算

date型も、引き算ができ、2つの日付の差を計算できます。
先程の、2020年1月1日から、今日の日付を引いてみましょう。

>>> sa = day - kyou
>>> print(sa)
822days, 0:00:00

2020年オリンピックイヤーまではあと822日でした。(もちろん、このコードを実行する日付によって日数は変わります。2020年よりあとに実行していたら、マイナスの日数かもしれません。)

データの属性

インスタンスが、属性やプロパティと呼ばれる変数を持っている場合があります。
例えば、上の例に出てきた日数の差を表す変数saは、実はtimedelta型のデータで、daysという変数(属性)を持っています。

>>> print(sa.days)
822

データ型の調べ方

ちなみに、typeという関数を使うと、インスタンスのデータ型を調べることができます。

>>> type(sa)
<class 'timedelta'>
>>> type(kyou)
<class 'date'>
>>> type(1)
<class 'int'>

 


<< 前へ 第7回 関数とメソッドを使ってみる
>> 次へ 第9回 たくさんのデータを1つにまとめる

Python入門

第1回 Python Hello World

第2回 Pythonでできること

第3回 簡単な計算をしてみよう

第4回 変数に値を代入する方法

第5回 変数の型について

第6回 比較する演算子

第7回 関数とメソッドを使ってみる

第8回 データ型とオブジェクト

第9回 たくさんのデータを1つにまとめる


関数とメソッドを使ってみる | Python独学ならTech-Joho(7)

Python独学ならTech-Joho TOP > Python入門カリキュラム > 関数とメソッドを使ってみる

関数とメソッドを使ってみる

Pythonでは、2つの数値が等しいか、それとも大小に差があるのかを、比べることができます。

下の黒い欄で、実際にPythonコードを実行してみよう。

黒い欄の使い方はこちら


関数は道具

道具を使う人

プログラミングでいう「関数」は道具のようなものだと思って下さい。
何かのデータを「関数」という道具に入れると、何らかの結果のデータが返ってきます。

関数のイメージ

「関数」という言葉は高校の数学でもでてきます。
しかし、数学が苦手な方は、数学の関数はとりあえずおいておいて、「関数は道具」ということを理解して下さい。

 


長さを測る関数

lenという名前の関数があります。
これを使うと、いろいろなデータの長さを測ることができます。

黒い欄に、このようにlen(‘適当な文字列’)と入力してみてください。

>>> len('適当な文字列')
6

‘適当な文字列’という文字列の文字数6が表示されました。

len関数を使うには、lenの後ろに()を書き、その()の中に長さを測りたいデータを入れます。

例えば下のようにすれば、今度は8が返ってきます。

>>> len('aabbccddee')
8

引数、戻り値

()の中身を、引数(ひきすう)といいます。

関数から帰ってきたデータ(この場合8)を、戻り値(もどりち)といいます。

>>> 関数(引数)
戻り値

こんなイメージです。

ちなみに、戻り値は変数にとっておくこともできます。

>>> x = len('aiueo')
>>> x
5

 

lenの練習

いろいろなデータをlen関数の引数にして、実行してみましょう。
1、’abcd’、[‘あ’, ‘い’, ‘う’]など….

 


データを文字列に変換する関数

strという関数を使うと、数値等のデータを、文字列に変換することができます。
どのような時に使うのか見てみましょう。

Pythonでは、数値同士の足し算ができます。

>>> 1 + 2

5

さらに、実は文字列同士の足し算?もできます。

>>> 'ごはん' + 'ですよ'
'ごはんですよ'

正確には足し算というより、文字列の結合、つまり文字列をつなげる処理です。

では、文字列と数値を足すとどうなるでしょうか?

>>> 'USO' + 800
Traceback (most recent call last):
  module __main__ line 145
    traceback.print_exc()
  module  line 1
    'USO' + 800TypeError: Can't convert int to str implicitely

このように、エラーになってしまいます。

エラーを読むと、” Can’t convert int to str implicitely”と理由がかいてあります。
これは、int型のデータ(整数の数値)を、str型のデータ(文字列)に暗黙的に変換できません、といわれています。

要は、数値は数値と、文字列は文字列としか、足せません。
数値と文字列を足したいときは、どちらかにデータの型をあわせないといけません。

そのために、数値を文字列に変換する時、str関数を使います。
こんな感じです。

>>> 'USO' + str(800)
'USO800'

str関数は、文字列を表すstr型と同じ名前になっており、データをstr型に変換するということがわかりやすいと思います。

 

strの練習

いろいろなデータをstr関数の引数にして、実行してみましょう。
1、3.1415, “あいうえお”など…

>>> str(3.1415)
'3.1415'

 


データを画面に出力する関数

printという関数を使うと、データの内容を画面に表示することができます。

今、下の黒い欄に例えば3.1415と打ち込んでエンターキーを押すと、3.1415と下に表示されます。
しかし、実はこれは特殊な環境で、本来、画面にデータの内容を表示するには、print関数を使う必要があります。

>>> print(3.1415)
3.1415

違いがわからないと思いますが、今後、今使っているWebブラウザから離れて、プログラムのファイルを作って実行する際には、print関数を使うことになります。

 

printの練習

いろいろなデータをprint関数の引数にして、実行してみましょう。
1、’abcd’、[‘あ’, ‘い’, ‘う’]など….

 


データにくっついている関数=メソッド

いろんなデータ型の専用の関数のことをメソッドといいます。

例えば、文字列型は自分専用の関数(メソッド)をたくさん持っています。
その一つが、文字列型は、自分自身を特定の文字列で区切る「split」というメソッドです。
splitメソッドは、引数の文字列で、自分自身を区切ります。

splitメソッドを使って、’Tokyo,Japan’という文字列に、addressという変数名を付けて、”,”(コンマ)で区切ってみます。みなさんも黒い欄で試してみて下さい。

>>> address = 'Tokyo,Japan'
>>> address.split(',')
['Tokyo', 'Japan']

こんな風に、メソッドを使うときは、以下のよううに、変数名や定数名につづけて、”.”(ドット)をうち、次に変数名とカッコを入力します。引数はない場合もあります。

>>> 変数名.メソッド名(引数)

例えば文字列型には、小文字を大文字にするupperというメソッドがあります。
upperメソッドは引数がありません。
upperメソッドを使ってみます。

>>> address.upper()  
'TOKYO, JAPAN'

 

メソッドの練習

好きな文字列を作って、split, upperのメソッドを実行してみてください。

>>> 'ごろはろん'.split('ろ')
['ご', 'は', 'ん']
>>> a = 'macbookpro'
>>> a.upper()
'MACBOOKPRO'

次は、データの入れ物についてもっと詳しくやります。


Python入門コンテンツのお供にBrython

Python独学ならTech-Joho TOP > いろいろやってみた > Python入門コンテンツのお供にBrython

Python入門コンテンツのお供にBrython

Web上のPythonの入門コンテンツに、ブラウザ内でPythonを実行できるコンソールを付けてみました。

道具としては、ブラウザ上でPythonコードが実行できるBrythonというJSのライブラリを使いました。

Brythonとは

Brython is designed to replace Javascript as the scripting language for the Web. As such, it is a Python 3 implementation

引用: http://brython.info/

Brythonは、としてのWebのためのスクリプト言語JavaScriptを置き換えるために作られました。これはPython3の実装です。(意訳)

というわけで、Brythonは、Webブラウザ上でJavaScriptの代わりにPythonが使えるものです。

Brythonの基本的な使い方

Brythonの典型的な使い方は、htmlのスクリプトタグの中に、JavaScriptじゃなくてPythonのコードを書く、というものみたいです。

例えばこちらのサイトにあるサンプルは非常に基本的なものです。

http://python301.blog123.fc2.com/blog-category-24.html

 

ちょっと応用で、テキストエリアに入力したPythonコードを実行するということもできます。

Brythonのコンソール

Brythonの公式サイトには、PytnonのREPL環境的なコンソール版のコードも公開されていました。

http://brython.info/console.html

それをiframeタグで読み込んだものです。
こんな風に書きます。

  <iframe src=http://brython.info/console.html width=800 height=400></iframe>

表示結果はこちら。

Pythonコードが実行できます。

Brythonコンソールをワードプレスに仕込む

もともと、このサイトではPythonの初心者向けのコンテンツを提供しようと考えていました。

このコンテンツが対象とする、ものすごく初心者な人には、Pythonをローカル環境にインストールして動かすのも一苦労ということが分かっていました。

ローカル環境にインストールするという作業は、Pythonのプログラミング学習の本質ではありません。インストールでつまずくのは非常にもったいない。

そこで、近頃よくあるブラウザ上でいろいろなプログラミング言語を実行してすぐ結果がみられる環境を、入門記事の中に入れられないかと考えました。

インストール前に、まずPythonを使う感覚をつかんでもらいたかったためです。

そこで、上に書いてあるBrythonのコンソールを、Wordpressで書いた記事の中に簡単に入れられるような工夫をしました。

Brythonコンソールをワードプレスに仕込む

上記のように、iframeでPythonコードを読み込んだだけです。

とはいっても、公式のコンソールを読み込むのは忍びないので、まずじtech-joho.info上でbrythonコンソール用のhtmlをホストしています。

これを、各投稿でirameで読み込んでいます。

さらに、使いやすいように、
テーマのCSSに、width:100%; position:fixed; bottom:0pxとか書いて、画面下部に固定しました。

表示例はこちらにあります。

第1回 Python Hello World

大学ではじめてPythonやプログラミングを勉強する人へ

大学ではじめてPythonやプログラミングを勉強する人へ

本サイトは、大学や高校などではじめてプログラミングを習う人を意識した内容にしています。

その中でも近ごろは一番最初に勉強するプログラミング言語がPythonという場合が多いようなので、Pythonの学習コンテンツを用意しました。

本サイトを見てほしい人

Pythonは文法が比較的かんたんで、他の人の書いたコードも読みやすいプログラミング言語なので、一番最初に習う言語として選ばれやすいです。

それでも、なかなかすんなりと頭に入ってこない人も多いと思います。

  • 他のサイトや教科書でPythonを勉強しているが、よくわからない
  • もともとプログラミングやITが好きというわけでもない
  • 数学が苦手
  • 高校では文系のクラス

これらに当てはまる人にとって役立つサイトを目指しています。


このサイトのPython入門記事のリストです。

第1回 Python Hello World

まずはここから始めてください。

第2回 Pythonでできること

Pythonを勉強して何ができるのか、何に役立つのか、について解説しています。

ここより下は、具体的な文法や書き方についての入門記事です。特に必要な部分を見ていってください。

第3回 簡単な計算をしてみよう

第4回 変数に値を代入する方法

第5回 変数の型について

第6回 比較する演算子


Pythonの問題集

少しずつですが、Pythonの文法の基本についての練習問題を用意しました。
回答例と解説つきです。
簡単にですが、正誤判定もついています。
現在は、学習を始めたてくらいの人向けの簡単な問題ばかりです。

こちらからどうぞ。
Python問題集


Pythonを学べる大学一覧

まだ全然集まっていませんが、Pythonをこれから学びたいという人のために、Pythonの授業や演習のある学校の一覧をつくり始めました。
興味のある方はごらんください。
pythonを学べる大学一覧2018


オススメのテキスト

Pythonの基本が、問題形式になった入門書です。

Python入門の本としては、欄外にある「みんなのPython」等も良い本ですが、
問題になっているというのはこれしかない気がします。

大学や専門学校でPythonを学習する場合、練習問題を問いたり、テストで問題形式で出題されたりすることがあるので、
そんな時に手元にあると勉強しやすいと思います。

また、実は内容はかなりオーソドックスなPython入門になっており、しっかり学習できます。


これらのコンテンツがお役に立てば幸いです。

 

比較する演算子| Python独学ならTech-Joho(6)

Python独学ならTech-Joho TOP > Python入門カリキュラム > 比較する演算子

Pythonで数値を比べてみよう

Pythonでは、2つの数値が等しいか、それとも大小に差があるのかを、比べることができます。

下の黒い欄で、実際にPythonコードを実行してみよう。

黒い欄の使い方はこちら

比較演算子

2つの数値を比べるには、比較演算子と言うものを使います。

その一覧がこちらです。

 比較演算子 数学記号
 <
 <=  ≦
 >  >
 >=  ≧
 !=  ≠
 ==  =

左の列がPythonで使う比較の演算子、右の列に書いてあるのは、その数学で言うところの意味です。

ある数値が他の数値より大きいか、小さいか、またはそれ以上か、それ以下か、という大小の比較には、>や=を使います。

また、等しいか、等しくないか、という比較には、!や=を使います。

使ってみる

例えば、下の黒い欄に7==1と入力してみて下さい。

7==1は7が1と等しいですか?という比較です。

7は、1とは等しくないので、Falseという値が表示されたはずです。

7==1の例

このように、比較してみて、その結果が正しくないと、Bool型のFalse(偽)が返ってきます。

もう一つ試してみましょう。7 >=  1と入力してみて下さい。

7>=1の例

7 >= 1は、7は1以上ですか?という比較です。そして、7は1以上の数値です。

このように、比較の結果が正しいときはBool型のTrue(真)が返ってきます。

Bool型や真偽値について忘れた人、分からない人はこちらで復習してください。

 

全部の例をそれぞれ使ってみた例です。皆さんも、下の黒い欄で試してみてください。このように、変数に代入した値を比較することもできます。

変数に代入した数値の比較の例

 

Python特有の比較演算

演算子

Pythonの比較演算では、同じ数値を複数の数値と比較するとき、同じ数値をたくさん書く必要がありません。

https://docs.python.org/ja/3/reference/expressions.html#comparisons

また a < b < c が数学で伝統的に用いられているのと同じ解釈になる

具体例を見たほうが分かりやすいと思います。

変数aが10未満で5より大きいことを確かめるのに、他のほとんどの言語と同じようにPythonでも、下のように書くことができます。

>>> 10 > a and a > 5 

Pythonでは、それだけでなく、このように書いても同じ意味なります。

>>> 10 > a > 5 

数学で一般的に書く不等式のように、aを共通にしてもよいということです。

文字列の比較

Pythonでは、数値同士だけでなく、文字列同士も比較できます。

黒い欄で下のコードを実行してください。

>>> 'a' < 'b'

Falseが返ってきました。
また、逆を実行するとTrueが返ってきます。
どうやら、abc順に比較結果が返ってくるようです。

'a' > 'b' in python

日本語や複数文字ではどうでしょうか?

黒い欄で下のコードを実行してください。

>>> 'あいうえお' > 'あいうえか'

逆も実行してみてください。
日本語でもあいうえお順に、また、複数文字の場合も考慮して比較してくれます。

あいうえお比較

正確には、文字列のUnicode コードポイントをみているようです。

参考

Pythonの文字列の比較演算子について
https://qiita.com/ninomiyt/items/bd3e1e441b6b79328de7

Python公式ドキュメント Comparison
https://docs.python.org/3/reference/expressions.html#comparisons

 

比較演算子については以上です。

次は、関数という便利な道具の使い方です。

 


<< 前へ 第5回 変数の型について

>> 次へ 第7回 関数という道具


変数の型について | Python独学ならTech-Joho(5)

Python独学ならTech-Joho TOP > Python入門カリキュラム > 変数の型について

変数の型について

Pythonプログラミングで利用する変数の型とは何なのか、解説しています。

下の黒い欄にPythonコードを打ち込み、実際に実行しながら学んでみよう。

黒い欄の使い方はこちら

型とは

Pythonのデータには、種類があります。

1や100といった整数のデータと、、”abc”といった文字列のデータの種類が違うことは、なんとなく理解できるのではないでしょうか?

こうしたデータの種類のことをデータの型とか、データ型と言います。また、クラスという言い方もあります。これらの違いについては後々とりあげます。

型の例

よく利用する型の例を解説します。

例に書いてあるデータを、実際に下の黒い欄に打ち込んでみて下さい。

整数

小数点が含まれない数字です。int型といいます。イントと読みます。英語のInteger(整数という意味)の略です。

書くときは、数字をそのまま書きます。

>>> -1
-1
>>> 0
0
>>> 256
256

文字列

文字を表現するための型です。str型といいます。スター、ストリング、エステイーアール、などと読みます。英語のString(文字列という意味)の略です。

注意が必要なのは、数字も、””で囲んで入力すると文字列になるということです。
この場合、数字としての意味はなく、計算に使うことができません。

書くときは、引用符(’または”)で囲んで書きます。

>>> "Tokyo"
"Tokyo"
>>> "東京"
"東京"
>>> "123"
"123"
>>> "3.14145"
"3.14145"

小数

小数点を含む数字を表す型です。float型といいます。フロートとよみます。

この名前は、floating point number(日本語で浮動小数点数)の略で、小数を扱う仕組みから来ています。厳密には、小数を表す型はほかにもいろいろあります。これについてもあとあと解説します。

書くときは、小数点を付けて数字を書きます。

>>> -3.14
-3.14
>>> 0.005
0.005
>>> 1.0
1.0

真偽

正しいか間違っているかの2つの状態を表します。bool型といいます。ブールとよみます。

以下の2つの値しかありません。

>>> True
True
>>> False
False

リスト

複数のデータをひとまとめにして扱います。

書くときは、カンマ区切りに並べたデータを角括弧[ ]で囲みます。

>>> [1,2,3,4,5]
[1,2,3,4,5]
>>> ['Tokyo','Osaka','Takamatsu']
['Tokyo','Osaka','Takamatsu']

型は他にもいろいろあり、
実は、型を自分で作ることもできるのですが、詳しいことはまた別の記事で。
次に進んで下さい。

 

 


Pythonの変数名のつけ方|Python用語辞典

Python独学ならTech-Joho TOP > Python用語辞典 > Pythonの変数名のつけ方

Pythonの変数名はなんでもいい

タイトルの通り、Pythonの変数名はなんでも良いです。

画面の下の黒い欄にPythonのコードを入力してみて下さい。
いろいろな変数名

上の例では、x、suuji、num123という変数に数値を代入してみました。この変数名は適当に決めました。変数名は、あなたの自由に決めていいものです。

ただし、後々のことを考えると、その変数に代入した数字の意味を表すようなわかりやすい名前にしたほうが良いと思います。

意味のある変数名の例

上の例では、円周率の数値をenshuuritsuという変数に代入しました。また、18歳という年齢を表しているという想定で、ageという変数に数値を代入してみました。

変数名のルール

なお、変数名は自由に決められると言っても、いくつか基本的なルールは決まっています。

  • 使える文字は、「アルファベット」、「数字「、「_」だけ (python3からは実は日本語や記号等も使える)
  • 大文字と小文字は区別される
  • 先頭に数字は使えない
  • is, not, if, for など、Pythonの命令などで使われている特別な単語は使えない

下の例では、変数に1suuchiという名前をつけようとして、”SyntaxError invalid syntax”というエラーが表示されています。

変数名1suuchiはInvalid syntaxになる例

このように、ルールに違反する変数名はつけたくてもつけることができません。

おまけ 日本語の変数名

python3からは、文字列の扱いがUnicodeになった関係で、変数や関数の名前として、日本語や記号等も使えます。
python unicode variables name

参考
Python3 日本語の変数名&関数名
https://www.cmscom.jp/blog/k3mhim

 

 

変数に値を代入する方法 | Python独学ならTech-Joho(4)

Python独学ならTech-Joho TOP > Python入門カリキュラム > 変数に値を代入する方法

変数に値を代入する方法

Pythonのプログラミングの基本、変数への値の代入について解説します。

下の黒い欄にPythonコードを打ち込み、実際に実行しながらまなんでみよう。

黒い欄の使い方はこちら

代入

Pythonでは、数字や文字列を入力することができます。(下の黒い欄に入力してみて下さい)

また、このように計算をさせることもできます。下の例では、3.1415×2と3.1415×3を計算しています。

3.1415の掛け算

しかし、3.1415という小数は長いので、2回目の計算では最後の数字を打ち間違えてしまいました。
やり直して、3回目では成功しました。

上の計算のように、同じ数字を何度も利用するときは、データに名前をつけてとっておくと便利です。

これを、変数に代入するといいます。

代入のやり方は、=(イコール)を使います。

代入する変数をイコールの左に、代入する値をイコールの右に置くと代入できます。

xへの3.1415の代入

上の例では、変数xに数値3.1415を代入しています。

変数に代入したデータは、その後は変数名で呼び出し、他の計算などに利用することができます。

xに代入したあとで、xとだけ入力すると、上で代入した値が表示されます。

xへの代入の後、代入した値を表示

xに数値を足したり、かけたりもできます。(x + 3が変な数字になっていますが、これは計算の誤差です。コンピュータの計算には誤差がでることも多いです。)

変数に代入した文字列の掛け算

xに代入した数値の足し算、掛け算

変数の名前について

変数の名前に使える文字は、「アルファベット」、「数字「、「_」だけです。
大文字と小文字は区別されます。例えば、変数名tanukiとTanukiは別な変数になります。
また、変数名の先頭に数字は使えません。
また、is, not, if, for など、Pythonの命令などで使われている特別な単語は使えません。

Pythonの変数の名前の付け方については、こちらにもう少し詳しく書いたのできになる方はご覧ください。


変数への代入についても、練習問題を用意したので、チャレンジしてみましょう。

変数への代入の練習問題(1)


>> 次へ 第5回 変数の型について

<< 前へ 第3回 簡単な計算をしてみよう