プログラム言語と特徴

本日は自分のためにプログラミング言語の種類と使用例についてまとめます。

 

2020年のランキングの上位からまとめていきます。

1位 C/C++ 

1970年代に開発されていて、かなり歴史のある言語です。多くの言語がこの言語を元に開発されています。
使用例 [OSの開発 アプリ開発 電子機器などへの組み込み]

2位 Python

話題のAIやビッグデータなどの分野で活用されることの多い言語です。
使用例 [AI 自動学習 Webアプリ]

3位 JavaScript

Webページを構築する際、JavaScriptを使用することで動的なサイトを表現することができます。
使用例 [Webページで遷移することなく、表示を変えることができる]

4位 SQL

SQLはリレーショナルデータベースのデータを操作するための言語です。
使用例 [データベースの管理]

5位 C#

C#はUnityに対応しており、ゲームを制作することも可能です。
また、クロスプラットフォームで実行端末に依存せずに開発が可能です。
使用例 [デスクトップアプリケーションの開発 VR/MR開発]

6位 Java

JavaはOSに依存しないため、ガラパゴス携帯などでも使用されています。
使用例 [IoTに組み込むシステム ゲーム開発]

7位 VBA

Microsoft Officeのアプリケーションで活用できるプログラミング言語です。
使用例 [Excelマクロ]

8位 HTML/CSS

HTML/CSSマークアップ言語。Webページを閲覧するとき、ブラウザはHTMLとCSSを読み込んで表示しています。
使用例 [Webページの見た目]

9位 PHP

JavaScriptと似たような機能を持ちますが、PHPはサーバー上で動きます。JavaScriptでは、ユーザーのブラウザ上で動きます。
使用例 [WordPress]

10位 VB.NET

Micrsoft社が開発しているため、Windows系の開発には適しています。
使用例 [ユーザーインターフェース系]

 

以上が10位までの内容でした。ふんわりと概要を知っておけば、どの言語を使うのが最適なのか考えられると思ったので、今後1つずつまとめていこうと思います。

Python メソッド

Pythonのメソッドについて

capitalizeメソッド
先頭の文字を大文字に変換してくれるメソッド

upperメソッド
文字列全てを大文字に変換してくれるメソッド

splitメソッド
指定した文字でリストを作成してくれるメソッド

removeメソッド
リストの情報を指定して削除するメソッド

appendメソッド
リストに情報を追加するメソッド

 

text ="pYthon"
print(text) => pYthon
print(text.capitalize()) => Python
print(text.upper()) => PYTHON

players = "勇者,戦士,魔法使い,忍者"
list = players.split(",")
print(list) => ['勇者', '戦士', '魔法使い', '忍者']
list.remove("忍者")
print(list) =>['勇者', '戦士', '魔法使い']
list.append("商人")
print(list) => ['勇者', '戦士', '魔法使い', '商人']

 

上記説明と照らし合わせることができるように出力例を比較ように提示しておく。

 

Pythonのメソッドについて

islowerメソッド
文字列中の文字が全て小文字ならTrue、違う場合はFalseを返す。

insertメソッド
引数に(i,x)インデックスiに、要素をxを挿入する。

 

msg = input()
print(msg.islower()) => True

team = ["勇者", "戦士", "魔法使い", "忍者"]
team.insert(3,"盗賊")
print(team) =>['勇者', '戦士', '魔法使い', '盗賊', '忍者']

 

上記のような使い方をします。

 

Python 関数

Pythonの関数ついて

def kansu():
    a= 10

 上記のような形で関数を定義することができる。また、数値の定義はスコープと呼ばれるものがある。

関数内で定義したものは、関数内で使うことができる。
関数外で定義したものは、関数外で使うことができる。

Bを含むAにて定義したものは、Bの中でも使うことができる。
Bで別に定義していた場合は、そちらが優先される。

という感じになる。

 

可変状引数について

def kansu(*abc)

と記述すると複数の情報を渡すことができる。

辞書も使用することができ、その場合(**)となる。

 

デフォルト値について
def name (a="私は",b="人")
  print(a+" "+b+"です")
pritn()

とした場合、引数に何も渡さなかった時には「私は人です」と表示される。
別の表示をしたい場合は、printの時に値を入れてあげる。

print(a="俺は",b="勇者")

そうすると、「俺は勇者です」と表示される。関数の定義と似ていて混合しやすいが、あくまで入力がない時の値なので、注意が必要。

 

 

Python 二次元リスト

今回はPythonの二次元リストについて書いていきます。

player = "忍者"
team_a = [player, "戦士", "魔法使い"]
print(team_a)      #出力は忍者、戦士、魔法使い
print(team_a[1])     #出力は忍者

