Python、はじめました

非IT系私文卒リーマン vs Python の全記録

Python SoloLearn Basic Concept(その1)

 

Pythonについての大枠を説明している章。

書いていることが抽象的過ぎて初見だと「……???」

"プログラム分かっている人向け"の内容で、読むのに苦労しました♨

はじめにこういう難しいこと書く教材はダメだよね。


一回目に読んだときはダメだったけど、

ある程度プログラミングの勉強を進めた後に読みなおすと

「あそこのこれってそういうことだったんだ」

といった感じでスッキリ理できるようになる…ハズ。。。

苦痛だったら読み飛ばしてもいい章だと個人的には感じました。

 

What is Python?

 

Python is processed at runtime by the interpreter.There is no need to compile your program before executing it.

Pythonインタプリタによって実行時に処理されます。

実行前にプログラムをコンパイルする必要はありません。”

 

?????????

まずインタプリタって何ですか…???

と思ったら、次の節に解説があった。

 

An interpriter is a program that runs script written in an interpreted language such as Python.

 "インタプリタとは、Pythonのようなインタプリタ言語で書かれた

スクリプトを実行するプログラムです。"

 

?????????

 Pythonってなんだ?

インタプリタってなんだ

→interpreted language such as Python

堂々巡りかよ…

+スクリプト←NEW!!

 

プログラムを初めて学ぶときって、わけわかんないことばっかだよね。

 

各用語のの説明については

https://wa3.i-3-i.info/word188.html

が詳しいよ

 

プログラム言語⇔機械語とは

コンピューターに命令を出すには、

コンピューターの言語である機械語を使わなければいけない。

だけど、機械語は"0101011101"のような感じの二進法の羅列なので、

到底人間が欠けるものではない。

※それを書いてきた人間たちもいる。詳しくは記事下の商品内のエピソードにて

そこで、人間が読める形の言語が開発された。

それがプログラミング言語である。

 

コンピュータが読むか、人が読むかで
機械語プログラミング言語

 

コンパイラ言語⇔インタプリタ言語とは

プログラミング言語機械語に翻訳されることで、

コンピューターによって実行される。

この過程には大きく分けて、コンパイルインタプリタの二通りの方法がある。

コンパイル→書かれたプログラミング言語をすべて一括して翻訳。

翻訳後、一連の機械語を実行する。

インタプリタ→書かれたプログラミング言語を順次翻訳し実行、

翻訳し実行を繰り返す。

この”翻訳し実行する”一連の流れを行うプログラムを

インタプリタ(逐次翻訳)という。

 

一括翻訳か、逐次翻訳かで
コンパイラ言語⇔インタプリタ言語

 

こう整理すると、何となく言いたいことわかってきた…?

 

Your First Program

 

Python is an interpreted language, which means that each line is excuted as it is entered.

"Pythonインタプリタ言語なので、それぞれの行が入力された通り実行される。

 

ここは上の繰り返しだ。

Pythonはこの特徴のため、一行だけでもプログラムとして成り立つ。

 print("Hello world")

 ちなみにこれをJavaコンパイル言語)で書くとこんな感じ

public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!!");
}
}

ぼくはここでPython信者になった。

なんだこの省エネ言語は……

 

Floats

 

Computers can't store floats perfectly accuretaly, in the same way that
we can't write down the complete decimal expansion of 1/3(0.33333333…)

 

 "コンピューターは完璧に正確なfloatを格納することはできません。

私たち人間が1/3の完全な少数の説明を書き留めることができないように…"

 

え!?正確な少数も扱えないやつのことコンピューターって読んでたの?!

という驚きの内容。

詳しくは、基本情報技術者試験のカテゴリ内の記事で書きます(準備中)。

 

Other Numerical Operations

 

To determine the quoitient and remainder of a division,
use the floor division and modulo operators, respectively.

 "割り算の商と余りを求めるためには、

切り上げ算と除法演算の演算子をそれぞれに使う"

 

?????????

 

ここは"そういう数学用語もあるんだ"と割り切って、

商と余りを求めるのに適したそれぞれの演算子がある、

ということさえ理解するればいいと思う。

 

20 // 6
>>>3
1.25 % 0.5
>>>0.25

 

String

 

Some characters can't be directly included in a string.

For instance double quotes can't be directly included in a double
quote string; this would cause it to end prematurely.

 ”いくつかの文字は直接stringの中に含むことができない。

例えばダブルクォーテーション(")は直接ダブルクォーテーションで

囲まれたstring("~~~~")の中に含めることができない。

それはstringを途中で終えてしまう。"

 

実際にやってみる。

print("私は"人一倍"性欲があります")
>>> File "C:/Users/pokio/PycharmProjects/hazime/hhh.py", line 1
print("私は"人一倍"性欲があります")
^
SyntaxError: invalid syntax

 "私は"で一つのstringが終わった後に、続けて『人一倍』とかいう、

stringでも数字でもないものが入っているため、構文エラーが発生した形。

 

じゃあ"私は"人一倍"性欲があります"ってPythonでは出力不可能なの?

 

 そんなにそれを宣言したいのか……

ってなんて言わずにまじめに考えてみる。

 

Characters like these must be escaped by placing a
backslash before them.

 ”これらのような文字は、その前にバックスラッシュ(\)を置くことで、

避けるべきである。"

print("私は\"人一倍\"性欲があります")
>>>私は"人一倍"性欲があります

 あ、ほんとにできた!

私は"人一倍"性欲があります って宣言できた!!!

 

バックスラッシュ(ウインドウズでは¥ボタン)を使うことで、

「これは区切り文字"ではなく単なる文字の"」

ということをPythonインタプリタに示すことができる。

詳しくは、正規表現のコラム(準備中)で書きます。

 

 今回はこんな感じ。

 

Hard Drive: Bill Gates and the Making of the Microsoft Empire

Hard Drive: Bill Gates and the Making of the Microsoft Empire