LoginSignup
1
1

More than 5 years have passed since last update.

他人のコードを読んで学んだこと

Last updated at Posted at 2019-04-16

未来電子テクノロジーでインターンをしている梅原です。

ハッカーランクというプログラミングのいろいろな問題を解けるサイトがあり、最近解いているのですが、実力不足で解けない問題もあり、そんなときは、他の優秀なプログラマーが書いた回答を見ることができるのですが、色んな学びがあったのでアウトプットです。

リストのfor文でインデックスと要素の二つを取得

for i, name in enumerate(l):
    print(i, name)
実行結果
0 Alice
1 Bob
2 Charlie`

文字列や数字の形式を解析するとき、(オブジェクト)[start:stop]のようなスライスを使う

l = [0, 10, 20, 30, 40, 50, 60]
print(l[2:5])
実行結果
[20, 30, 40]

判別子を使う

TrueとFalseの状態変化で処理を分けることが可能

range(10,0,-3) →10、7、4、1という意味

等差数列なんですね。なるほど

クラスと継承

「↓親クラスのPersonを定義」

class Person:
    def __init__(self, firstName, lastName, idNumber):「←__init__はインスタンスのプロパティの定義かな?」
        self.firstName = firstName
        self.lastName = lastName
        self.idNumber = idNumber
    def printPerson(self):「←これはメソッドの定義
        print("Name:", self.lastName + ",", self.firstName)
        print("ID:", self.idNumber)

「↓親クラスを継承した、Studentクラス」

class Student(Person):「←引数に親クラスを書くことで継承できるといってももう一回プロパティとかは設定しなきゃいけない
    def __init__(self,firstName,lastName,ids,scores):
        self.scores = scores
        super().__init__(firstName,lastName,ids)「←superは親クラスの関数を呼び出せる。」`

プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。

1
1
1

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
1
1