Python 面向对象编程

在这里插入图片描述

Python 中的类
  1. 在Python中,通过class关键字定义一个类,比如我们需要定义一个人的类。按照 Python 的编程习惯,类名以大写字母开头
class Person(object):
    def __init__(self, name, sex, age):
        self.name = name
        self.sex = sex
        self.age = age

init()方法,当创建实例时,init()方法被自动调用,类似Java中的构造函数

class Person{
  private String name;
  private String sex;
  private int age;.
  
  Person(String name, String sex, int age){
    this.name = name;
    this.sex = sex;
    this.age = age;
    }
  }
  1. Python 中类属性
​class Person(object):
    localtion = 'Asia'  #类属性
     __localtion = 'Asia'  #双下划线__:私有类属性 ,类似Java中的private
    def __init__(self, name, age, localtion):
        self.name = name
        self.age = age
        self.localtion = localtion  #实例属性
  1. 实例化后的类共享同一类属性,localtion = ‘Asia’ 如果存在同名实例属性,实例属性的优先级是要高于类属性的
  2. Python 中类的实例化
    Python中类实例化直接赋值即可,不用像Java一样使用new。
    双下划线__:私有属性 ,类似Java中的private, 如果想要在外部访问操作私有实例属性只能定义实例方法,类似Java中的get/set 方法。
    如果想要在外部访问操作私有类属性只能定义类方法,
    和实例方法不同的是,这里有两点需要特别注意:
    类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法,类方法的第一个参数将传入类本身,通常将参数名命名为 cls
student = Person("LLL",15,"beijing")
class Person(object):
    __localtion = 'Asia'

    def __init__(self, name, age, localtion):
        self.__name = name
        self.__age = age
        self.__localtion = localtion

    def set_name(self, name):
        self.__name = name

    def get_name(self):
        return self.__name

    def set_age(self, age):
        self.__age = age

    def get_age(self):
        return self.__age

    def set_localtion(self, localtion):
        self.__localtion =localtion

    def get_localtion(self):
        return self.__localtion
        
    @classmethod
    def set_localtion(cls, localtion):
        cls.__localtion = localtion

    @classmethod
    def get_localtion(cls):
        return cls.__localtion

在这里插入图片描述

  1. Python继承类
    在定义继承类的时候,有几点是需要注意的:
    1).class Student()定义的时候,需要在括号内写明继承的类Person
    2).在__init__()方法,需要调用super(Student, self).init(name, gender),来初始化从父类继承过来的属性
class Person(object):
    def __init__(self, name, gender):
        self.name = name
        self.gender = gender
class Student(Person):
    def __init__(self, name, gender, score):
        super(Student, self).__init__(name, gender)
        self.score = score

student = Student('Alice', 'girl', 100)
print(student.name) # ==> Alice
print(student.gender) # ==> girl
print(student.score) # ==> 100
  1. Python获取对象信息
    1). 通过isinstance()方法,可以判断一个对象是否是某个类型
    2). 通过type()函数,可以获得变量的类型
    3).通过dir()方法,可以获取变量的所有属性

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值