Python边学边练(6)面向对象、class
2021/9/15 22:05:20
本文主要是介绍Python边学边练(6)面向对象、class,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 面向对象概述
- 类
- 类举例-生而为人
- 创建__init__()方法
- 类调用函数
- 类的继承
参考:b站:覃秉丰,书籍:清华大学出版社《python从入门到精通》
编译环境 python3 jupyter notebook (vscode等编译器对代码进行适当修改即可)
面向对象概述
对象,是一个抽象的概念,表示任意存在的事物。在python中一切都是对象,如字符串,函数,列表等。 类是封装这些对象的载体。 面向对象程序设计具有三大基本特征:**封装、继承、多态**。
类
类举例-生而为人
人要有名字,年龄,吃饭的动作,思考a+b的过程(就先这么定义四个吧。。)
class person: #“人”类 name = 'ZK' age = 23 def my_name(self): print('my name is : ',self.name) def my_age(self): print('my age is : ',self.age) def eat(self): print('I can eat') def think(self,a,b): print(a+b) person1 = person() print(person1.name) print(person1.age) print(person1.eat()) print(person1.think(2,8))
结果:
ZK 23 I can eat None 10 None
Q:为什么会出现None?
参考博文
https://blog.csdn.net/qq_46018836/article/details/105168061
这个问题最简单的方法是使用return关键字
解决方法:
class person: #“人”类 name = 'ZK' age = 23 def my_name(self): print('my name is : ',self.name) def my_age(self): print('my age is : ',self.age) def eat(self): return 'I can eat' def think(self,a,b): return a+b person1 = person() print(person1.name) print(person1.age) print(person1.eat()) print(person1.think(2,8))
结果:
ZK 23 I can eat 10
创建__init__()方法
class person_n: #“人”类 def __init__(self,name,age): #外部引入对象 self.name = name self.age = age def my_name(self): print('my name is : ',self.name) def my_age(self): print('my age is : ',self.age) def eat(self): return 'I can not eat' def think(self,a,b): return a-b person2= person_n('ZKK',25) print(person2.name) print(person2.age) print(person2.eat()) print(person2.think(2,8))
运行结果:
ZKK 25 I can not eat -6
类调用函数
person3= person_n(name='ZKKK',age=55) person3.my_name()
结果:
my name is : ZKKK
类的继承
class person: #“人”类 def __init__(self,name='ZK',age = 18): #外部引入对象 self.name = name self.age = age def my_name(self): return str('my name is : ')+self.name def my_age(self): return str('my age is : ')+self.age def eat(self): return 'I can not eat' def think(self,a,b): return a-b class student(person): #student子类继承person父类,子类可以使用父类对象,同时子类自己也可以定义对象 def __init__(self,grade,school): super().__init__() #父类初始化 self.grade = grade self.school = school self.score = 100 print('student init') def learn(self): return 'I am learning' def my_school(self): return str('my school is : ')+self.school stu = student(grade=2,school='SHU') print(stu.my_name()) print(stu.think(10,24)) print(stu.school) print(stu.learn()) print(stu.my_school())
结果:
student init my name is : ZK -14 SHU I am learning my school is : SHU
这篇关于Python边学边练(6)面向对象、class的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程