- 零基础上手Python数据分析 (8):Pandas 核心数据结构 Series 和 DataFrame
kakaZhui
30天入门python数据分析python数据分析pandas
我们已经完成了Python编程基础的入门,掌握了Python语法、数据类型、数据结构、文件操作和异常处理等核心知识。从今天开始,我们将正式踏入Python数据分析的核心领域,学习Pandas库!Pandas:Python数据分析的“瑞士军刀”Pandas是Python数据分析领域最核心、最基础、最强大的库,没有之一!它提供了高性能、易于使用的数据结构和数据分析工具,使得Python成为数据分析的强
- 一个高级的HTML页面
yzx991013
html前端人工智能python机器学习
完整代码:高级响应式网页设计/*自定义滚动条样式*/::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:#f5f5f5;}::-webkit-scrollbar-thumb{background:#888;border-radius:4px;}AdvancedDesignMenu首页特色案例订阅联系我们创新设计驱动
- 2025.04.18|【Map】地图绘图技巧全解
穆易青
R语言信息可视化
AddcirclesAddcirclesonaLeafletmapChangetileSeveralbackgroundtilesareofferedbyleaflet.Learnhowtoloadthem,andcheckthepossibilities.文章目录AddcirclesChangetile2025.04.18【Map】|地图绘图技巧全解1.准备工作2.地理区域着色图(Choropl
- Docker 代理配置全攻略:从入门到企业级实践
小白也有IT梦
Docker代理配置企业级DevOps
Docker代理配置终极指南:从原理到实践在企业环境中,Docker的网络访问常常需要通过代理来完成,例如拉取镜像或在容器内访问外部网络。本文将从核心流程、配置方法到验证步骤,全面解析Docker代理的配置方式,助你轻松应对各种场景。一、核心流程与架构理解Docker代理的关键在于区分客户端(DockerClient)和守护进程(DockerDaemon)的职责。以下是两种代理方式的核心流程对比:
- CSS 导航栏
智慧浩海
CSScss前端
垂直主页新闻联系关于水平主页新闻联系关于主页新闻联系关于导航栏熟练使用导航栏,对于任何网站都非常重要。使用CSS你可以转换成好看的导航栏而不是枯燥的HTML菜单。导航栏=链接列表作为标准的HTML基础一个导航栏是必须的。在我们的例子中我们将建立一个标准的HTML列表导航栏。导航条基本上是一个链接列表,所以使用和元素非常有意义:实例主页新闻联系关于尝试一下»现在,让我们从列表中删除边距和填充:实例u
- Vue组件库开发实战:从0到1构建可复用的微前端模块
前端程序猿i
前端vue.jsjavascript
随着前端项目越来越复杂,如何开发一个可以随处使用的组件库变得尤为重要。本文将带你从0开始,实现一个完全独立的Vue组件库,包含样式隔离、主题定制等核心功能。前言在日常开发中,我们经常需要在不同项目间复用组件,但直接复制代码显然不是一个好办法。如何开发一个可以即插即用的组件库呢?本文将从实战角度出发,手把手教你实现。技术栈Vue2.6.14Vuex3.6.2RollupPostCSSAntDesig
- 雅思练习总结(二十七)
空 白II
marmeid编程英语学习英语学习单词总结结构分析
雅思练习总结(二十七)本文章是雅思练习总结(二十七),总结了文章《EDUCATINGPSYCHE》,内容包括原文精翻,文章脉络总结,单词扩展学习3个部分1文章原文及翻译EDUCATINGPSYCHE翻译:教育心理学EducatingPsychebyBernieNevilleisabookwhichlooksatradicalnewapproachestolearning,describingthe
- 阿里云高可用-容灾解决方案
asdfgh0077
云栖大会
阿里云高可用-容灾解决方案参考文章:(1)阿里云高可用-容灾解决方案(2)https://www.cnblogs.com/onetwo/p/6007059.html备忘一下。
- 51单片机——中断与定时计数
Apple66666666666
51单片机嵌入式硬件单片机
中断原理AT89S51中断系统结构中断系统有5个中断请求源(简称中断源),2个中断优先级,可实现2级中断服务程序嵌套。每一中断源可用软件独立控制为允许中断或关闭中断状态;每一个中断源的优先级均可用软件设置。中断系统共有5个中断请求源,它们是:(1)INT0*—外部中断请求0,外部中断请求信号(低电平或负跳变有效)由INT0*引脚输入,中断请求标志为IE0。(2)INT1*—外部中断请求1,外部中断
- ubuntu安装docker
该用户已被封禁无法显示
ubuntudockerlinux
1.更新软件包索引sudoapt-getupdate2.安装必要的软件包以允许apt通过HTTPS使用仓库sudoapt-getinstallapt-transport-httpsca-certificatescurlsoftware-properties-common3.添加阿里云的Docker官方GPG密钥curl-fsSLhttps://mirrors.aliyun.com/docker-c
- CSS例子 > 鼠标悬停DIV卡片放大
Mr.app
CSS例子css
HTML第一个DIV一嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎第二个DIV二灌灌灌灌灌孤寡孤寡孤寡嘎嘎嘎JS.blocks{margin:80pxauto;max-width:1070px;padding:0;}/*设置li样式,加上过渡动画*/.blocksli{color:#fff;background-color:#2196E3;cursor:default;float:left;list-style:no
- CSS 美化页面(四)
凌冰_
CSS3css前端
一、浮动float属性属性值描述适用场景left元素向左浮动,腾出右侧空间供其他元素使用,其他内容会围绕在其右侧。横向排列元素(如导航菜单)、图文混排布局。right元素向右浮动,腾出左侧空间供其他元素使用,其他内容会围绕在其左侧。右侧悬浮按钮、图片右对齐的文本环绕效果。none默认值,元素不浮动,按正常文档流排列。取消已有浮动效果,恢复默认布局。inherit继承父元素的
- pytest中fixtrue和测试用例之间共享状态或数据
胆大的
pytest测试用例
示例场景假设我们有一个提交数据的操作,希望在测试用例中管理提交的数据状态,并确保在整个测试过程中能正确访问这些数据。1.使用全局变量global@pytest.fixture(scope='function')defcrud(self,init_admin,request):crud=Crud(init_admin)yieldcrudifrecordid:crud.delete(recordIds
- 探索IAM Generator:自动化AWS IAM管理的神器
芮伦硕
探索IAMGenerator:自动化AWSIAM管理的神器aws-iam-generatorGenerateMulti-AccountIAMusers/groups/roles/policiesfromasimpleYAMLconfigurationfileandJinja2templates.项目地址:https://gitcode.com/gh_mirrors/aw/aws-iam-gener
- Spring Boot 中 Bean 实例化的实现方式详解
m0_72696598
java开发语言
一、传统Spring的Bean配置方式在传统Spring框架中,Bean的实例化需要显式配置,常见方式如下:XML配置(老旧方式)在applicationContext.xml中通过标签定义Bean:运行HTMLJava配置类(Spring3.0+)使用@Configuration和@Bean注解定义Bean:@ConfigurationpublicclassAppConfig{@Beanpubl
- LabVIEW 调用 Python 函数
LabVIEW开发
LabVIEW知识labviewpython开发语言
此程序是LabVIEW调用Python函数实现双精度数相加的典型示例。通过LabVIEW搭建交互框架,借助“OpenPythonSession”创建Python代码运行环境,定位Python模块路径后调用“Add”函数,最终实现数据处理并关闭会话。整个流程展现了LabVIEW与Python跨语言协作的基础逻辑,是混合编程实现功能扩展的缩影。程序调用详细说明版本识别:通过“ToPythonVersi
- Android Jetpack是什么与原生android 有什么区别
ZhangJiQun&MXP
2020安卓教学androidandroidjetpack服务器开发语言机器学习
AndroidJetpack是什么AndroidJetpack是Google推出的一套开发组件工具集,旨在帮助开发者更高效地构建高质量的Android应用。它包含多个库和工具,被分为架构、用户界面、行为和基础四大类。以下是一些AndroidJetpack的示例:架构组件ViewModel:用于以生命周期的方式管理界面相关的数据。例如在一个新闻应用中,可创建一个NewsViewModel来获取和处理
- Web前端技术-HTML
Lil-Long
软件测试零基础入门前端htmlhtml5
一、web前端标准HTML结构标准css样式标准js行为标准二、五大浏览器厂商ie谷歌火狐苹果欧朋注意:其它浏览器都是用的别人浏览器的技术,自己换了一套皮肤而已。三、html定义超文本标记语言四、第一个html页面网页标题helloworld代码都在body标签中1、描述当前文件的版本信息,如果没有详细说明4.0还是x1.0那就是5版本2、html文件3、网页的头部4、utf-8是国际编码的意思,
- win10上自建和推送多个rtsp视频流
NotName_9758
视频ffmpegpython
最近需要多个视频流来测试,网上公开的可用的视频流就两个,不够用,于是我就查找了自己推送视频流的一些资料,现在给大家分享一下:首先是公开的视频流:韩国GOODTVrtmp://mobliestream.c3tv.com:554/live/goodtv.sdp伊拉克AlSharqiya电视台rtmp://ns8.indexforce.com/home/mystream然后是python的推流代码,需要
- 大模型入门零基础从入门到精通看这一篇就够了《大模型应用开发极简入门》附PDF书籍
AGI大模型资料分享员
pdfchatgpt人工智能语言模型ai程序人生agi
今天带来的是最近刚出版的新书:《大模型应用开发极简入门:基于GPT-4和ChatGPT》。这本书是O’Reilly出版的,两位共同作者是来自Worldline公司的机器学习研究员OlivierCaelen和数据工程师Marie-AliceBlete。这两位作者一位侧重学术,一位侧重工程。在我看到本书之时,两位作者的背景信息,再加上GPT-4和ChatGPT这样的大模型前沿内容,就让我感觉非常值得一
- Java基础:第十七讲 基本输入输出
老李-大连
javaexceptionstringnumbersclass图形
输入和输出是应用程序与用户进行交互的方式,在命令行方式下通过标准输入和输出设备(键盘和显示器的控制台),在windows应用中可以通过图形用户界面与用户进行交互,而Web应用中主要通过浏览器和HTML语言与用户进行交互。图形用户界面现在用的不是很多,而Web应用比较多。而在学习Java基本语法的时候,基本的通过命令行方式的输入和控制台方式的输出使用比较方便,可以采用这种方式。本次内容介绍基本的通过
- python中in的用法及其意义
程序猿的探索之路
python心得
以程序举例:favorite_languages={'jen':'python','sarah':'c','edward':'ruby','phil':'python',}❶friends=['phil','sarah']fornameinfavorite_languages.keys():print(name.title())❷ifnameinfriends:print("Hi"+name.ti
- python的ndarray对象的dtype
changzi990
python开发语言
在Python中,ndarray对象是numpy库中用于处理多维数组的核心对象。每个ndarray对象都有一个dtype属性,该属性描述了数组中元素的类型。dtype对象具有以下属性:itemsize:数据类型的大小(以字节为单位)。name:数据类型的名称。alignment:数据类型的对齐要求。fields:如果是字段类型,则包含描述字段的名称和数据类型的字典。shape:数据的维度。subd
- 深入解析 Scikit-learn 机器学习模型
灵魂变量未赋值iw
机器学习scikit-learnpython
```html深入解析Scikit-learn机器学习模型深入解析Scikit-learn机器学习模型Scikit-learn是Python中一个功能强大且易于使用的机器学习库,它提供了丰富的算法和工具来帮助开发者快速构建、训练和评估机器学习模型。本文将深入解析Scikit-learn的核心组件及其工作原理,帮助读者更好地理解和使用这一强大的工具。Scikit-learn的核心概念Scikit-l
- Spring Boot配置属性绑定与自动配置排除详解
小巫程序Demo日记
Spring深层了解springbootpython数据库
一、配置属性绑定机制graphLRA[配置文件]-->B[application.properties/yml]B-->C[Environment对象]C-->D[@ConfigurationProperties类]D-->E[属性校验]E-->F[绑定到Bean]styleAfill:#f9f,stroke:#333styleDfill:#bbf,stroke:#3331.核心实现步骤属性源加载
- Android修行手册 - 实现可折叠TextView,仅一个类复制即用
2401_87555332
android
这三个分别是@用户的,#话题的,网址链接的根据正则表达式的匹配和Pattern与Matcher知识,摘取符合条件的文本开始位置和结束位置。所以我们需要一个存放信息的实体类【JavaModelSpecial或KotlinModelSpecial】,除了这些特殊的文本,有时候我们还需要给普通文本也设置点击事件和特殊处理,所以我们在弄个【JavaModelNormal或KotlinModelNormal
- gradle的例子
田野与天
junitjava开发语言
以下是一个详细的Gradle示例代码,用于构建和管理Java项目:build.gradle文件:plugins{id'java'}group'com.example'version'1.0-SNAPSHOT'sourceCompatibility=1.8repositories{mavenCentral()}dependencies{implementation'org.apache.common
- 1.Framer Motion 中 motion/react 和 motion/react-client 的用法和区别
咖啡虫
MotionReactreact.js前端前端框架Motion
背景知识:服务器端渲染(SSR)和客户端渲染(CSR)在最新的MotionforReact(原FramerMotion)12.x及更高版本中,官方提供了两个入口模块:motion/react和motion/react-client。二者对外API完全一致,但针对的运行环境不同,分别适合“客户端组件”(ClientComponents)和“服务器组件”(ServerComponents)场景。选择时
- 第七章 输入与输出 ——python导引编译之八
weixin_41670255
第七章输入与输出——python导引编译之八标题7.输入与输出InputandOutput有一些表达一个程序的输出方式;数据可以打印在一个人皆可读的形式之中,或者,为未来使用写到一个文件上。这一章,将讨论这样一些可能性。7.1.对输出格式化有特殊爱好的人FancierOutputFormatting到目前为止,我们面对两种书写价值的方式:表达式陈述和打印函数(第三种方式被用作对象的书写函数方法(w
- ASP.NET MVC3学习心得-----表单和HTML辅助方法
weixin_33782386
测试c#数据库
5.1表单的使用5.1.1action和method的特性表单是包含输入元素的容器,包含按钮、复选框、文本框等元素,表单的这些输入元素使得用户能够向页面中输入信息,并把输入信息提交给服务器。Action特性告知浏览器将URL提交到哪里,method特性来说明用何种方式告知浏览器,默认为get方法5.1.2Get和Post方法1、如果不想让浏览器把输入值放入查询字符串中,而是想放入HTTP请求的主体
- PHP,安卓,UI,java,linux视频教程合集
cocos2d-x小菜
javaUIPHPandroidlinux
╔-----------------------------------╗┆
- 各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
bozch
.net.net mvc
在.net mvc5中,在执行某一操作的时候,出现了如下错误:
各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。
&
- Java 对象大小的计算
e200702084
java
Java对象的大小
如何计算一个对象的大小呢?
- Mybatis Spring
171815164
mybatis
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust
- JVM 不稳定参数
g21121
jvm
-XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。 可以说“不稳定参数”
- 用户自动登录网站
永夜-极光
用户
1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码
2.思路:将用户的信息保存为cookie
每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接
- centos7 安装后失去win7的引导记录
程序员是怎么炼成的
操作系统
1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ### 在后面添加 menuentry "Windows 7 (loader) (on /dev/sda1)" {
- Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载
aijuans
oracle
Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程
- JavaEE开源快速开发平台G4Studio_V3.2发布了
無為子
AOPoraclemysqljavaeeG4Studio
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。
访问G4Studio网站
http://www.g4it.org
G4Studio_V3.2版本变更日志
功能新增
(1).新增了系统右下角滑出提示窗口功能。
(2).新增了文件资源的Zip压缩和解压缩
- Oracle常用的单行函数应用技巧总结
百合不是茶
日期函数转换函数(核心)数字函数通用函数(核心)字符函数
单行函数; 字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心)
一:字符函数:
.UPPER(字符串) 将字符串转为大写
.LOWER (字符串) 将字符串转为小写
.INITCAP(字符串) 将首字母大写
.LENGTH (字符串) 字符串的长度
.REPLACE(字符串,'A','_') 将字符串字符A转换成_
- Mockito异常测试实例
bijian1013
java单元测试mockito
Mockito异常测试实例:
package com.bijian.study;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.
- GA与量子恒道统计
Bill_chen
JavaScript浏览器百度Google防火墙
前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下:
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同?
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后
- 【Linux命令三】Top命令
bit1129
linux命令
Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果:
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total, 4 running, 198 sl
- spring四种依赖注入方式
白糖_
spring
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我
- angular.injector
boyitech
AngularJSAngularJS API
angular.injector
描述: 创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入. 使用方法: angular.injector(modules, [strictDi]) 参数详解: Param Type Details mod
- java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待
bylijinnan
Integer
public class PC {
/**
* 题目:生产者-消费者。
* 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
*/
private static final Integer[] val=new Integer[10];
private static
- 使用Struts2.2.1配置
Chen.H
apachespringWebxmlstruts
Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar
struts2-core-2.2.1.jar struts2-sp
- [职业与教育]青春之歌
comsci
教育
每个人都有自己的青春之歌............但是我要说的却不是青春...
大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的....
&nbs
- oracle连接(join)中使用using关键字
daizj
JOINoraclesqlusing
在oracle连接(join)中使用using关键字
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables.
Evaluate the following SQL statement:
SELECT oi.order_id, product_id, order_date
FRO
- NIO示例
daysinsun
nio
NIO服务端代码:
public class NIOServer {
private Selector selector;
public void startServer(int port) throws IOException {
ServerSocketChannel serverChannel = ServerSocketChannel.open(
- C语言学习homework1
dcj3sjt126com
chomework
0、 课堂练习做完
1、使用sizeof计算出你所知道的所有的类型占用的空间。
int x;
sizeof(x);
sizeof(int);
# include <stdio.h>
int main(void)
{
int x1;
char x2;
double x3;
float x4;
printf(&quo
- select in order by , mysql排序
dcj3sjt126com
mysql
If i select like this:
SELECT id FROM users WHERE id IN(3,4,8,1);
This by default will select users in this order
1,3,4,8,
I would like to select them in the same order that i put IN() values so:
- 页面校验-新建项目
fanxiaolong
页面校验
$(document).ready(
function() {
var flag = true;
$('#changeform').submit(function() {
var projectScValNull = true;
var s ="";
var parent_id = $("#parent_id").v
- Ehcache(02)——ehcache.xml简介
234390216
ehcacheehcache.xml简介
ehcache.xml简介
ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信
- junit 4.11中三个新功能
jackyrong
java
junit 4.11中两个新增的功能,首先是注解中可以参数化,比如
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn
- 国外程序员爱用苹果Mac电脑的10大理由
php教程分享
windowsPHPunixMicrosoftperl
Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因:
1、Mac OS X 是基于 Unix 的
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi
- 位运算、异或的实际应用
wenjinglian
位运算
一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。
二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。
三. 位操作与空间压缩,针对筛素数进行空间压缩。
&n
- weblogic部署项目出现的一些问题(持续补充中……)
Everyday都不同
weblogic部署失败
好吧,weblogic的问题确实……
问题一:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve
- tomcat7性能调优(01)
toknowme
tomcat7
Tomcat优化: 1、最大连接数最大线程等设置
<Connector port="8082" protocol="HTTP/1.1"
useBodyEncodingForURI="t
- PO VO DAO DTO BO TO概念与区别
xp9802
javaDAO设计模式bean领域模型
O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持