0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

プログラミングの基本

Last updated at Posted at 2021-06-30

★=Python ◆=Ruby
#文字を出力する

★print('文字') ◆puts '文字'
*文字列型
print(5 + 3)
*数値型:数値はクォーテーションで囲まない。計算ができる
+,-,*,/,%

○文字列の連結
コード:print('Hello ' + 'world')
コンソール:Hello world
*数値型を連結したい場合は、文字列に変換する → ★str(string:文字列) ◆to_s
age = 20
コード:print('年齢は' + str(age) + '歳です')
コンソール:年齢は20歳です

○文字列を数値に変換し、計算する → ★int(integer:整数) ◆to_i
price = 200
count = '5' ← 文字列型
total_price = price * int(count)
コード:print(total_price)
コンソール:1000

#値を入力する
★input ◆gets

script.py
name = input('文字を入力してください:')
print(name)
>_コンソール
文字を入力してください入力した文字列
入力した文字列

inputで入力した値は文字列型になっているため、数値にする場合はintを使って変換する

script.py
input_date = input('数字を入力してください:')
date = int(input_date)
print(date * 5)
>_コンソール
数字を入力してください5
25

#変数
変数名は英単語を用いる。2語以上の場合はアンダーバーで区切る

○変数の定義
name(変数名) = '値'
コード:print('name')
コンソール:値

○変数の値を更新する
name = '更新'
コード:print('name')
コンソール:更新
number = 5
number = number + 3
コード:print(number)
コンソール:8
*計算式を省略して書く場合
number += 3 → 8
number -= 3 → 2
number *= 3 → 15
number /= 5 → 1
number %= 3 → 2

#条件分岐(if文)
→ ◆if elsif end
比較演算子:==(数値が等しい),!=(数値が等しくない),>,<,>=,<=

script.py
hour = 12
if hour == 12:
 print('お昼休みです')
elif 8 < hour < 18:
 print('勤務時間です')
else:
 print('勤務時間外です')
>_ コンソール
お昼休みです

hour = 10
if hour == 12:
 print('お昼休みです')
elif 8 < hour < 18:
 print('勤務時間です')
else:
 print('勤務時間外です')
>_ コンソール
勤務時間です

hour = 20
if hour == 12:
 print('お昼休みです')
elif 8 < hour < 18:
 print('勤務時間です')
else:
 print('勤務時間外です')
>_ コンソール
勤務時間外です

真偽値: True,False

script.py
hour = 12
print(hour == 12)
print(hour == 10)
>_ コンソール
True
False

 
#リスト

script.py
#変数にリストを代入する
fruits = ['apple','peach','cherry']
print(fruits)
>_コンソール
['apple','peach','cherry']

インデックス番号:リストの要素は[0,1,2]

script.py
fruits = ['apple','peach','cherry']
print(fruits[0])
>_コンソール
apple

リストの要素を更新する

script.py
fruits = ['apple','peach','cherry']
fruits[1] = 'orange'
print(fruits)
>_コンソール
['apple','orange','cherry']

リストに要素を追加する → ★append ◆<<

script.py
fruits = ['apple','orange','cherry']
fruits.append('peach')
print(fruits)
>_コンソール
['apple','orange','cherry','peach']

#キーバリューストア(KVS:Key-Value Store)
キーで値を管理する → ★{:,} ◆{=>,}

script.py
fruits = {'apple':'red','orange':'yellow','peach':'pink'}
print(fruits['apple'])
>_コンソール
red

要素を更新する

script.py
fruits = {'apple':'red','orange':'yellow','peach':'pink'}
fruits['apple'] = 'green'
print(fruits['apple'])
>_コンソール
green

要素を追加する

script.py
fruits = {'apple':'green','orange':'yellow','peach':'pink'}
fruits['cherry'] = 'red'
print(fruits)
>_コンソール
{'apple':'green','orange':'yellow','peach':'pink','cherry':'red'}

