比較演算子について。C言語とほぼ同じ表現方法です。
06 データ型
C言語と大きく違い、変数の宣言は必要がない。
Basic Operators
Contents
基本オペレータ
この節ではPythonで基本的な演算子を使う方法を説明します。
算術演算子
他のプログラミング言語と同じように、加算、減算、乗算、除算の演算子を数値と共に使用できます。
number = 1 + 2 * 3 / 4.0
print(number)
答えがどうなるかを予測してみてください。Pythonは操作の順番に従いますか?
利用可能な別の演算子は、除算の整数剰余を返すモジュロ(%)演算子です。配当率%divisor =剰余。
remainder = 11 % 3
print(remainder)
2つの乗算記号を使用すると、べき乗の関係になります。
squared = 7 ** 2
cubed = 2 ** 3
print(squared)
print(cubed)
文字列で演算子を使用する
Pythonは、加算演算子を使った文字列の連結をサポートしています。
helloworld = “hello” + ” ” + “world”
print(helloworld)
Pythonは、文字列を繰り返して連続する文字列を形成することもサポートしています。
lotsofhellos = “hello” * 10
print(lotsofhellos)
リストでの演算子の使用
リストは加算演算子で結合することができます。
even_numbers = [2,4,6,8]
odd_numbers = [1,3,5,7]
all_numbers = odd_numbers + even_numbers
print(all_numbers)
文字列の場合と同様に、Pythonは乗算演算子を使用して繰り返しシーケンスで新しいリストを作成することをサポートします。
print([1,2,3] * 3)
演習課題
この課題の目標は、x_list
and という2つのリストを作成することです。y_list
これらのリストには、それぞれ変数x
andの10個のインスタンスが含まれていますy
。あなたはとも呼ばれるリストを作成するために必要とされているbig_list
変数が含まれ、x
そしてy
あなたが作成した二つのリストを連結して、10回ずつ。
x = object() y = object() # TODO: change this code x_list = [x] y_list = [y] big_list = [] print("x_list contains %d objects" % len(x_list)) print("y_list contains %d objects" % len(y_list)) print("big_list contains %d objects" % len(big_list)) # testing code if x_list.count(x) == 10 and y_list.count(y) == 10: print("Almost there...") if big_list.count(x) == 10 and big_list.count(y) == 10: print("Great!")
Lists
Contents
リスト
リストは配列と非常によく似ています。それらは任意のタイプの変数を含むことができ、それらはあなたが望むだけ多くの変数を含むことができます。リストは非常に簡単な方法で反復することもできます。これはリストを作成する方法の例です。
mylist = [] mylist.append(1) mylist.append(2) mylist.append(3) print(mylist[0]) # prints 1 print(mylist[1]) # prints 2 print(mylist[2]) # prints 3 # prints out 1,2,3 for x in mylist: print(x)
存在しないインデックスにアクセスすると、例外(エラー)が発生します。
mylist = [1,2,3] print(mylist[10])
課題
この課題では、 “append”リストメソッドを使って正しいリストに数字と文字列を追加する必要があります。「数」リストに数字1、2、および3を追加し、文字列変数に単語「hello」と「world」を追加する必要があります。
角かっこ演算子を使用して、変数second_nameに名前リストの2番目の名前を入力する必要もあります[]
。インデックスは0から始まるので、リストの2番目の項目にアクセスする場合、そのインデックスは1になります。
参考
https://www.learnpython.org/en/Lists
Variables and Types
Contents
変数と型
Pythonは完全にオブジェクト指向であり、「静的に型付け」されていません。使用する前に変数を宣言したり、型を宣言する必要はありません。Pythonのすべての変数はオブジェクトです。
このチュートリアルでは、いくつかの基本的な種類の変数について説明します。
数値
Pythonは2種類の数をサポートします – 整数と浮動小数点数。(これは複素数もサポートします。このチュートリアルでは説明しません)。
整数を定義するには、次の構文を使用します。
myint = 7 print(myint)
浮動小数点数を定義するには、次の表記法のいずれかを使用します。
myfloat = 7.0 print(myfloat) myfloat = float(7) print(myfloat)
文字列
文字列は、一重引用符または二重引用符で定義されます。
mystring = 'hello' print(mystring) mystring = "hello" print(mystring)
この2つの違いは、二重引用符を使用するとアポストロフィを簡単に含めることができるという点です(これに対して、一重引用符を使用すると文字列が終了します)。
mystring = "Don't worry about apostrophes" print(mystring)
代入は、このように同じ行にある「同時に」複数の変数に対して行うことができます。
a, b = 3, 4 print(a,b)
課題
この課題の目標は、文字列、整数、および浮動小数点数を作成することです。文字列には名前を付けmystring
、 “hello”という単語を含める必要があります。浮動小数点数には名前を付けてmyfloat
10.0の数を入れ、整数には名前を付けてmyint
20の数を入れなければなりません。
参考
https://www.learnpython.org/en/Variables_and_Types
Python Hello, World!
Contents
VS Code install
- ウェブページを開く
https://code.visualstudio.com/ - 「Visual Studio Code」の「 ダウンロード」をクリック.※ Linux 版, Mac 版が欲しいときは「さらに詳しく」をクリック
- ダウンロードした .exeファイルを実行する.
Pythonスクリプトを書いてみる
- Documentsの下にPythonというフォルダを作る。
- VS Codeのメニューから「フォルダを開く」を選択し、1で作成したフォルダを指定する。
- 同じくメニューから「新規ファイル」を選択し、hello.pyなどのファイル名を付ける。拡張子から自動的にpythonスクリプトと認識される。
- VS Codeから、勧めExtensionsが表示され、好みでインストールする。
- 何か適当なコードを書く。
if True:
print('Hello world')
- VS Codeのターミナル(開いてなければメニューから「新規ターミナル」を開き)で実行する。
/Users/chen/Documents/C > python hello.py
Hello world
これで最低限、pythonを快適に編集できるようになった。
Colab(2) Pip List
Machine Learning に使うライブラリを確認するため、OSのコマンドラインに命令を送る。
!pip list |
ずらずら出てきた。かなり長い。
Package Version ---------------------------------- ----------- absl-py 0.5.0 altair 2.2.2 astor 0.7.1 backports-abc 0.5 backports.functools-lru-cache 1.5 backports.shutil-get-terminal-size 1.0.0 backports.weakref 1.0.post1 beautifulsoup4 4.6.3 bleach 3.0.2 cachetools 2.1.0 certifi 2018.10.15 chardet 3.0.4 configparser 3.5.0 crcmod 1.7 cycler 0.10.0 cymem 2.0.2 cytoolz 0.9.0.1 decorator 4.3.0 defusedxml 0.5.0 dill 0.2.8.2 entrypoints 0.2.3 enum34 1.1.6 funcsigs 1.0.2 functools32 3.2.3.post2 future 0.16.0 futures 3.2.0 gast 0.2.0 google-api-core 1.5.0 google-api-python-client 1.6.7 google-auth 1.4.2 google-auth-httplib2 0.0.3 google-auth-oauthlib 0.2.0 google-cloud-bigquery 1.1.0 google-cloud-core 0.28.1 google-cloud-language 1.0.2 google-cloud-storage 1.8.0 google-cloud-translate 1.3.1 google-colab 0.0.1a1 google-resumable-media 0.3.1 googleapis-common-protos 1.5.3 grpcio 1.15.0 h5py 2.8.0 httplib2 0.11.3 idna 2.6 ipykernel 4.6.1 ipython 5.5.0 ipython-genutils 0.2.0 Jinja2 2.10 joblib 0.12.5 jsonschema 2.6.0 jupyter-client 5.2.3 jupyter-core 4.4.0 Keras 2.1.6 Keras-Applications 1.0.6 Keras-Preprocessing 1.0.5 Markdown 3.0.1 MarkupSafe 1.0 matplotlib 2.1.2 mistune 0.8.4 mock 2.0.0 mpmath 1.0.0 msgpack 0.5.6 msgpack-numpy 0.4.3.2 murmurhash 1.0.1 nbconvert 5.4.0 nbformat 4.4.0 networkx 2.2 nltk 3.2.5 notebook 5.2.2 numpy 1.14.6 oauth2client 4.1.3 oauthlib 2.1.0 olefile 0.46 opencv-python 3.4.3.18 pandas 0.22.0 pandas-gbq 0.4.1 pandocfilters 1.4.2 pathlib 1.0.1 pathlib2 2.3.2 patsy 0.5.0 pbr 5.0.0 pexpect 4.6.0 pickleshare 0.7.5 Pillow 4.0.0 pip 18.1 plac 0.9.6 plotly 1.12.12 portpicker 1.2.0 preshed 2.0.1 prompt-toolkit 1.0.15 protobuf 3.6.1 psutil 5.4.7 ptyprocess 0.6.0 pyasn1 0.4.4 pyasn1-modules 0.2.2 Pygments 2.1.3 pymc3 3.5 pyparsing 2.2.2 pystache 0.5.4 python-dateutil 2.5.3 pytz 2018.5 PyWavelets 1.0.1 PyYAML 3.13 pyzmq 16.0.4 regex 2018.1.10 requests 2.18.4 requests-oauthlib 1.0.0 rsa 4.0 scandir 1.9.0 scikit-image 0.13.1 scikit-learn 0.19.2 scipy 0.19.1 seaborn 0.7.1 setuptools 40.4.3 simplegeneric 0.8.1 singledispatch 3.4.0.3 six 1.11.0 spacy 2.0.16 statsmodels 0.8.0 subprocess32 3.5.3 sympy 1.1.1 tensorboard 1.11.0 tensorflow 1.12.0rc1 tensorflow-hub 0.1.1 termcolor 1.1.0 terminado 0.8.1 testpath 0.4.2 Theano 1.0.3 thinc 6.12.0 toolz 0.9.0 tornado 4.5.3 tqdm 4.27.0 traitlets 4.3.2 typing 3.6.6 ujson 1.35 uritemplate 3.0.0 urllib3 1.22 vega-datasets 0.5.0 wcwidth 0.1.7 webencodings 0.5.1 Werkzeug 0.14.1 wheel 0.32.1 wrapt 1.10.11 xgboost 0.7.post4
Blue Book の機械学習のRaspberry Piの環境と比べると、ほぼ同じといえる。
こちらでBlue Book の機械学習をやってみる。
カラー図解 Raspberry Piではじめる機械学習 基礎からディープラーニングまで (ブルーバックス) 新品価格 |
Colab(3) use OpenCV
Contents
「参考1」のコードはほぼ同じでできた。
コード
下記のコードをGoogle Colaboratoryにコピペ、lena_std.tifのファイルは別途用意する。
%matplotlib inline import cv2 # opencvのインポート import matplotlib.pyplot as plt # matplotlib(描画用) print(cv2.__version__) from google.colab import files # f = files.upload() #ファイルアップロード img=cv2.imread("./lena_std.tif") show_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) plt.imshow(show_img) #表示
lena_std.tifというファイルをアップロードして、imreadで読み込んで、plt.imshowで表示する。
(表示の前に、BGRをRGBに変換)。
参考
- https://qiita.com/kouki_outstand/items/ec1024cf0517f686ed7b
Colab(1) Getting start
Contents
Google ColaboratoryはGoogleが機械学習の教育や研究用に提供しているツールである、Jupyter Notebook環境が無償で!使うことができる。
Google Colaboratoryとは
Colaboratory は、完全にクラウドで実行される Jupyter ノートブック環境です。設定不要で、無料でご利用になれます。Colaboratory を使用すると、コードの記述と実行、解析の保存や共有、強力なコンピューティング リソースへのアクセスなどをブラウザからすべて無料で行えます。
Google Colaboratoryの起動
Google Colaboratoryにブラウザでアクセスするだけ
リソースの確認
ノートブックを新規作成 > PYTHON 2の新しいノートブック または, PYTHON 3の新しいノートブック を選択
“!”をつけることで、Linuxのコマンドを実行することができます。
コードセルを追加し
!cat /proc/cpuinfo
長い出力を確認してください。
仮想マシンタイプスペック
Google Colaboratoryの仮想マシンタイプスペックの例:
- n1-highmem-2 instance
- Ubuntu 18.04
- 2vCPU @ 2.2GHz
- 13GB RAM
- (GPUなし/ TPU)40GB, (GPUあり)360GB Storage
- GPU NVIDIA Tesla K80 12GB
- アイドル状態が90分続くと停止
- 連続使用は最大12時間
- Notebookサイズは最大20MB
複数のマシンのブラウザから開けるので、ペア・プログラミングが便利かも。
浅谈Moodle方式的语文教学
Moodle,Modular Object-Oriented Dynamic Learning Environment(模块化面向对象的动态学习环境)的缩写。顾名析义,Moodle是个“模块化”的东西,从教学运用角度理解,是不能与通常意义上的课件相提并论的;同时,Moodle又是一个动词,用来描述一个循序渐进的过程,一个可以引导学习者不断的洞察和创造的过程。
Moodle,译名“魔灯”。07年5月,我于苏州市第二届信息技术研究型教师培训班初始接触Moodle,顿觉魔灯之“魔”力之巨大,实非短期内可以吸收并运用的,非得花一段工夫,下一番功夫,仔细琢磨,或许可以领略其内涵之五成。 Continue reading 浅谈Moodle方式的语文教学