代码实验展示:

# 继承关系 object -> Person -> Student -> SchoolBoy

# python2的语法:

# class Person(object):

# python3的语法:

# class Person():

class Person(): # class Person(object):

'''定义基类Person'''

def __init__(self, name, age):

'''初始化属性name和age'''

self.name = name

self.age = age

def printInfo(self):

print(

'---我是一个实例对象, 属于类型:{0:^35} ---我的名字是: {1:{3}<8} ---我的年龄是: {2:<5}'.format(

str(self.__class__), str(self.name), str(self.age), chr(12288)

)

)

class Student(Person):

'''定义基类Person的子类Student'''

def __init__(self, name, age):

'''初始化父类的属性name和age'''

super().__init__(name, age)

# python2的语法:

# super(Student, self).__init__(name, age)

# python3的语法:

# super().__init__(name, age)

def printInfo(self):

print(

'---我是一个实例对象, 属于类型:{0:^35} ---我的名字是: {1:{3}<8} ---我的年龄是: {2:<5}'.format(

str(self.__class__), str(self.name), str(self.age), chr(12288)

)

)

class SchoolBoy(Student):

'''定义基类Student的子类SchoolBoy'''

def __init__(self, name, age):

'''初始化父类的属性name和age'''

super().__init__(name, age)

# python2的语法:

# super(SchoolBoy, self).__init__(name, age)

# python3的语法:

# super().__init__(name, age)

def printInfo(self):

print(

'---我是一个实例对象, 属于类型:{0:^35} ---我的名字是: {1:{3}<8} ---我的年龄是: {2:<5}'.format(

str(self.__class__), str(self.name), str(self.age), chr(12288)

)

)

if __name__ == "__main__":

per = Person('林麻子',15)

per.printInfo()

stu = Student('昊昊',16)

stu.printInfo()

boy = SchoolBoy('铁凡',17)

boy.printInfo()

控制台输出结果:

Windows PowerShell

版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

加载个人及系统配置文件用了 893 毫秒。

(base) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> conda activate ssd

(ssd) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> & 'D:\Anaconda3\envs\ssd\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2020.12.424452561\pythonFiles\lib\python\debugpy\launcher' '56869' '--' 'c:\Users\chenxuqi\Desktop\News4cxq\test4cxq\test17.py'

---我是一个实例对象, 属于类型: ---我的名字是: 林麻子      ---我的年龄是: 15

---我是一个实例对象, 属于类型: ---我的名字是: 昊昊       ---我的年龄是: 16

---我是一个实例对象, 属于类型: ---我的名字是: 铁凡       ---我的年龄是: 17

(ssd) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq>

本文同步分享在 博客“敲代码的小风”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

