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访问,就像公有属性。

原文地址:https://www.cnblogs.com/WoLykos/p/12067411.html