python是一门面向对象(OOP)编程语言,同样用类class实现封装、继承、多态,实例就是具体的对象,每个实例数据类型相同,但拥有的数据不同。方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问实例的数据;
1.类的方法在定义时第一个参数必须为self,而普通函数定义时则不需要。实例调用方法时不需要传入相应参数。
2.下划线相关
(1)_ _foo__
: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__()
之类的。
(2)_foo
: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
(3)__foo
: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。
_author_ = 'hanqingqing'
class People(object):
count = 4
def run(self):
print('people is running...')
def okk(self):
print('okkkkk')
def uuu(self):
print('3456')
class mainexe(People):
def rat(da):
da.run()
def rrr(self,grade):
print(grade)
People().uuu() #People()为一个实例,实例调用方法时,若方法中没有self参数,则会报错
#People.uuu()
# '''People为类名,People.uuu()为类调用方法,若方法中定义了self参数,这里需要传入一个实例,不然会出错,即People.uuu(People());
#若方法中没有定义self参数,使用People.uuu()不会出错,也只是表示调用某类的某方法执行,而不是实例调用方法执行'''
3.isinstance()判断对象的类型,判断的是一个对象是否是该类型本身,或者位于该类型的父继承链上。而type()仅能判断该类型本身。