def thisIsAFunction(inputNumber):
oneMore= inputNumber+ 1
return oneMore
これは、入力数値よりも 1 つ多い数値を返す関数です。
後でコードで次のように呼び出します
anotherVariable = thisIsAFunction(5)
次に、必要なときに:print anotherVariable
印刷します6
クラスは似ていますが、より広く包括的です
class thisIsaClass:
someVar = 1
def __init__(self, inputNumber):
self.inputNumber = inputNumber
これは、「thisIsaClass」と呼ばれるオブジェクトを定義しました....オブジェクトを作成します....
>>> a = thisIsaClass(1) #creating one 'thisisaclass' object called a
>>> b = thisIsaClass(2) #another called b
>>>
>>> a.inputNumber # getting inputnumber from a
1
>>> b.inputNumber
2
>>> a.someVar #someVar doesnt have 'self' in front of it so its not referring to its own someVar, its referring to its classes someVar
1
>>> b.someVar
1
>>> thisIsaClass.someVar = 3
>>> a.someVar #see? it changed it for all of th someVars
3
>>> b.someVar #because its the same someVar
3
>>> thisIsaClass.inputNumber #and THIS one doesnt actually have a "inputNumber" because it only belongs to the actual objects
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: class thisIsaClass has no attribute 'inputNumber'
それが紛らわしい場合は、クラスを調べる最善の方法は、それを人々に関連付けることです。
class human:
def __init__(self, name, height, age):
self.name = name
self.height = height
self.age = age
beth = human('beth','64 inches', 19)
beth.age
19
これ__init__
はクラス内の定義であるため、METHOD です。(正直なところ、なぜそれが呼び出されたのかわかりません...しかし、そうです)別の関数を定義する場合(ただし、クラス内にあるため、メソッドです笑)initのように
def birthday(self):
self.age = self.age+1
ベスに誕生日をあげたいときはいつでも、
beth.birthday()
beth.age
20