今回は、今週個人的に学んだ内容から3点抜粋して紹介します。
Pythonで2つのリストをまとめてループ処理する方法は最後の3番目で説明しています。
1.「純粋な」プログラミング言語と「マルチパラダイム」プログラミング言語の違い
- プログラミングパラダイムとは、プログラミングのスタイル、型、道のことで、プログラミングする人の基本的考え方や流儀とも言える。
- プログラミング言語によって、主に対応するプログラミングパラダイムが異なる
- c言語:手続き型
- Java:オブジェクト指向型
- Haskell:関数型
純粋なプログラミング言語
1つのプログラミングパラダイムのみに100%対応するプログラミング言語の総称。ただし、そのような言語はまれで、ほとんどは2つ以上のプログラミングパラダイムを導入してプログラミングできる。
マルチパラダイムプログラミング言語
複数のプログラミングパラダイムに対するプログラミング言語の総称。例として、Scaleはオブジェクト指向と関数型を統合したマルチパラダイム言語である。
2.C++の初歩的見方
下記のコードの簡単に説明する。
#include <iostream>
#include <string>
using namespace std;
int main(){
string s,t;
t ="文字は、";
cout << "文字列を入力する:";
cin >> s;
cout << t+s << "です。" << endl;
return 0;
}
-
includeはヘッダファイルと呼ばれるファイルを読み込む宣言で、iostoreamというファイルを読み込む
-
using namespaceは指定された名前空間を使うことを意味する。標準名前空間はstdと表記する。
-
contは標準出力の出力を司るオブジェクトで、>>や<<でストリームと呼ばれる対象に対するデータのやり取りを行う
endlは改行を表す -
cin
キーボードから入力した数値をそのまま出力する。例:cin>>a; -
メンバ関数の宣言と実装の組み合わせ void set(int num)が宣言なら、Csmpleクラスのsetメンバ関数を表すCSample::set(int num)で実装
ちなみに、実行結果は以下である。
文字列を入力する:
文字は、(キーボードから入力した文字列)です
3.Pythonで2つのリストをまとめてループ処理する方法
2つのリストをまとめるzip()をfor文に組み込む。
また、このrange()は0~n-1までの連続した数値の要素を持つリストで、reversed()で逆順になる。
2つのリストをまとめてループ処理する方法:
for (i,j) in zip(range(n),reversed(range(n))):
ちなみに、zip()の動きは以下である。
zipの使用例:
word = ["J", "M", "B"]
number = [2, 1, 8]
result = zip(word, number)
print result # [('J', 2), ('M', 1), ('B', 8)]