Python类与面向对象

本文详细介绍了Python的面向对象编程,包括类的创建和使用、继承、导入类以及类的编码风格。通过实例讲解了如何创建类、初始化方法、属性、方法以及如何使用类创建对象。此外,还探讨了继承的概念,子类如何继承父类的属性和方法,以及如何导入和使用模块中的类。遵循PEP8规范,提倡良好的类命名和文档字符串的编写习惯。
摘要由CSDN通过智能技术生成

1. 面向对象编程

面向对象编程 是最有效的软件编写方法之一。

在面向对象编程中,现实世界中的事物和情景,均可以使用 来编写表示。将要描述的对象提取公共行为,编写成类。

基于编写的类,可以创建 对象 ,使得每个对象自动具备所提取的公共行为。

然后可根据实际情况,赋予每个对象自己独有的特性。

上面描述的根据类来创建对象的过程,被称为 实例化 。这让你能够使用 类的实例

2. 类的创建和使用

2.1 创建类

使用 几乎可以模拟任何东西。

比如 学生类Student ,可以用来表示任意学生。任意学生包含的信息都有 学号no姓名name籍贯nativePlace 等。对于每个学生的行为,都有 上课attend Class下课finish Class 等。

所以可以创建 Student类 来表示。

示例(student.py):

class Student():

    def __init__(self, no, name, nativePlace):
        """初始化属性no, name, nativePlace"""
        self.no = no
        self.name = name
        self.nativePlace = nativePlace

    def attend_class(self):
        print(self.name + '正在上课')

    def finish_class(self):
        print(self.name + '已经下课')

关于这个类的定义,几点说明及注意事项如下:

  • Student:这是类的名字。约定所有单词的首字母大写。
  • 类中的函数称为方法
  • _init_() :初始化方法,当根据Student类来创建实例时,该方法将自动执行。约定开头和末尾各有两个下划线,避免命名冲突。
  • _init_()中的self:self形参必不可少,还必须位于其他形参之前。这是因为类的创建、调用时,都自动传递实参self,这个self是一个指向实例本身的引用,使得实例能够访问类中的属性和方法。当创建实例时,self不需要传递参数,只需要给后边的值(no、name等)赋值即可。
  • 属性:像上面的no、name变量,在初始化时,均使用了self 前缀,这种变量可以给类中的所有方法使用,还可以通过类的任何实例来访问,这种变量称为属性。
  • 其他方法:如attend_class()和finish_class()方法,一般为当前类的具有的通用方法,其中的参数self使得该方法能够访问类中的属性。这些方法可以继续添加其他的,不在属性内的形参。
  • 私有方法和属性:Python约定名称以双下划线“__”开头但不以它结尾的方法或属性,都是私有的,其他则都不是私有部分。
2.2 使用类和示例

类如何来使?先看下面这个示例。

示例:

class Student:

    def __init__(self, no, name, nativePlace):
        """初始化属性no, name, nativePlace"""
        self.no = no
        self.name = name
        self.nativePlace = nativePlace
        # 【 1 】这里也可以给属性指定默认值
        self.school = '武汉理工大学'

    def attend_class(self):
        return self.name + '正在上课'

    # 【 2 】类中的方法,可以增加必要的形参
    def attend_class_2(self, address):
        return self.name + '正在 ' + address + ' 上课'

    def attend_class_3(self, address):
        return self.name +
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值