python定义一个类和子类_Python定义类、定义子类以及super()函数的使用相关推荐

  1. python面向对象课程大作业 定义一个描述学生基本情况的类,数据成员至少包括 “姓名、性别、学号、年级、所在院系、面向对象的考试日期”

    python面向对象课程大作业 按下列要求编写一个完整的程序: 定义一个描述学生基本情况的类,数据成员至少包括"姓名.性别.学号.年级.所在院系.面向对象的考试日期",成员函数至少 ...

  2. (C++题目)定义一个描述学生基本情况的类Student,数据成员包括姓名、学号、英语成绩和高数成绩;成员函数包括构造函数、析构函数、获取姓名、获取学号、求出平均成绩,以及显示各

    定义一个描述学生基本情况的类Student,数据成员包括姓名.学号.英语成绩和高数成绩:成员函数包括构造函数.析构函数.获取姓名.获取学号.求出平均成绩,以及显示各科成绩和平均成绩的显示函数.编写ma ...

  3. 2018.12.10 第5题:定义两个类,描述如下: [必做题] 5.1定义一个人类Person: 5.1.1定义一个方法sayHello(),可以向对方发出问候语“hello,my name is

    #定义两个类,描述如下: [必做题] 5.1定义一个人类Person: 5.1.1定义一个方法sayHello(),可以向对方发出问候语"hello,my name is XXX" ...

  4. 2018.12.10 第4题:定义两个类,描述如下: [必做题] 4.1定义一个人类Person: 4.1.1定义一个方法sayHello(),可以向对方发出问候语“hello,my name is

    #定义两个类,描述如下: [必做题] 4.1定义一个人类Person: 4.1.1定义一个方法sayHello(),可以向对方发出问候语"hello,my name is XXX" ...

  5. 1、猜数字游戏:一个类A有两个成员变量v、num,v有一个初值100。定义一个方法guess,对A类的成员变量v,用num进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。在main方法

    定义一个类,其中封装成员变量v-猜数的目标, num-猜测的数据 guess方法根据num和v比对结果生成对应的提示信息 import java.util.Scanner; public class ...

  6. 1.JAVA猜数字游戏: 一个类A有两个成员变量v、num,v有一个初值100。 定义一个方法guess,对A类的成员变量v,用num进行猜。 *如果num比v大则提示大了,反之则提示小了.

    思路:  * 1.创建一个类,定义两个成员变量v和num,v是固定值所以直接赋值,num是键盘录入的.  * 2.定义一个setNum类,将来通过对象调用将键盘录入接收的数据进行设置  * 3.创建一 ...

  7. C++学习记录2:定义一个描述学生基本情况的类

    定义一个描述学生基本情况的类,数据成员包括姓名.学号.英语.数学.计算机成绩.成员函数包括设置姓名.学号和三门课程的成绩.输出数据.以及求平均值.设计主函数,在主函数里调用设置"姓名.学号和 ...

  8. 定义一个点(Point)的类,x和y分别为第一象限的像素点,输入一些这样的点,然后按照升序输出这些点集(比较x2+y2的大小)。

    Point类 import java.util.ArrayList;//定义一个点(Point)的类,x和y分别为第一象限的像素点,输入一些这样的点,然后按照升序输出这些点集(比较x2+y2的大小). ...

  9. python求三个整数最大值_python 练习题:定义一个getMax()函数,返回三个数(从键盘输入的整数)中的最大值。...

    此题比较简单,不做过多说明. 值得注意的是如何用一行代码让用户一次性输入为多个变量赋值 Python # 定义一个getMax()函数,返回三个数(从键盘输入的整数)中的最大值. def getMax ...

  10. python怎么定义一个变量自增_Python语言中的自增运算

    本文主要向大家介绍了Python语言中的自增运算,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 接触过其他语言的同学可能都知道算数运算符里面有个自增运算符++, 在写循环的时候非 ...

最新文章

  1. 06.Java虚拟机问题
  2. LeetCode Algorithm 70. 爬楼梯
  3. 深度学习笔记:Tensorflow手写mnist数字识别
  4. mysql删除用户账号和密码_mysql添加、删除用户和授权用户
  5. php v-for=,Vue中v-for循环节点的实现代码
  6. 【C++】递归打印杨辉三角
  7. RocketMQ源码解析-Broker的消息存储
  8. python制作图片墙_利用python生成照片墙的示例代码
  9. 华为双 11 发 20 亿奖金!?
  10. 关于playframework1.2.4 static 关键字使用的一些思考
  11. 土地利用转移矩阵_ArcGIS_土地利用转移矩阵(对比2010年-2020年土地利用变化)...
  12. sar —— Linux 上最为全面的系统性能分析工具之一
  13. 【Tools/PC】如何在一台电脑上实现双屏幕显示?
  14. 避免幻读 : next-key锁与MVCC
  15. android模拟器没反应,Android模拟器无法正常工作
  16. 【JavaLearn】(24)Session、Cookie、ServletContext、MVC开发模式、JSP九大内建对象及四个作用域、JSTL及EL表达式、过滤器、监听器
  17. pytorch张量相乘matmul函数
  18. 19_多易教育之《yiee数据运营系统》用户画像-算法导论篇
  19. amazeui学习笔记--css(常用组件6)--图标Icon
  20. CentOs解决下载速度慢 更换下载源

热门文章

  1. 面向对象简述--对象、引用、指针
  2. 函数防抖Debounce和函数节流Throttle
  3. MySQL用户管理、常用SQL语句、MySQL数据库备份恢复
  4. POJ 1279 Art Gallery 半平面交 多边形的核
  5. 对AI毫无了解?本文带你轻松了解AI
  6. java.util.concurrent介绍
  7. 如何在同一台电脑上同时运行2个tomcat
  8. iOS百度地图的使用
  9. Android应用程序安装过程源代码分析(1)
  10. 算法提高课-搜索-最小步数模型-AcWing 1107. 魔板:bfs、复杂、八数码类似的题目