Python_TIL_09
Pythonの授業の内容を書いてみます.
カテゴリ
カテゴリ
似たようなオブジェクトを1つずつ作成するのは非常に効果的ではありません.class
キーを使用してクラスを作成し、名前と同じ属性値のみをパラメータとして新しいオブジェクトを作成できます.
クラス名は大文字を指定します.
きほんけいじょうclass 클래스명:
def __init__(self, 속성):
self.속성 = 속성
def 메서드명():
메서드 내용
__init__
Javascriptでは、これは関数を構築する方法と同じ脈絡です.
クラス生成時に最初に実行されるメソッドで、パラメータとして入力された属性を整理します.class Student:
def __init__(self, name, grade, gender):
self.name = name
self.grade = grade
self.gender = gender
student1 = Student("유재석", 1, "남자")
student2 = Student("박명수", 2, "남자")
print(student1.name, student1.grade, student1.gender)
print(student2.name, student2.grade, student2.gender)
方法
クラス内でメソッドを関数として記述できます.class Student:
def __init__(self, name, gender):
self.name = name
self.gender = gender
def to_study(self, time):
print("공부 중 입니다.")
print("{}시간 뒤까지 할 예정입니다.".format(time))
student1 = Student("유재석", "남자")
student1.to_sleep(6)
# "공부 중 입니다."
# "6시간 뒤까지 할 예정입니다."
継承
他のクラスのプロパティとメソッドを継承できます.class Student:
def __init__(self, name, gender):
self.name = name
self.gender = gender
def to_study(self, time):
print("공부 중 입니다.")
print("{}시간 뒤까지 할 예정입니다.".format(time))
class High_student(Student):
def __init__(self, name, gender, grade):
Student.__init__(self, name, gender)
self.grade = grade
def to_play(self):
print("친구들과 놀고 있습니다.")
student = High_student("박명수", "남자", 2)
student.to_study(6)
# "공부 중 입니다."
# "6시간 뒤까지 할 예정입니다."
student.to_play() # "친구들과 놀고 있습니다."
たそうきんぞく
クラス継承は、複数のクラスを継承できます.class Student:
def __init__(self, name, gender):
self.name = name
self.gender = gender
def to_study(self, time):
print("공부 중 입니다.")
print("{}시간 뒤까지 할 예정입니다.".format(time))
class Footballer:
def __init__(self, position, number):
self.position = position
self.number = number
def to_training(self, time):
print("훈련 중 입니다.")
print("{}시간 뒤까지 할 예정입니다.".format(time))
class High_student(Student):
def __init__(self, name, gender, grade):
Student.__init__(self, name, gender)
self.grade = grade
def to_play(self):
print("친구들과 놀고 있습니다.")
class High_student_footballer(High_student, Footballer):
def __init__(self, name, gender, grade, position, number):
High_student.__init__(name, gender, grade)
Footballer.__init__(position, number)
student = High_student_footballer("양세형", "남자", 3, "FW", 11)
student.to_play() # "친구들과 놀고 있습니다."
student.to_training(6)
# "훈련 중 입니다."
# "6시간 뒤까지 할 예정입니다."
メソッドオーバーフロー
上記の例では、high studentサッカー選手の訓練が学習であるため、to_training
メソッドをto_study
に指定してもよい.class High_student_footballer(High_student, Footballer):
def __init__(self, name, gender, grade, position, number):
High_student.__init__(self, name, gender, grade)
Footballer.__init__(self, position, number)
def to_study(self, time):
self.to_training(time)
これにより、self
を使用して方法オーバーライドを行うことができる.
pass
名前通りに行くという意味です.関数の実行を直接スキップします.class Middle_student(Student):
def __init__(self, name, gender):
pass
student = Middle_student("정준하", "남자") # 에러 없이 실행이 종료되었다.
super
クラスが他のクラスを継承する場合は、属性値を関連付ける必要があります.super
キーワードを使用して関連付けることができます.super
キーワード接続を使用する場合は、self
を省略します.class Schoolchild(Student):
def __init__(self, name, gender):
# Student.__init__(self, name, gender)
super().__init__(name, gender)
REFERENCE
私もYouTubeでコードしています
Python-正式ドキュメント
Python-WikiDocsにジャンプ
Reference
この問題について(Python_TIL_09), 我々は、より多くの情報をここで見つけました
https://velog.io/@lhb7021/PythonTIL09
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
class 클래스명:
def __init__(self, 속성):
self.속성 = 속성
def 메서드명():
메서드 내용
class Student:
def __init__(self, name, grade, gender):
self.name = name
self.grade = grade
self.gender = gender
student1 = Student("유재석", 1, "남자")
student2 = Student("박명수", 2, "남자")
print(student1.name, student1.grade, student1.gender)
print(student2.name, student2.grade, student2.gender)
class Student:
def __init__(self, name, gender):
self.name = name
self.gender = gender
def to_study(self, time):
print("공부 중 입니다.")
print("{}시간 뒤까지 할 예정입니다.".format(time))
student1 = Student("유재석", "남자")
student1.to_sleep(6)
# "공부 중 입니다."
# "6시간 뒤까지 할 예정입니다."
class Student:
def __init__(self, name, gender):
self.name = name
self.gender = gender
def to_study(self, time):
print("공부 중 입니다.")
print("{}시간 뒤까지 할 예정입니다.".format(time))
class High_student(Student):
def __init__(self, name, gender, grade):
Student.__init__(self, name, gender)
self.grade = grade
def to_play(self):
print("친구들과 놀고 있습니다.")
student = High_student("박명수", "남자", 2)
student.to_study(6)
# "공부 중 입니다."
# "6시간 뒤까지 할 예정입니다."
student.to_play() # "친구들과 놀고 있습니다."
class Student:
def __init__(self, name, gender):
self.name = name
self.gender = gender
def to_study(self, time):
print("공부 중 입니다.")
print("{}시간 뒤까지 할 예정입니다.".format(time))
class Footballer:
def __init__(self, position, number):
self.position = position
self.number = number
def to_training(self, time):
print("훈련 중 입니다.")
print("{}시간 뒤까지 할 예정입니다.".format(time))
class High_student(Student):
def __init__(self, name, gender, grade):
Student.__init__(self, name, gender)
self.grade = grade
def to_play(self):
print("친구들과 놀고 있습니다.")
class High_student_footballer(High_student, Footballer):
def __init__(self, name, gender, grade, position, number):
High_student.__init__(name, gender, grade)
Footballer.__init__(position, number)
student = High_student_footballer("양세형", "남자", 3, "FW", 11)
student.to_play() # "친구들과 놀고 있습니다."
student.to_training(6)
# "훈련 중 입니다."
# "6시간 뒤까지 할 예정입니다."
class High_student_footballer(High_student, Footballer):
def __init__(self, name, gender, grade, position, number):
High_student.__init__(self, name, gender, grade)
Footballer.__init__(self, position, number)
def to_study(self, time):
self.to_training(time)
class Middle_student(Student):
def __init__(self, name, gender):
pass
student = Middle_student("정준하", "남자") # 에러 없이 실행이 종료되었다.
class Schoolchild(Student):
def __init__(self, name, gender):
# Student.__init__(self, name, gender)
super().__init__(name, gender)
私もYouTubeでコードしています
Python-正式ドキュメント
Python-WikiDocsにジャンプ
Reference
この問題について(Python_TIL_09), 我々は、より多くの情報をここで見つけました https://velog.io/@lhb7021/PythonTIL09テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol