新手入门怎么理解Python类和对象
Admin 2022-05-27 群英技术资讯 857 次浏览
今天就跟大家聊聊有关“新手入门怎么理解Python类和对象”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“新手入门怎么理解Python类和对象”文章能对大家有帮助。我们是不是听过面向过程,拿来放在一起对比就比较好理解了。
简单来理解,面向过程就是一切用函数解决一切文件,简单粗暴!
面向对象是面向过程编程之后才出现了,没有面向对象编程很多程序还不是照样开发。
面向对象,也使用函数,但是多了一个网,这个网把一个或者多个函数,和数据关联在一起,然后称为一类事物,也就是程序中的‘类'(class)
面向对象编程,首先提出的第一个概念就是‘class',类:
#这就是一个class的定义代码:
class hello_class():
pass
然后通过class_name() 这样调用来生产对象。
代码稍微升级一下,我们看看:
class hello_class():
pass
#输出类信息
print(hello_class)
print(type(hello_class))
#创建类的实例对象
print(hello_class())
print(type(hello_class()))
稍微补充一下:
print函数输出类对象的结果:通常是<'class全名‘ object at id序列号>
下面是运行结果:

这里我们加入新知识点:类实例对象 , 通常直接说,实例。
实例是class产生的对象,所有某个hello_class对象的类型(通过type函数获取)都必定是hello_class。
看完一个类,我们再看看两个类的对比,结果也是一致的。
下面是两个类的定义和生成对象的代码展示:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/15 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : __init__.py.py
# @Project : hello
class student(object):
“”“学委补充一下:__init___ 函数为类的初始化函数,在创建类对象实例的时候这个函数会被调用。”“”
def __init__(self):
print("hello, I am student")
class programmer(object):
def __init__(self):
print("hello, I am programmer")
class student(object):
def __init__(self):
print("hello, I am student")
class programmer(object):
def __init__(self):
print("hello, I am programmer")
s1 = student
print(s1)
p1 = programmer
print(p1)
s11 = student
print(s11)
p11 = programmer
print(p11)
print("*" * 16)
# 创建对象
s2 = student()
print(s2)
p2 = programmer()
print(p2)
# 创建对象
s3 = student()
print(s3)
p3 = programmer()
print(p3)
稍微解释一下:
下面是运行结果:

初始化函数被调用了打印了对象信息。
到这里,大家应该都能知道class和object区别了吧
类: 描述了函数和属性的固定关系
(类实例)对象: 基于这种固定关系的一个活生生的个体,它的id是变化的。
学委定义了一个student类,并创建了两个学生对象。
直接复制运行下面的代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/11/15 11:58 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : __init__.py.py
# @Project : hello
class student(object):
def __init__(self, name):
self.name = name
def get_name(self):
return self.name
def set_name(self, name):
self.name = name
def study(self):
print(f"{self.name} : 好好学习,天天向上!")
s1= student("小白")
print(s1)
print(s1.get_name())
print(s1.study())
s2 = student("学委的学生粉丝:哈哈哈")
print(s2)
print(s2.get_name())
print(s2.study())
我们看到他们的id总是不同的(运行几次看看)。
然后每个学生都有一个name属性(携带姓名数据),和三个函数属性(分别用来获取姓名,改名,学习)。
然后我们调用了每个学生的study函数,输出了各自的学习状态。

Python语言的简约设计,使得面向对象编程非常简单,轻松就定义和和获取对象了。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
用Python处理数据,然后用Folium将它在Leaflet地图上进行可视化。Folium能够将通过Python处理后的数据轻松地在交互式的Leaflet地图上进行可视化展示。它不单单可以在地图上展示数据的分布图,还可以使用Vincent/Vega在地图上加以标记。
这篇文章主要介绍了关于python中range()的参数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
我们在日常工作中,常常会用到需要周期性执行的任务,下面这篇文章主要给大家介绍了关于Python脚本实现定时任务的最佳方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
内容介绍内置函数简介1.input2.enumerate()3.eval()4.format()5.map()6.print()7.range()8.reversed()9.sorted()10.zi
这篇文章主要介绍了Django利用Cookie实现反爬虫,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008