- 【Python】Numpy详解
frimiku
pythonnumpy开发语言大数据人工智能
Numpy详解相关教程【Python】Numpy详解【Python】Pandas详解【Python】Matplotlib详解一、Numpy介绍数据分析三剑客之一的Numpy,是一个用于处理数组的Python包【基于数组对象的科学计算库】。其全名为“NumericPython”,是一款开源的Python库。Numpy相当于Python中的列表(List),但只能存放相同的数据类型。引入Numpy的目
- Pandas简单介绍
NN今天敲代码了吗
pythonpython
Pandashastwoworkhorsedatastructures:SeriesandDataFrame.SeriesASeriesisaone-dimensionalarray-likeobjectcontaininganarrayofdata(ofanyNumPydatatype)andanassociatedarrayofdatalabels,calleditsindex.#1.crea
- pandas介绍
June �
可视化python数据分析大数据机器学习
本文的主要内容是基于中国大学mooc(慕课)中的“Python数据分析与可视化”课程进行整理和总结。pandas是python第三方库,是基于Numpy的一种工具,经常与numpy与matplotlib一起使用,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。它是
- Python笔记
Lucky_1129
笔记python笔记
Python笔记1.Python数组和列表的区别1.创建方式不同列表可以直接创建,数组需要引用numpy包2.存储对象不同列表可以存储任何的对象,包括数字,字符串,数组,字典等等数组只能存储单一的数据类型3.运算方式不同数组可以进行四则运算,列表只能使用加号进行拼接,拼接之后形成一个新的列表4.运算效率不同array数组是为了精确便捷的处理庞大的类似的数据而产生的,他的存储效率要比列表快着很多2.
- Python数据分析与可视化研究
阿尔法星球
pythonpython数据分析开发语言
Python数据分析与可视化研究摘要随着大数据和人工智能技术的飞速发展,Python数据分析与可视化技术已成为现代科学研究、企业决策等领域不可或缺的工具。本研究全面梳理了Python在数据分析与可视化领域的基本理论框架和关键技术,系统分析了Pandas、NumPy等核心数据分析库以及Matplotlib、Seaborn等可视化库的应用优势与特点。通过实际案例,本研究深入探讨了Python在数据清洗
- python进阶-10.pandas基本数据类型(1)
wang旭炎
pythonnumpy索引
importpandasaspdimportnumpyasnpfrompandasimportSeries,DataFrame文章目录1,Series自定义索引读取SeriesSereis.loc['自定义的索引']||Sereis.iloc[0-n的数字]xxx.loc['yy']=new修改和增加读取多个值,会得到一个新对象通过字典数据得到Series2.DataFrame2.1把numpy的
- python 统计相同像素值个数
AI算法网奇
python基础opencv计算机视觉python
目录python统计相同像素值个数最大值附近的值python统计相同像素值个数importcv2importnumpyasnpimporttimefromcollectionsimportCounter#读取图像image=cv2.imread('mask16.jpg')#将图像转换为灰度图像gray_image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)area
- python 随机数 随机种子
AI算法网奇
python宝典python开发语言后端
目录神经网络推理随机种子gpu新版:神经网络推理随机种子gpu:神经网络推理随机种子含npu:numpy.full创建相同矩阵python生成n个随机整数python随机数种子,每次获取相同的随机数随机在区间M内取不重复的N个随机数取一个范围内均匀不重复的随机数神经网络推理随机种子gpu新版:defset_random_seed(seed):"""Setrandomseeds."""random.
- 小波变换Python代码
优游的鱼
小波变换是一种数字信号处理技术,用于对信号进行频域分析和处理。它通常用于信号压缩、滤波和其他信号处理应用中。在Python中,可以使用PyWavelets库来实现小波变换。下面是一个简单的例子,展示了如何使用PyWavelets库对信号进行小波变换:importpywtimportnumpyasnp#定义信号signal=np.random.rand(32)#进行小波变换wavelet='db1'
- Gradio + Transformers** 实现带记忆功能的对话系统完整代码示例
大霸王龙
pythonpython开发语言
以下是一个使用Gradio+Transformers实现带记忆功能的对话系统完整代码示例,无需额外数据库依赖:importgradioasgrimportnumpyasnpfromtransformersimportAutoTokenizer,AutoModelfromtypingimportDict,List,Tuple#-----------------初始化模型---------------
- YOLOv11目标检测模型部署到微信小程序上
小阿技术
YOLO目标跟踪人工智能微信小程序目标检测计算机视觉python
1.效果YOLOv11目标检测模型部署到微信小程序上2.后端主要代码importosimporttimeimportnumpyasnpimporttorchfromflaskimportFlask,request,send_fileimportcv2fromultralyticsimportYOLO#导入YOLOv11模型,需要提前安装ultralytics库#初始化Flask应用app=Flas
- svm python 模型绘图_1SVM处理数据并绘图
张炜大师傅
svmpython模型绘图
爬虫Python基础、数据分析扩展包Numpy、pandas、matplotlib,Python读取MySQL数据,Python爬虫及Scrapy框架,无监督机器学习算法聚类分析等,以及案例:互联网金融行业客户价值分析等。机器学习机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有
- 【解决 NumPy meshgrid 函数的 ‘indexing‘ 参数错误】
weixin_48705841
报错numpy深度学习transformer计算机视觉
解决NumPymeshgrid函数的'indexing'参数错误解决NumPymeshgrid函数的'indexing'参数错误问题描述解决NumPymeshgrid函数的‘indexing’参数错误最近在使用NumPy的meshgrid函数时,遇到了一个奇怪的错误:“TypeError:meshgrid()gotanunexpectedkeywordargument‘indexing’”。经过一
- 用opencv生成视频流,然后用rtsp进行拉流显示
hunter206206
pythonopencvpython人工智能
importcv2importnumpyasnpimporttimefromdatetimeimportdatetimeimportgiimportsocketimportsysgi.require_version('Gst','1.0')try:gi.require_version('GstRtspServer','1.0')fromgi.repositoryimportGst,GLib,Gst
- 多张图片读入后组成一个矩阵。怎么读取图片,可以让其读入的形式是:ndarray(a,b,c)分别的含义:a为多少张图片,b*c为图片大小
洛水微寒
矩阵线性代数
不显示通道数:要将多张图片读取为一个NumPy数组(ndarray),其中a表示图片数量,b和c分别表示每张图片的高度和宽度(不显示通道数),你可以使用Python中的PIL(Pillow)库和NumPy库。下面是一个示例代码,展示了如何实现这一点:代码示例importnumpyasnpfromPILimportImageimportosdefload_images_from_folder(fol
- Python中判断列表是否包含某个元素的方法
五月天的尾巴
python判断列表是否包含元素
文章目录1、成员运算符in和notin2、使用count()方法3、使用any()函数4、使用set转换5、使用numpy库6、使用any()和生成器表达式7、使用index()方法8、使用itertools.chain()函数9、使用collections.Counter类10、使用pandas库以下整理几种判断列表中是否包含某个元素的方法。以下代码基于python2.7执行。1、成员运算符in
- python代码转exe
xuaman
pythonpythonexe编译
1.打开cmd控制台,跳转之python目录下的scripts.2.输入:pipinstallnumpy3.第二步成功后,输入:pipinstallPyInstaller4.第三步完成后,输入:pyinstaller-Fpy文件路径5.第四步完成后,在当前目录下出现,dist文件夹,里面就是编译成功的同名exe文件如有问题可以留言。
- sklearn.datasets
SilenceHell
机器学习实战学习笔记
fromsklearn.datasets.california_housingimportfetch_california_housinghousing=fetch_california_housing()type(housing)Out[21]:sklearn.utils.Bunchtype(housing.data)Out[23]:numpy.ndarrayhousing.data[0]Out
- 岭回归预测PM2.5
qianjinwang
python
#-*-coding:utf-8-*-#@File:demo2.py#@Author:CJH#@Date:2019/4/9#@Software:PyCharm#@Desc:天气PM2.5预测importcsvimportnumpyasnpfromnumpyimport*importmatplotlib.pyplotaspltfromsklearnimportlinear_modeltraining
- python爬虫——pandas的简单使用
张謹礧
python爬虫+可视化python网络爬虫pythonpandas爬虫
pandas作为爬虫中最重要的包之一,我们要想学好爬虫,就必须要深入了解pandas直接上代码importpandasaspdimportnumpyasnpdata=pd.DataFrame(np.arange(16).reshape((4,4)),index=['a','b','c','d'],#如果不写列索引默认为0,1,2,3columns=['a','b','c','d'])print(d
- transformer模型代码
地瓜不是呱
学习笔记transformer深度学习pytorch
importnumpyasnpimporttorchimporttorch.nnasnnimporttorch.optimasoptimimportmatplotlib.pyplotaspltimportmathdefmake_batch(sentences):input_batch=[[src_vocab[n]forninsentences[0].split()]]output_batch=[[
- NumPy学习第十课:一文通俗了解NumPy中的数学函数
HappyAcmen
Numpy基础知识学习numpy学习pythonpycharm开发语言
前言导读在前面NumPy的学习过程当中,我们知道NumPy库是一个特别擅长处理大型矩阵或者说存储大型数据的这么一个库,与Python自身相比较在处理数据的时候更加的高效,所以我们在数学中常见到的计算函数,NumPy库中基本上也都已经涵盖了。而且已经封装好了很多的函数,我们在实际的使用过程当中,只需要引入NumPy库,并调用相应的函数方法就可以了,非常的便捷。这一节我们就先来了解了解NumPy中的数
- 关于sklearn.svm.SVC与.NuSVC的区别以及参数介绍
_Magic
机器学习实战withpython
0.区别SVC与NuSVC是类似的方法,但是接受稍微不同的参数集合并具有不同的数学公式,并且NuSVC可以使用参数来控制支持向量的个数,以下代码默认的是多分类1.SVC#coding:utf-8fromsklearnimportsvmfromnumpyimport*X=array([[0],[1],[2],[3]])y=array([0,1,2,3])clf=svm.SVC()clf.fit(X,
- Numpy基础01(Jupyter基本用法/Ndarray创建与基本操作)
XYX的Blog
数据分析与可视化numpyjupyter
内容一:Jupyter开发环境IPython是一个增强型的Python交互式解释器,提供了自动补全、命令历史、魔法命令等功能。它支持与操作系统命令交互、内联绘图和多语言扩展,并可与JupyterNotebook集成,适用于数据分析和科学计算。IPython还支持远程访问、包管理和插件扩展,是一个功能强大且灵活的开发工具。JupyterNotebook是IPython的开发环境。1.1Jupyter
- Python_线性插值
胡小记
python
1、语法解释线性插值主要用到的是numpy中的interp函数interp(x,xp,fp,left=None,right=None,period=None)其中x为要插值点的横坐标,xp为x的坐标值(必须是递增),fp为y的坐标值left是可选择参数,如果x小于xp,则会默认返回xp[0]对应的fp值,right同理。period可设定横坐标的周期,该选项打开时,则忽略left和right。具体
- matlab程序代编程写做代码图像处理BP神经网络机器深度学习python
matlabgoodboy
深度学习matlab图像处理
1.安装必要的库首先,确保你已经安装了必要的Python库。如果没有安装,请运行以下命令:bash复制代码pipinstallnumpymatplotlibtensorflowopencv-python2.图像预处理我们将使用OpenCV来加载和预处理图像数据。假设你有一个图像数据集,每个类别的图像存放在单独的文件夹中。python复制代码importosimportcv2importnumpya
- 使用scorecardpy库计算woe分箱和iv值
亲持红叶
机器学习风控相关算法人工智能机器学习
woe分箱_iv值计算基于scorecardpy库,乳腺癌数据集importpandasaspdimportnumpyasnpfromsklearn.datasetsimportload_breast_cancerimportscorecardpyasscfromtqdmimportnotebookcancer=load_breast_cancer()df=pd.DataFrame(cancer.
- YOLOv10-1.1部分代码阅读笔记-model.py
红色的山茶花
YOLO笔记深度学习
model.pyultralytics\engine\model.py目录model.py1.所需的库和模块2.classModel(nn.Module):1.所需的库和模块#UltralyticsYOLO,AGPL-3.0licenseimportinspectimportsysfrompathlibimportPathfromtypingimportUnionimportnumpyasnpim
- ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape
Xiao张不会深度学习
python开发语言
1.错误报错ValueError:settinganarrayelementwithasequence.Therequestedarrayhasaninhomogeneousshapeafter1dimensions.Thedetectedshapewas(6,)+inhomogeneouspart.2.问题原因numpy版本原因导致的报错。3.解决办法卸载现有版本numpy,安装numpy1.2
- YOLOv10-1.1部分代码阅读笔记-loaders.py
红色的山茶花
YOLO笔记深度学习
loaders.pyultralytics\data\loaders.py目录loaders.py1.所需的库和模块2.classSourceTypes:3.classLoadStreams:4.classLoadScreenshots:5.classLoadImagesAndVideos:6.classLoadPilAndNumpy:7.classLoadTensor:8.defautocast
- 统一思想认识
永夜-极光
思想
1.统一思想认识的基础,才能有的放矢
原因:
总有一种描述事物的方式最贴近本质,最容易让人理解.
如何让教育更轻松,在于找到最适合学生的方式.
难点在于,如何模拟对方的思维基础选择合适的方式. &
- Joda Time使用笔记
bylijinnan
javajoda time
Joda Time的介绍可以参考这篇文章:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:
/**
* DateTime变化(增减)
*/
@Tes
- FileUtils API
eksliang
FileUtilsFileUtils API
转载请出自出处:http://eksliang.iteye.com/blog/2217374 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- 各种新兴技术
不懂事的小屁孩
技术
1:gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
现在构建系统常用到maven工具,现在有更容易上手的gradle,
搭建java环境:
http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
搭建android环境:
http://m
- tomcat6的https双向认证
酷的飞上天空
tomcat6
1.生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 36
- 托管虚拟桌面市场势不可挡
蓝儿唯美
用户还需要冗余的数据中心,dinCloud的高级副总裁兼首席营销官Ali Din指出。该公司转售一个MSP可以让用户登录并管理和提供服务的用于DaaS的云自动化控制台,提供服务或者MSP也可以自己来控制。
在某些情况下,MSP会在dinCloud的云服务上进行服务分层,如监控和补丁管理。
MSP的利润空间将根据其参与的程度而有所不同,Din说。
“我们有一些合作伙伴负责将我们推荐给客户作为个
- spring学习——xml文件的配置
a-john
spring
在Spring的学习中,对于其xml文件的配置是必不可少的。在Spring的多种装配Bean的方式中,采用XML配置也是最常见的。以下是一个简单的XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.or
- HDU 4342 History repeat itself 模拟
aijuans
模拟
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4342
题意:首先让求第几个非平方数,然后求从1到该数之间的每个sqrt(i)的下取整的和。
思路:一个简单的模拟题目,但是由于数据范围大,需要用__int64。我们可以首先把平方数筛选出来,假如让求第n个非平方数的话,看n前面有多少个平方数,假设有x个,则第n个非平方数就是n+x。注意两种特殊情况,即
- java中最常用jar包的用途
asia007
java
java中最常用jar包的用途
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. w
- ajax获取Struts框架中的json编码异常和Struts中的主控制器异常的解决办法
百合不是茶
jsjson编码返回异常
一:ajax获取自定义Struts框架中的json编码 出现以下 问题:
1,强制flush输出 json编码打印在首页
2, 不强制flush js会解析json 打印出来的是错误的jsp页面 却没有跳转到错误页面
3, ajax中的dataType的json 改为text 会
- JUnit使用的设计模式
bijian1013
java设计模式JUnit
JUnit源代码涉及使用了大量设计模式
1、模板方法模式(Template Method)
定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。
 
- Linux常用命令(摘录)
sunjing
crondchkconfig
chkconfig --list 查看linux所有服务
chkconfig --add servicename 添加linux服务
netstat -apn | grep 8080 查看端口占用
env 查看所有环境变量
echo $JAVA_HOME 查看JAVA_HOME环境变量
安装编译器
yum install -y gcc
- 【Hadoop一】Hadoop伪集群环境搭建
bit1129
hadoop
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。 &nb
- Anychart图表系列五之事件监听
白糖_
chart
创建图表事件监听非常简单:首先是通过addEventListener('监听类型',js监听方法)添加事件监听,然后在js监听方法中定义具体监听逻辑。
以钻取操作为例,当用户点击图表某一个point的时候弹出point的name和value,代码如下:
<script>
//创建AnyChart
var chart = new AnyChart();
//添加钻取操作&quo
- Web前端相关段子
braveCS
web前端
Web标准:结构、样式和行为分离
使用语义化标签
0)标签的语义:使用有良好语义的标签,能够很好地实现自我解释,方便搜索引擎理解网页结构,抓取重要内容。去样式后也会根据浏览器的默认样式很好的组织网页内容,具有很好的可读性,从而实现对特殊终端的兼容。
1)div和span是没有语义的:只是分别用作块级元素和行内元素的区域分隔符。当页面内标签无法满足设计需求时,才会适当添加div
- 编程之美-24点游戏
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class PointGame {
/**编程之美
- 主页面子页面传值总结
chengxuyuancsdn
总结
1、showModalDialog
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口时,用于返回窗口的值
主界面
var sonValue=window.showModalDialog("son.jsp");
子界面
window.retu
- [网络与经济]互联网+的含义
comsci
互联网+
互联网+后面是一个人的名字 = 网络控制系统
互联网+你的名字 = 网络个人数据库
每日提示:如果人觉得不舒服,千万不要外出到处走动,就呆在床上,玩玩手游,更不能够去开车,现在交通状况不
- oracle 创建视图 with check option
daizj
视图vieworalce
我们来看下面的例子:
create or replace view testview
as
select empno,ename from emp where ename like ‘M%’
with check option;
这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:
select * from testv
- ToastPlugin插件在cordova3.3下使用
dibov
Cordova
自己开发的Todos应用,想实现“
再按一次返回键退出程序 ”的功能,采用网上的ToastPlugins插件,发现代码或文章基本都是老版本,运行问题比较多。折腾了好久才弄好。下面吧基于cordova3.3下的ToastPlugins相关代码共享。
ToastPlugin.java
package&nbs
- C语言22个系统函数
dcj3sjt126com
cfunction
C语言系统函数一、数学函数下列函数存放在math.h头文件中Double floor(double num) 求出不大于num的最大数。Double fmod(x, y) 求整数x/y的余数。Double frexp(num, exp); double num; int *exp; 将num分为数字部分(尾数)x和 以2位的指数部分n,即num=x*2n,指数n存放在exp指向的变量中,返回x。D
- 开发一个类的流程
dcj3sjt126com
开发
本人近日根据自己的开发经验总结了一个类的开发流程。这个流程适用于单独开发的构件,并不适用于对一个项目中的系统对象开发。开发出的类可以存入私人类库,供以后复用。
以下是开发流程:
1. 明确类的功能,抽象出类的大概结构
2. 初步设想类的接口
3. 类名设计(驼峰式命名)
4. 属性设置(权限设置)
判断某些变量是否有必要作为成员属
- java 并发
shuizhaosi888
java 并发
能够写出高伸缩性的并发是一门艺术
在JAVA SE5中新增了3个包
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
在java的内存模型中,类的实例字段、静态字段和构成数组的对象元素都会被多个线程所共享,局部变量与方法参数都是线程私有的,不会被共享。
- Spring Security(11)——匿名认证
234390216
Spring SecurityROLE_ANNOYMOUS匿名
匿名认证
目录
1.1 配置
1.2 AuthenticationTrustResolver
对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticat
- NODEJS项目实践0.2[ express,ajax通信...]
逐行分析JS源代码
Ajaxnodejsexpress
一、前言
通过上节学习,我们已经 ubuntu系统搭建了一个可以访问的nodejs系统,并做了nginx转发。本节原要做web端服务 及 mongodb的存取,但写着写着,web端就
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
lhbthanks
javahtmlstrutscheckbox
第一种方法:获取结果String类型
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
- 003.Kafka基本概念
nweiren
hadoopkafka
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic: 消息源(Message)的分类。 Partition: Topic物理上的分组,一
- Linux环境下安装JDK
roadrunners
jdklinux
1、准备工作
创建JDK的安装目录:
mkdir -p /usr/java/
下载JDK,找到适合自己系统的JDK版本进行下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
把JDK安装包下载到/usr/java/目录,然后进行解压:
tar -zxvf jre-7
- Linux忘记root密码的解决思路
tomcat_oracle
linux
1:使用同版本的linux启动系统,chroot到忘记密码的根分区passwd改密码 2:grub启动菜单中加入init=/bin/bash进入系统,不过这时挂载的是只读分区。根据系统的分区情况进一步判断. 3: grub启动菜单中加入 single以单用户进入系统. 4:用以上方法mount到根分区把/etc/passwd中的root密码去除 例如: ro
- 跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现
xueyou
jsonpjquery框架UIhtml5
postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,p