1.类的语法
class Mingchen: # Mingchen为类名
xxx
# 注意缩进
类也是对象,叫做类对象
2.类的组成
包括类属性,实例方法,静态方法,类方法,初始化方法五种
1.类属性
直接写在类里面的变量
class Mingchen :
name = "张三" # 在这里 name 是一个类属性
2.实例方法
类似函数,但不是函数
def 在类之外定义称为函数,在类之内称为方法
注意要写参数
class Mingchen :
def Fun(self):
xxx
# 注意 Fun()里的self可以用其他字母数字代替,作用是一样的,例如Fun(aa) Fun(hhh)等等,
但不能空着
3.静态方法
用 @staticmethod 修饰
注意不用写参数
class Mingchen :
@staticmethod
def Fun():
xxx
4.类方法
用 @classmethod 修饰
要传入一个叫 cls 的参数
class Mingchen :
@classmethod
def Fun(cls):
xxx
5.初始化方法
def __init__(self,m,n):
class Mingchen :
def __init__(self,name,age):
self.a = "name" #在这里进行了赋值,将局部变量name的值赋给了self.a
self.b = "age"
# self.a 和 self.b 叫做实例属性
3.对象的创建(类的实例化)
建立对象时可以对__init__()里的参数赋值,如下面的 “张三” 6
class Mingchen :
def __init__(self,name,age):
self.a = name
self.b = age
def Fun(self):
print(self.a)
print(self.b)
dx = Mingchen("张三",6) #会直接执行def __init__(xx)
dx.Fun()
print(dx.a)
print(dx.b)
Mingchen.Fun(dx)
4.类属性的使用
类属性:类中方法外的变量,被该类所有对象所共享
class Mingchen :
name = "张三"
Mingchen.name = "李四"
print(Mingchen.name)
# 结果
李四
5.类方法和静态方法的使用
使用类名直接访问 Mingchen.Fun() 或者 dx.Fun()
6.动态绑定属性和方法
在创建对象后可以动态绑定属性和方法
class Mingchen :
def __init__(self,name,age):
self.a = name
self.b = age
def Fun(self):
print(self.a + "在玩游戏")
# dx1 dx2 叫做Mingchen的实例对象
dx1 = Mingchen("张三",6)
dx2 = Mingchen("李四",7)
#为dx1动态绑定性别属性
dx1.c= "男"
print(dx1.a,dx1.b,dx1.c)
def Funx():
print("hello")
#为dx2动态绑定方法
dx2.c = Funx
dx2.c()
#或者这样绑定方法
dx2.c = Funx()