Python class(Python class)
Pythonクラスの文法をチェックします.の深さ学習を効果的に行うには、classをしっかりと行わなければなりません.私もできません. 課の特徴を見てみましょう. classの文法はPythonコードを見たことがあるはずです.
違いは何ですか?()の値がない場合、同じ値()を持つと、呼び出すたびに異なる値が得られます.
2655729096408
2655737230672
2655737230392
クラスを作成した場合は、クラスに所属させる必要があります.たとえば、HIという名前のクラスを使用するには、x=HI()のように新しいHIという名前のクラスをXに置き換えることができます.代入はインスタンス化と呼ばれます.
クラスには、プロパティとアクションが含まれます.属性は変数で表され,動作はdefという関数を用いる.
class carのdef accelのspeed upとcurrent speedを変更する方法を知りたいかもしれません.サンプルコードを見てみましょう.
speed up 5 driving at 20
Carというクラスをmycarという変数myにインスタンス化します.acel()を使用するとclass carのdef acelを利用できます.mycar.acel(5)がspeed upに代入され、現在のspeedに数字が含まれていない場合、デフォルトでは関数は10として定義されます.つまりmycarです.accel(5)ではspeed upが付与され,mycar.acel(5,15)の場合、speed upの5 current speedには15が含まれます.mycar.acel()を使用する場合、speed upにデフォルト値が設定されていないため、もちろん正常に動作しません.
classCarを使用する場合は、colorとcategoryを直接設定したい場合があります.
上記の例では、class関数を直接入力することで、色とcategoryが外部から変更できるかどうか分かりませんが、触っていません. しかし、defという関数に入れるとclasscarを使用するたびに異なる値 を使用することができる.
classを使うにはいろいろな使い方があります.クラスにクラスを入れることもできます.サンプルで検証してください
speed up 10 driving at 20
Class New CarにCar 2を挿入しました.その後、NewCarはCar 2の関数を呼び出すことができます.
これを使用すると、classは多くのタイプを作成できます.classを作成する理由を知りたいかもしれません.単純な符号化では、修正が必要な部分まで修正すればよいが、複雑な符号化では、そのうちの1つを修正するだけで、符号化全体を修正する必要がある場合がある.このような不便な過程を解決するためにclassやdef関数を使うのがもっと便利ですか?コードしていると思います.
aiffel#人工知能教育
研究所&aiffelの孫朱英が作った
メールがないので、、、入れませんでした.
孫朱英
@reisei11
class HI:
pass
class HI():
pass
本当に何もしていない基本的なclass文法を作りましたあの2つの文法はありません.違いは何ですか?()の値がない場合、同じ値()を持つと、呼び出すたびに異なる値が得られます.
#id(HI)는 ()가 없기 떄문에 같은 값!
print(id(HI))
print(id(HI))
#id(HI)는 () 있기 때문에 다른 값!
print(id(HI()))
print(id(HI()))
# ()가 있고 없고의 type을 확인!
print(type(HI))
print(type(HI()))
26557290964082655729096408
2655737230672
2655737230392
クラスを作成した場合は、クラスに所属させる必要があります.たとえば、HIという名前のクラスを使用するには、x=HI()のように新しいHIという名前のクラスをXに置き換えることができます.代入はインスタンス化と呼ばれます.
hi = HI()
print(id(hi))
2655736682144クラスには、プロパティとアクションが含まれます.
class Car:
color = 'red'
category = 'sports car'
def drive(self):
print("I'm driving")
def accel(self, speed_up, current_speed=10):
self.speed_up = speed_up
self.current_speed = current_speed + speed_up
print("speed up", self.speed_up, "driving at", self.current_speed)
上の関数では、color=「red」、categor=「sportcar」が属性です.def drive、def accelは動作です.carクラスを表示すると、colorとcategoryはクラス属性として定義されます.私たちがこのクラスを使うと言ったとき、def acelのspeed up、current speedでしょう.class carのdef accelのspeed upとcurrent speedを変更する方法を知りたいかもしれません.サンプルコードを見てみましょう.
mycar = Car()
mycar.accel(5)
mycar.accel(5,15)
speed up 5 driving at 15speed up 5 driving at 20
Carというクラスをmycarという変数myにインスタンス化します.acel()を使用するとclass carのdef acelを利用できます.mycar.acel(5)がspeed upに代入され、現在のspeedに数字が含まれていない場合、デフォルトでは関数は10として定義されます.つまりmycarです.accel(5)ではspeed upが付与され,mycar.acel(5,15)の場合、speed upの5 current speedには15が含まれます.mycar.acel()を使用する場合、speed upにデフォルト値が設定されていないため、もちろん正常に動作しません.
classCarを使用する場合は、colorとcategoryを直接設定したい場合があります.
上記の例
class Car2:
def __init__(self, color, category):
self.color = color
self.category = category
def drive(self):
print("I'm driving")
def accel(self, speed_up, current_speed=10):
self.speed_up = speed_up
self.current_speed = current_speed + self.speed_up
print("speed up", self.speed_up, "driving at", self.current_speed)
def init関数を使用しました.classCar 2という名前の関数を実行する場合は、この関数は個別です.initを呼び出す必要がなく、自動的に実行されます.car2 = Car2('yellow', 'sedan')
car2.color
'yellow'classを使うにはいろいろな使い方があります.クラスにクラスを入れることもできます.サンプルで検証してください
class NewCar(Car2):
pass
car = NewCar('red','sport')
car.drive()
car.accel(10)
I'm drivingspeed up 10 driving at 20
Class New CarにCar 2を挿入しました.その後、NewCarはCar 2の関数を呼び出すことができます.
これを使用すると、classは多くのタイプを作成できます.classを作成する理由を知りたいかもしれません.単純な符号化では、修正が必要な部分まで修正すればよいが、複雑な符号化では、そのうちの1つを修正するだけで、符号化全体を修正する必要がある場合がある.このような不便な過程を解決するためにclassやdef関数を使うのがもっと便利ですか?コードしていると思います.
aiffel#人工知能教育
研究所&aiffelの孫朱英が作った
メールがないので、、、入れませんでした.
孫朱英
@reisei11
Reference
この問題について(Python class(Python class)), 我々は、より多くの情報をここで見つけました https://velog.io/@hwanython/파이썬-클래스-문법-python-classテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol