基本概念
- 类(class):用来描述具有相同属性和方法的一类对象的集合。定义了一个集合之下所有对象所共有的属性与方法。
- 类变量:在实例化的对象是公用的,类变量在类中,而在函数体之外。通常类变量不作为实例变量使用。
- 实例变量:在方法当中的变量,且只作用于当前实例的类。
- 数据成员:类变量或者实力变量,用于处理相关数据。
- 方法重写:如果从父类继承下来的方法不能满足子类的需求,对其进行改写的过程称为方法重写。
- 继承:一个派生类继承基类的字段和方法。继承也允许把一个派生类的对象当作一个基类对象来对待。
- 方法:类中的函数。
- 对象:包括类变量,实例变量以及方法。
- 实例化:创建一个类的实例,一个类的具体对象。
语法
class [name]
[语法块]
eg.
这里定义了一个空的类
使用
使用类前要实例化类,创建对象和创建变量是类似的,需要声明对象是哪个类的,指明变量名称
eg.
class EmptyClass:
pass
empty=EmptyClass()
print(type(EmptyClass))
这里创建了一个名为EmptyClass的类,这里的变量名称为empty。
构造方法
创建实例时,很多类都会有特定的初始状态。在python当中,构造函数就是类的_int_方法。
class Dog:
def __init__(self,name):
print("haha")
dog=Dog()
定义了一个_init_函数得时候,当类在实列化的时候就会自动调用它了。构造函数的第一个参数是’self‘这是不能忽略的。(构造函数的返回值必须是”none”。
属性
class Dog:
def __init__(self):
self.name=name
self.age=3
dog=Dog("AM")
print(dog.name)
print(dog.age)
在这里,定义了一个叫做Dog的类,调用了构造这一个方法,创建了两个属性,分别为name和age,这里的self指的是文本本身,就类似于cpp语言里面的“this”这个指针,可以理解为对实例的属性进行赋值。python在调用_init_函数的时候会把它作为第一个参数。
方法
class Dog:
def __init__(self,name):
self.name=name
def play(self):
print("hey! I am",self.name)
dog=Dog('AM')
dog.play()
在类里面的函数,我们称其为方法。在例子中,类的方法和函数定义的方法基本相同。(除了方法一定要在定义在类里面和第一个参数必须为“self”)
私有属性
class Dog:
def __init__(self,name):
self.__name=name
def play(self):
print("hey! I am",self.__name)
dog=Dog('AM')
print(dog.__name)
我们这里使用了两个下划线保护了我们的name这个变量。
class Dog:
def __init__(self,name):
self.__name=name
self.__age=None
print(self.__name,"生成成功")
def set_age(self,age):
if not isinstance(age,int):
print("请输入数字")
return False
if age<0:
print("age应该>0")
self.__age=age
def play(self):
print ("hey,你好,我",self.__age)
dog=Dog('AM')
dog.set_age('L Z J Y H Q')
dog.set_age(-520)
dog.set_age(250)
dog.play()
我们这里使用了set_age来设置年龄,并保证其为一个可用的数值。
私有方法
class Dog:
def __say(self,name):
print(name)
def play(self):
self.__say("666")
dog=Dog()
dog.play()
dog.__say()
这里我们把say变成了私用方法,如果想使用的话,可以像我们上面的代码一样做
总结:
本栏目准备更新一些python基础知识,以方便中学生或是一些对编程感兴趣的小朋友学习,敬请关注