Pyhton入门 笔记 第三天 面向对象 类
类的定义
1)class Student(): #定义类 class
name=''
age=0
def print_file(self): #定义类中的函数称为方法,没有参数时要用self
print('name:' + self.name) #使用变量时也要加self
print('age:' +str(self.age))
student = Student() #类的实例化,赋值给变量
student.print_file() #调用类的方法
2)如果要对实例化类传入参数的话,要通过__init__构造函数来实现
class Student(): #定义类 class
name=''
age=0 # name,age为类变量
def __init__(self,name,age): #构造函数中当要传递参数时要通过self.来传递。传递后的self.name为实例变量。其中构造函数中的self参数不是关键字,可以为this来代替,当然下面的实例变量也要变为thins.name
self.name=name
self.age=age
print('student')
def print_file(self): #定义类中的函数称为方法,没有参数时要用self
print('name:' + self.name) #使用变量时也要加self
print('age:' +str(self.age))
student1 = Student('小明',18) #类的实例化,赋值给变量,实例化时会自动调用__init__构造函数
print(student1.name)
__dict__字典变量
print(student1.__dict__)可以打印出student1对象下所有的参数字典
3)在构造函数或实例方法中访问类变量
class Tngh():
name="dddd"
age= 0
tt="红色"
def __init__(self,name,age)
self.name=name
self.age=age
print(Tngh.tt) #通过类访问
print(self.__class__.tt) #通过sefl下class访问
4)类方法
class Tngh():
name="小晨"
age= 0
sum1=0
@classmethod # 对类方法的定义一定通过·装饰器@classmethod 同时类方法的参数为(cls) cls也可改为别的
def puls_sum(cls)
print(cls.sum1) #类方法中对类变量的操作更简单。
Tngh.puls_sum() #类方法的调用
5)静态方法
class Tngh():
sum=0
@staticmethod #静态方法也要通过装饰器@staticmethod来定义
def add(x,y):
print(Tngh.sum) #静态方法也可以直接对类变量进行操作
pass
student=Tngh()
student.add(1,2) #对象对静态方法的调用
Tngh.add(1,2) #类对静态方法的调用
6)可见性
对类变量和类方法的私有化,在变量名和方法名前加__可使变量和方法私有化,如__name,__puls()。当私有化后,在类外就不可以读取和重写。
上一篇: 吃吃就祛火 下火零食TOP10
下一篇: 抗衰老 每天一把杏仁