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

注意:如果要查看和修改对象的属性,需通过getset方法。

5、然而,==Python中并没有真正的私有属性和私有方法!==
xiaobai._Student__name == self.__name

注意:不过不建议,因为不安全,代码还乱。

6、==实例属性==之外,还有==类属性==:
class Students(object):
    name = 'Student'

注意:类属性不需要实例化对象,直接通过类名Students.name访问,就像公有属性。

你可能感兴趣的:(Python——面向对象(类)的基础疑难点)