python

PythonStudyNote

このトピックには1件の返信が含まれ、1人の参加者がいます。2 週間前 管理人 さんが最後の更新を行いました。

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #650

    管理人
    キーマスター

    クラス models でデータを扱うクラスというもの
    出てくるキーワード class データの型 def
    pythonでクラスとは
    クラスとは、オブジェクトを生成する“型”  オブジェクトというのは 変数や関数を、ひとまとまりにしたもの。
    上手い例え 車というオブジェクト 変数タイヤ ボディ エンジン ハンドル 関数タイヤの状態の取得やブレーキという操作 ドアが開いているかどうかのチェックや警告 エンジンの制御 ハンドルの入力にあわせたタイヤの操作
    ということはクラスとは変数や関数をひとかたまりにした型ということになります つまりクラスという変数や関数を使った型でデータを扱える 表出されるデータがインスタンスというのかな
    クラス関数はメソッドと呼ばれます

    このクラス(型)からインスタンスを生成し、処理を行います。 
     ここでインスタンスとは インスタンスとは、型となるクラスを元に生成した実体
     クラスは設計図、インスタンスは設計図から作られた物
     実際の処理では、インスタンスを生成する事によってそのクラス内の処理を実行できるようになります。
     例は後述

    では実際にクラスの作り方“class”キーワードの後に任意のクラス名を書きその下にメソッドや変数を書く
    class className(): #キーワードクラスとクラス名
    def myprint(self): #関数はじまるよキーワードdefと関数名(任意)myprint(関数呼び出し)とパラメーターリストself(selfはインスタンス自身)「仮引数」(その関数が受け取る値のリスト)別のとこにパラメーター(実引数)があると渡される
    print(“Hello World!”) #関数で行う処理キーワードprint(引数に受け取ったものを画面などに出力する)と関数ボディ関数本体

    メソッド(クラスの関数)は、クラスと同じ要領で”def”キーワードの後に任意のメソッド名を入れ、そこに引数を与えます。
    引数とは処理をする上で必須となる、メソッドやクラスに引き渡す値 何らかの値を渡すと、その値に応じた何らかの値を返すもの
    Pythonでは、関数は「def文」を使って定義する。「関数の定義」とは「関数の名前、その関数を実行するのに必要なデータが何か、実際に実行するコードがどんなものかをPythonに伝えること」

    #659

    管理人
    キーマスター

    コンストラクタとは、オブジェクトが生成される時に実行されるメソッド(関数)のことです。オブジェクトが扱う変数などの初期化を主に行います。オブジェクトはクラスをもとに生成されます。
    オブジェクト指向のプログラミング言語新たなオブジェクトを生成する際に呼び出されて内容の初期化などを行なう関数、メソッドのことである。
    設計書をもとにプログラム内で実際に使うためには、実体化(インスタンス化)が必要となります。
    コンストラクタの名前は「__init__」に決まっています。名前の前後に「__」が付いているメソッドは「特殊メソッド」と呼ばれます。コンストラクタは特殊メソッドの1つです。
    コンストラクタで「name」を指定することで、オブジェクト変数「self.name」を初期化しています。オブジェクト変数がコンストラクタで明示
    猫 tora は2つの「値」を持っています。 猫 tora は、名前 name があり、とら と言います。 猫 tora は、動物として分類 family されていて、猫 科に属します。
    猫 tora は2つの「処理」を行うことができます。 猫 tora は、鳴く say することができます、にゃー と。 猫 tora は、唸る growl することができます、ウー と。
    猫 tora は、動物として分類 family されています。 みな鳴くこと say ができますし、唸ることもできます growl。

    class Cat:
    family = ‘猫’

    def say(self):
    print(‘にゃー’)

    def growl(self):
    print(‘ウー’)

    tora = Cat()
    tora.family
    tora.say()
    tora.growl()

    >>> tora.family
    ‘猫’
    >>> tora.say()
    にゃー
    >>> tora.growl()
    ウー

    インスタンス化する時に名前をつけたいです。 インスタンス化する時に __init__ が、自動的に呼び出されるのでこれを使います。

    class Cat:
    family = ‘猫’

    def say(self):
    print(‘にゃー’)

    def growl(self):
    print(‘ウー’)

    def __init__(self):
    # 1. 第一引数 self には名前のない猫オブジェクトが
    # 自動的に代入されています。
    self.name = ‘とら’

    # 2. self は return しない
    # return self

    tora = Cat()
    tora.name
    >>> tora.name
    とら
    >>>

2件の投稿を表示中 - 1 - 2件目 (全2件中)

このトピックに返信するにはログインが必要です。