【python】python与面向对象基础概念

基本概念

  • 类(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基础知识,以方便中学生或是一些对编程感兴趣的小朋友学习,敬请关注

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值