#繰り返し処理
→ ◆数値.times do |ブロック変数| end ◆配列.each do |ブロック変数| end
○for文:for 変数名 in リスト名:

script.py
fruits = ['apple','orange','cherry','peach']
for fruit in fruits:
 print(fruit)
>_コンソール
apple
orange
cherry
peach

#KVSの場合
fruits = {'apple':'red','orange':'yellow','peach':'pink'}
for fruit_key in fruits:
 print(fruit_key + ' ' + fruits[fruit_key])
>_コンソール
apple red
orange yellow
peach pink

○while文:while 条件式:

script.py
x = 1
while x < 10:
 print(x)
 x += 1
#無限ループに注意する

#breakで処理を終了する
x = 1
while x < 10:
 print(x)
 x += 1
 if x == 3:
  break
>_コンソール
1
2

#continueでスキップする
x = 0
while x < 10: 
 x += 1
 if x % 2 == 0:
  continue
 print(x)
>_コンソール
1
3
5
7
9

#関数
→ ◆def 関数名 end

script.py
#関数の定義:def 関数名(仮引数):
def name(name_in,message):
 print('名前は' + name_in + 'です ' + message)

name('花太','皆さん、こんにちは')
<_コンソール
名前は花太です 皆さんこんにちは

#引数の初期値を設定する
def name(name_in,message='こんにちは'):
 print('名前は' + name_in + 'です ' + message)

name('樹木')
<_コンソール
名前は樹木です こんにちは

#戻り値:return
def name(name_in):
 if name_in == '花太':
  return True
 else:
  return False

name_in = input('名前を入れてください:')
flower = name(name_in)
print(flower)
<_コンソール
名前を入れてください花太
True

#returnで関数内の処理を終了する
def flower(name):
 if name == '花太':
  return '花太さん、こんにちは'
 return 'あなたは花太さんではありません'
print(flower(''))
<_コンソール
あなたは花太さんではありません

#モジュール
別のファイルで定義した関数を使うことができる
import モジュール名
モジュール名.関数名()

function.py
def name(name_in,message):
 print('名前は' + name_in + 'です ' + message)
script.py
import function

function.name('花太','こんにちは')
<_コンソール
名前は花太です こんにちは

#クラスとインスタンス
→ ◆class クラス名 end

○クラスの定義:クラス名は大文字で始める

script.py
#クラスの中で関数を定義する。第一引数は(self)
class Name:
#__init__メソッドを定義する
  def __init__(self,name,weight):
    self.name = name
    self.weight = weight

  def info(self):
    print(self.name + '' + str(self.weight) + 'Kg')

#インスタンスを生成する
name_flower = Name('花太',50)

#クラスの中で定義したメソッドを呼び出す
name_flower.info()
<_コンソール
花太は50Kg

○クラスを別のファイルに読み込む

name.py
class Name:
#__init__メソッドを定義する
  def __init__(self,name,weight):
    self.name = name
    self.weight = weight

  def info(self):
    print(self.name + '' + str(self.weight) + 'Kg')

script.py
from name import Name

#インスタンスを生成する
name_flower = Name('花太',50)

#クラスの中で定義したメソッドを呼び出す
name_flower.info()
<_コンソール
花太は50Kg

○インスタンスのリスト

script.py
from name import Name

#インスタンスを生成する
name_flower = Name('花太',50)
name_tree = Name('樹木',40)
names = [name_flower,name_tree]

#繰り返し処理を行う
for name_kind in names:
#クラスの中で定義したメソッドを呼び出す
  name_kind.info()
<_コンソール
花太は50Kg
樹木は40Kg

○クラスの継承

child.py
from name import Name

class Child(Name):
  pass
script.py
from child import Child

#インスタンスを生成する
child = Child('花太',50)
child.info()
<_コンソール
花太は50Kg

*親と子で同名のメソッドがある場合は、子クラスのメソッドが優先される(上書きできる)
*super().メソッド名()とすることで、親クラスで定義されたインスタンスメソッドをそのまま利用することができる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?