Python使用记录本(个人记录篇)

1) 注意print输出“%s”的使用
a = 'nihao ’
print(‘what you should say to a friend\n reponse:%s’ %a) ##表示格式化一个对象为字符
在这里插入图片描述
2) class 的类定义问题,关于__init__(self)
有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,个人理解self当做C语言的指针使用,该构造函数和普通函数的区别在于可以方便调用,
如下:
Python使用记录本(个人记录篇)_第1张图片
__init__构造函数:
Python使用记录本(个人记录篇)_第2张图片
class 内的函数之间互相调用(后调用前),函数之外先调用类,再调用函数。

3)关于self 的使用用法:
可以发现__init__(self)后面没有x、y,却可以给self.x和self.y赋值,self.x = r.randint(0,10)的意思就是把外部传来的值赋值给Student类的属性变量self.name.
问题是:后面的x、y补上可以用吗?试着写一个?
Python使用记录本(个人记录篇)_第3张图片
调用时,move里面不需要赋值变量x:
在这里插入图片描述

答:可以写,如下:(建议用这个方法写)
Python使用记录本(个人记录篇)_第4张图片

上下两个程序的区别在于print里面self.x和self.y,区别在哪里?
答:如果在move函数里面没有self.y将会报错,如下。是因为在函数move里面没有y对象,无法输出,而用self.y。因为他们用的是同一类变量x和y。
在这里插入图片描述
Python使用记录本(个人记录篇)_第5张图片

这里可以设置成print(self.x,self.y), print(self.x)。都可以的

这里的类调用需要赋值:Fish(2,3)和.move(1)
在这里插入图片描述
两者可以达到相同的效果,但是我个人喜欢下面的写法。
Python使用记录本(个人记录篇)_第6张图片
同样,在class里的self可以写self.y,在这里,self就是个传递变量值的一个功能。

类与类可以相互的调用,在同一程序里,
重点理解class的定义:当给一个对象赋值为类的时候,即完成该对象类的赋值,称为类的实例对象,该实例对象在程序内不会消失,断电消失,类似于RAM内存。

4)property()的用法
Python使用记录本(个人记录篇)_第7张图片
用 x = property(getSize,setSize,delSize)
property赋予x一些类的属性

5)类的继承

父类如下:
Python使用记录本(个人记录篇)_第8张图片
子类如下:
Python使用记录本(个人记录篇)_第9张图片
我们可以看到,类的继承是:先在小括号里面写入父类的名字、再在def 的新函数里面写入必须包含的父类属性、最后用super() 继承

你可能感兴趣的:(Python使用记录本(个人记录篇))