team_b = [team_a[0],team_a[1],team_a[2]]
print(team_b)      #出力は忍者、戦士、魔法使い
print(team_b[0])     #出力は忍者

この仕組みを活用して、次に続きます。

 

team_c = ["勇者","戦士","魔法使い"]
team_d = ["盗賊","忍者","商人"]
team_e = ["スライム","ドラゴン","魔王"]

teams = [team_c,team_d,team_e]
print(teams)
#出力は["勇者","戦士","魔法使い"]["盗賊","忍者","商人"]["スライム","ドラゴン","魔王"]
print(teams[1][0])
#出力は盗賊

print(teams[1][0])について1つずつ分解していくと、わかりやすいと思います。

teams[1]とは、なにを指しているのか?
A. team_dの変数を指しています。

teams = [team_c,team_d,team_e]

numbers = [[7 for i in range(4)]for i in range(5)]

7という数字を4つ。それを5つの箱で管理するという形になる。

 

本日は以上!

Python3 リスト管理

 学習漏れがありました。

リストの管理の仕方です。
どれも単純です。
append関数 リストの末尾に要素を追加
team.append("戦士")
append関数でリストに要素を追加することができます。

リストの要素を上書き
team[0] = "ドラゴン"
[]で何個めの要素か指定することで、その順番の要素に上書きできます。
注意点は0からスタートするところです。

リストの要素を削除
team.pop(0)
.pop()で指定した要素を消すことができます。

 

for i in enemy:
    print(i+"が現れた!")
繰り返し構文で利用することで、1つずつ要素を取り出せます。

 

url_str = input().rstrip()
print(url_str.split("/"))

.split("")で指定した場所を起点に文字を要素として分けることができます。
# 出力 ['https:', '', 'paiza.jp', 'cgc', 'users', 'ready']


import sysfor line in sys.stdin.readlines():
    enemy = line.rstrip().split(",")
    print(enemy[0]+"が"+enemy[1]+"匹現れた")

.splitで配列の形にして、printの時に配列の要素として取り出すことができる。

 

本日学んだことは以上。

リストを使うことは大切になってくるので、リスト関係のメソッドを軽くまとめました。

paiza

Python3をpaizaで学習をすることにしました。

 

本日学んだ内容は以下の通りです。

・sorted
・reverse=True
・辞書(Ruby =>キーバリューストア )

sortedを使用することで、リストの順番を入れ替えることができる。
あいうえお順や、数字順にできる。

reverse=True

と記述することで、降順にすることが可能。
記述の仕方で言うと、

fruits = [りんご, ばなな, みかん]
print(sorted(fruits)) #[ばなな, みかん, りんご]と出力される

print(sorted(fruits, reverse=True))
#[りんご, みかん, ばなな]と出力される

 

# ループで辞書のキーと値を出力しよう

skills = {"職業" : "戦士", "体力" : 100, "魔法力" : 200, "ゴールド" : 380}
# この下で、ハッシュの値をループで出力してみよう
for status in skills:
print(status+"は"+str(skills[status])+"です")

for status in skills:の記述は
Rubyだと、skills.each do |status|になります。

print(status+"は"str(skills[status])+"です")
Rubyだと、puts(status+"は"skills[status].to_i+"です")になるのかな?

正直.to_iの位置がskill.to_i[status]の可能性もあるので、なんとも言えないです。

 

この辺は実際に実行してみれば確認できることなので、大枠として現状の知識でRubyPythonの比較ができることを確認して進めます。

 

最後に、PaizaでBランクを取得できれば、上位3割らしいので、自信を持っていい見たいです。

 

Python #2

本日の学習内容

・クラスの生成
インスタンスの生成
・クラスの継承

本日は上記内容を学びました。

- クラスの生成 -
Python
class MenuItem:
    pass

Pythonでは上記記述でクラスを生成することができる。

Ruby
class MenuItem
end

Ruby on Railsでは上記記述でクラスを生成することができる。

 

Python => Ruby

:            => なし
pass     => なし
空白   => end

違いは以上です。Pythonのpassとは、処理がないことを示しています。
Pythonの空白はインデントと呼ばれ、改行の部分になります。
処理がない時にはpassを絶対使う必要がある。

 

- インスタンスの生成 -

Python
MenuItem()

Ruby
MenuItem.new

Python => Ruby
()           => .new

違いは以上です。Pythonは()でインスタンスを生成し、Rubyは.newで生成する。
インスタンスを生成しただけでは、使用できないので、どちらも変数に代入が必要になる。

hennsu = MenuItem()
hennsu = MenuItem.new

のような記述で変数に代入する。

 

- クラスの継承 -

Python
class food(MenuItem):
    pass

Ruby
class food < MenuItem
end

Python => Ruby
():          =>  <

違いは以上です。

本日の学習を持って、progateでの学習は終わりになります。次の学習先を探します。