一.简介 类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例 对象(instance/object):包括两个数据成员(类变量和实例变量)和方法,对象就是方法或者类的具体示例 类变量是所有对象共有,其中一个对象的值改变,其他对象得到的是改变后的效果 实例变量则属于对象私有,每个实例单独拥有的变量,某个对象的值发生改变,不影响其他对象 方法:类中定义的函数 局部变量:定义在方法中的变量,只作用于当前实例的类 类的属性:类中定义的变量和方法都是类的属性 类变量:定义在类中的属性,可使用全大写来命名 二.实例化 实例化:实例化就是创建一个该类的对象,在类对象名称后面加一个括号就调用类的实例化方法,完成实例化。实例化后会自动调用__init__方法 __init__方法的作用是对示例进行初始化,当创建了这个类的实例时就会调用该方法; 这个方法的第一个形式参数必须留给self,其他参数随意;self就是指代摸一个实例自身 该方法不能有返回值只能返回return None 类实例化后,得到一个实例对象,通过instance.class_name()方式进行调用,实例对象就会被绑定到方法上 __init__中所定义的变量,是保存在实例上的,并不是类上,所以称为实例变量,实例变量是每个实例自己的变量,是实例独有的 类变量是类的变量,是所有实例共享的属性和方法 示例1:
class MyClass():
"my class" #'类的帮助信息'类文档字符串,可通过ClassName._doc_查看
print('in my class')
xx="abc" #一个类变量,它的值可在这个类的所有示例之间共享,可在类内和类外通过ClassName.xx访问
def __init__(self,x,y): #self代表类的实例,self在定义类的方法时是必须的,但调用时不必传入相应的参数
print('in my class init')
self.x=x
self.y= y
print(x+y)
def foo(self): #foo 类的属性
print('in foo')
return "my class re"
调用:print(myabs.xx) #执行成功,类变量是共用的
print(myabs.x) #执行成功,实例变量是实例独有的
print(MyClass.xx) #执行成功,类变量是共用的
print(MyClass.x) #执行失败,实例变量不能共享
返回:in my class #每次调用均会执行
abc #调用类变量xx
调用:print(MyClass.foo)
返回:in my class
<function MyClass.foo at 0x00000140993099D0>
调用:print(MyClass.__doc__) #输出类的帮助文档
返回:in my class
my class
调用:myabs=MyClass(2,3) #调用myclass类
返回:in my class
in my class init #调用类则需执行init方法
5 #输出init的结论
调用:myabs=MyClass(2,3)
print(myabs.foo()) #调用具体的方法
返回:in my class #调用类输出
in my class init #调用类时,执行init的输出
5 #调用类时,执行init的输出
in foo #调用方法foo的输出
my class re #调用方法foo的返回结论
调用:print(MyClass.foo(myabs))
返回:in my class #调用类输出示例2:
in my class init #调用类时,执行init的输出
5 #调用类时,执行init的输出
in foo #调用方法foo的输出
my class re #调用方法foo的返回结论
class MyClass():
"my class" #'类的帮助信息'类文档字符串,可通过ClassName._doc_查看
print('in my class')
xx="abc" #一个类变量,它的值可在这个类的所有示例之间共享,可在类内和类外通过ClassName.xx访问
def __init__(self,x,y): #self代表类的实例,self在定义类的方法时是必须的,但调用时不必传入相应的参数
self.x=x
self.y= y
print(x+y)
def foo(self,c): #有单独的变量
print(c)
return "my class re"
调用:myabs=MyClass(2,3)
myabs.foo(99) #执行成功,返回99
MyClass.foo(99) #执行失败,foo缺少参数
返回:99
my class re
三.对象属性
python中的函数、类、类的实例都是对象,每个不同的对象都有不同的属性
类的属性保存在类的__dict__中,类的属性所有实例都可以访问
实例的属性保存在实例的__dict__中,实例的属性是自己的,类或其他实例都不可以访问
标签:__,调用,python,实例,foo,my,class From: https://www.cnblogs.com/qq771293871/p/17609478.html