-----来自Head First Python
1.类把行为和状态打包
使用类你就可以把"行为"和"状态"打包在一个对象里面
行为 这个词就可以理解成为是函数,在c#和Java中称之为方法,就是完成一个工作或者一个动作的代码块
状态 这个词就可以理解成是属性或者是变量,也就是在类当中拿来存储一些变量。在c#中对应为构造函数(用作给对象赋初值用)
2.由类创建对象
那怎么使用类呢?或者是怎么使用类来完成我们的原来的需求呢?c#中叫new一个对象,在Python中也是一样,用类来创建一个对象。正式点的说法叫做对象实例化
那我们创建一个空类
class TestClass:
pass
类名前加上一个python关键字class
pass就是代表类里面的代码组
那我们调用的时候就是
a=TestClass()
b=TestClass() #python的调用
TestClass testclass =new TestClass(); //C#创建对象
可以看到python的创建对象很像函数调用,把一个对象赋值给一个变量。
这里有一个小tips:那我如果查看别人的代码的时候我怎么知道我是调用一个函数还是创建一个对象呢?
python编程社区有个普遍认可的约定--函数用小写字母 而类用camel命名规则不管几个单词首字母大写
同一个类创建的对象共享类当中的函数方法但是不共享里面的属性变量。
再增加一个self的说法还是以刚才那个代码做例子,我们往代码中间加个方法
class TestClass:
def increse(self) -> None:
self.val += self.incr
val+=self.incr #这个是错误示范
说实话我真搞不懂这个玩意儿是干啥的。。。函数中的变量只是拿来做返回值来使用,如果需要一个变量我定一个变量给他不就行了。。。反正就这么理解吧,如果使用了self,说明看到的函数是一个方法,而不是一个函数(没有使用self)
self是所有函数的第一个参数