Python——面向对象(类)的基础疑难点
相信用Python写def函数大家都信手拈来了,但Python作为面向对象的编程语言,怎么能浪费呢?
那问题来了。什么是类呢?什么是实例?什么是对象?方法是什么??属性又是什么???继承?封装?多态?
对于这些的疑问,在这里统统都不会讲到啊哈哈哈哈,毕竟你完全可以轻易 Google 到, 如果有疑问的话,可以到评论区里讨论讨论。
在这里,我只总结涉及到类的一些偏僻小疑点:
1、在Python3中,所有类都继承于一个公共类object
:
class Students(object):
pass
2、类中方法的第一个参数永远都是self
:
class Students(object):
def get_score(self):
pass
3、做人要有交代,记得写异常抛出:
if isinstance(variate, int):
return variate
else:
raise ValueError('输入错误')
4、访问限制,所有的对象都应设置为私有属性(只能由self访问和修改):
def __init__(self, name, score):
self.__name = name
self.__score = score
注意:如果要查看和修改对象的属性,需通过get
和set
方法。
5、然而,Python中并没有真正的私有属性和私有方法!
xiaobai._Student__name == self.__name
注意:不过不建议,因为不安全,代码还乱。
6、实例属性之外,还有类属性:
class Students(object):
name = 'Student'
注意:类属性不需要实例化对象,直接通过类名Students.name
访问,就像公有属性。
一个佛系的博客更新者,随手写写,看心情吧 (っ•̀ω•́)っ✎⁾⁾