Python言語によるプログラミングイントロダクション(2)
Python言語によるプログラミングイントロダクション第2版ーデータサイエンスとアプリケーション(著者:Jhon V. Guttag 監訳:久保幹雄)を読んだ学習を記録していきます。解釈や理解が間違えである場合も多々あるかと思います、、、
第2章 Pythonの概要(p7~24)
・低級言語と高級言語
低級言語:マシンレベルで命令とデータオブジェクトを使ってプログラミングする
高級言語:言語設計者によって与えられた抽象的な命令を用いてプログラミングする
・汎用言語と特殊目的言語
汎用言語:プログラミング言語の為本的な命令が汎用であるかどうか
特殊目的言語:SQLなど目的に特化した言語
・インタープリタとコンパイラ
インタープリタ:機械語に直さずに実行していく言語
コンパイラ:機械語に直してから実行をする言語
・Pythonの特徴
用途の広い言語、コンピュータのハードウェアに直接アクセスする必要がなく効率的、静的意味論のチェックが脆弱なため高い信頼性が求められるものには最適ではない、多くの人が関わるものや長期間にわたる開発・維持にも最適ではない。
インタープリタ言語でプログラムの即時フィードバックが可能であり、初心者でも分かりやすいシンプルな言語である。
2.1 Pythonの基礎入門
・シェル
ユーザーの入力を解釈してアプリケーションに中継するユーザインターフェース、出力などに関係する?
・オブジェクト、式、数値型
Pythonはオブジェクトという概念がある。オブジェクトには型が存在しており、型にもスカラと非スカラが存在する。数値型にはint(整数)float(不動小数点数)がある。オブジェクトと演算子を利用することで、式を作成することができる。
・変数と代入
変数はオブジェクトに名前を付けたものであり、代入はオブジェクトと名前を紐付けることである。コードの可読性を高めるには適切な変数名をつけることが重要になってくる。
Pythonでは#で後に続く文をコメントアウトすることができる。
・Python IDE
統合開発環境(IDE):IDLE、Anaconda、Canopyなどライブラリの管理やテキストエディタなどの機能を持ったもの
2.2 分岐プログラミング
if文による条件分岐がある。Pythonでは条件分岐の処理などをインデントによって、分岐した時の処理の範囲を表している。
分岐プログラミングは処理の条件的に必要になることは言うまでもないが、処理時間を短縮するために条件分岐させて処理を効率化することができる。
2.3 文字列と入力
input()関数によって、ユーザーからのキーボード入力された値を受けることができる。文字コードを下記のように宣言可能である。
# -*- coding: rtf-8 -*-
2.4 繰返し
プログラミングでは繰返し処理をすることがしばしばあり、while文を利用することで繰り返し処理が可能である。
while(条件式):
処理内容、、、
また、break文をいれることで、ループをすぐに抜け出すことができる。
while True:
if (条件式)
break
処理内容、、、
最後に、この章の練習問題に1つ挑戦してみる、、、
問題:ユーザに10個の正の整数の入力を促した上、その中で最も大きな奇数の値を表示するプログラミングを書け。もし奇数がない場合、それを示すメッセージを表示せよ。
count = 0
num = []
print('Please enter 10 positive integers.')
while True:
if count == 10:
break
count = count + 1
while True:
x = input('This is ' + str(count) + ' times:')
if int(x) > 0
num.append(int(x))
break
print('Please enter positive integer')
count = 0
MaxOddNum = 1
while count < 10:
if num[count] % 2 == 1:
if MaxOddNum < num[count]:
MaxOddNum = num[count]
count = count + 1
if MaxOddNum % 2 == 1:
print('Max odd number is ' + str(MaxOddNum))
else:
print('Odd number is nothing.')
重要語句
低級言語、高級言語、汎用語句、特殊目的言語、インタープリタ、コンパイラ、シェル、スクリプト、リテラル、シェルプロンプト、計算複雑性、オーバーロード
この記事が気に入ったらサポートをしてみませんか?