#記事概要
Pythonを少しでも読めるようになってみようと思い、参考書に沿って学習した備忘録になります。
Javaと比較して自身が気になった点、便利と感じた点をまとめております。
※かなり基礎的な内容になります。
#算術演算子
四則演算(+-*/
)と余剰計算(%)はJavaと変わりませんが、累乗が便利にできる。
ただし、Pythonの/
は、割り切れないときに浮動小数値になる。//
演算子を使うと整数値(浮動小数の場合は小数点以下切捨て)になる。
Pythonでは「**
」で累乗を行うことができる。
#####例
Math.pow(2, 3)
3 / 2
2 ** 3
3 // 2
#変数
Pythonでは変数を定義する際に型の定義が不要。
#####例
//文字列
String str = "あいうえお";
//数字
int index = 100;
//リスト
List<String> list = new ArrayList<String>(Arrays.asList("あ", "い", "う", "え", "お"));
#文字列
str = "あいうえお"
#数字
index = 100
#リスト
list = ["あ", "い", "う", "え", "お"]
#リストの結合
Pythonでは複数のリストを連結する際は、「+」で結合することが出来る。
#####例
List<String> list1 = new ArrayList<String>(Arrays.asList("あ", "い", "う", "え", "お"));
List<String> list2 = new ArrayList<String>(Arrays.asList("か", "き", "く", "け", "こ"));
List<String> list3 = new ArrayList<>();
list3 = Stream
.concat(list1.stream(), list2.stream())
.collect(Collectors.toList());
list1 = ["あ", "い", "う", "え", "お"]
list2 = ["か", "き", "く", "け", "こ"]
list3 = list1 + list2
#リストを操作する
####要素を削除する
#####例
List<String> list = new ArrayList<String>(Arrays.asList("あ", "い", "う", "え", "お"));
//「あ」を削除する
list.remove(0);
list = ["あ", "い", "う", "え", "お"]
#「あ」を削除する
del list[0]
####リストの値を全て合計する
#####例
List<int> list = new ArrayList<int>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Arrays.stream(list).sum();
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sum(list)
####リストの要素数を調べる
Javaはsizeメソッド
Pythonはlenメソッド
Javaのlengthメソッドは文字列の長さを返すメソッドなので、混同しないように注意する
#####例
List<int> list = new ArrayList<int>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
list.size()
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
len(list)
####スライス
リストの連続する複数要素を取り出せる。
#####例
List<int> list = new ArrayList<int>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
sList = list.subLisy(2, 4)
//sListには[3, 4]が入る
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sList1 = list[2:4]
#sList1には[3, 4]が入る
sList2 = list[:5]
#sList2には[1, 2, 3, 4, 5]が入る
sList3 = list[7:]
#sList3には[8, 9, 10]が入る
#繰り返し(for文)
####リストで繰り返す
for i in list:
繰り返し内容
#####例
List<String> list = new ArrayList<String>(Arrays.asList("あ", "い", "う", "え", "お"));
for(String str : list) {
println(str);
}
/*
あ
い
う
え
お
*/
list = ["あ", "い", "う", "え", "お"]
for str in list:
print(str)
#あ
#い
#う
#え
#お
####回数指定して繰り返す
引数によって繰り返す際の条件を指定できる。
0 から n回 繰り返す場合
for i in range(n):
繰り返し文
m から n まで繰り返す場合
for i in range(m, n):
繰り返し文
m から n まで lずつ増やして繰り返す場合
for i in range(m, n, l):
繰り返し文
m から n回 繰り返す場合
for i in range(m, m + n):
繰り返し文
m から n回 lずつ 繰り返す場合
for i in range(m, m + n, l):
繰り返し文
#####例
int sum = 0;
for(int i = 0; i < 10; i++) {
sum += i;
print(sum);
}
/*
0
1
3
...
45
*/
sum = 0
for i in range(10):
sum += i
print(sum)
#0
#1
#3
#...
#45
#条件分岐(if文)
Javaは else if で条件分岐
Pythonは elif で条件分岐
※追記
文字列の比較について、コメントにて追加情報を頂きました!
比較(else無し)
if 1 == 1:
print("True")
比較(else有り)
if 1 == 1:
print("True")
else:
print("False")
比較(条件分岐あり)
if a == "ABC":
print("ABCです")
elif a == "DEF"
print("DEFです")
else:
print("ABCかDEFではありません")
検索
if 5 in [5, 10, 15]:
print("True")
#####例
int a = 0;
if(a == 1) {
print("aは1です");
} else if (a == 2) {
print("aは2です");
} else {
print("aは1でも2でもありません");
}
a = 0
if a == 1:
print("aは1です")
elif a == 2:
print("aは2です")
else:
print("aは1でも2でもありません")
#あとがき
一つ言語を習得すると他の言語の理解がしやすくなるという話を身をもって実感しました。
Javaについても改めて基礎的な部分を固められたと感じたので、関数やクラス定義などについても備忘録をまとめるかもしれません。
#参考文献
柴田淳(2016)「みんなのPython 第4版」SBクリエイティブ株式会社
Python公式リファレンス[https://www.python.org/]