- Pyhton 单行、多行注释符号使用方法及规范
Tiger-Li
python
Pyhton单行、多行注释符号使用方法及规范python中的注释有多种,有单行注释,多行注释,批量注释,中文注释也是常用的。python注释也有自己的规范,在文章中会介绍到。注释可以起到一个备注的作用,团队合作的时候,个人编写的代码经常会被多人调用,为了让别人能更容易理解代码的通途,使用注释是非常有效的。一、python单行注释符号(#)井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任
- 【图片识别分类】批量按图片水印文字识别后根据内容分类并移至不同文件夹,基于Python和腾讯API的解决方案
平安喜乐-开开心心
文件操作类图片处理类文字识别水印文字在图片分类及文件夹归类根据水印文字对图片分类水印文字精准分类图片并文件夹水印文字识别在图片分类中的应用依据水印文字对图片分类运用水印文字信息完成图片分类解析图片水印文字助力图片分类
新闻媒体机构每天会收到和拍摄大量的新闻图片,这些图片上通常会有拍摄时间、地点、事件类型等水印文字信息。为了便于新闻编辑和资料存档,需要对图片进行分类管理。具体应用:分类规则设定:根据水印文字中的时间(年、月、日)、地点(城市、区域)和事件关键词(如“政治会议”“体育赛事”“自然灾害”等),对图片进行分类。例如,水印文字显示“2024年3月15日北京政治会议”的图片归类到“2024年3月-北京-政治
- PythonStudy——Python 注释规范
aiyi1882
python开发工具
注释规范:什么是注释?注释:不会被python解释器解释执行,是提供给开发者阅读代码的提示单行注释:#开头的语句多行注释:出现在文件最上方,用''''''包裹的语句Pycharm快捷键:Ctrl+/多行注释:每一个文件自上到下,只允许一对""""""内为注释部分,剩下的三引号对视为字符串。'''num=10print(num)print(num)''''''num=10print(num)prin
- 几行Python代码,轻松获取美股阿里巴巴的交易数据!
Python资深程序员
PythonPython
学Python可以干很多事情,比如爬虫,数据分析,机器学习,但是有一个非常小众的分支,不仅结合了两大高薪行业,而且还薪水非常诱人,就是量化金融岗位。目前Python已经是金融行业最低的一个门槛,几乎所有从事金融证券行业的人都要学会Python。今天给大家分享如何用Python获取美股的交易数据!Python资源共享群:626017123数据获取是数据分析的第一步,找不到可靠、真实的数据,数据分析无
- python多线程、多进程和线程池编程
NickDeCodes
pythonpython多线程多进程
python多线程、多进程和线程池编程python中的GIL在Python中,GIL或全局解释器锁(GlobalInterpreterLock)是一个在CPython解释器中实现的机制,它确保任何时候只有一个线程可以执行Python字节码。由于GIL的存在,即使在多核处理器上,使用多线程的Python程序也不能实现真正的并行执行。GIL的目的和影响目的:内存管理安全:Python使用引用计数来管理
- 如何在本地正确部署Dify服务
写python的鑫哥
Python课堂pythonDify本地部署LLM大型语言模型框架
前言本文是该专栏的第49篇,后面会持续分享python的各种干货知识,值得关注。Dify是一个开源的LLM(大型语言模型)应用开发平台,旨在为开发者提供从Agent构建到AIworkflow编排、RAG检索、模型管理等全方位的能力,从而轻松构建和运营生成式AI原生应用。在本文中,笔者将针对Dify的核心知识点以及“本地如何部署Dify”,进行详细说明。具体细节部分,笔者在正文将结合实际完整图文案例
- 8个建议,为啥不使用Python开发大型项目!
疯狂的超级玛丽
Python基础PythonPython学习python开发语言python3.11学习Python基础Python学习编程
在开发者的职业生涯中,有一个特定阶段,开发者们会从为项目做贡献到掌握自己的技巧。这个阶段对有些人来说会来得早一些,有些则也会晚一些,而另一部分人则无法到达这个阶段。不过,大多数职业生涯较长的开发人员都经历过这个阶段。我将这称之为自己构建的点。如果你已经到达了那个阶段,你面对的第一个问题是:它是如何运作的?用户体验如何?架构是怎样的?数据如何流动?以及很多类似这样的问题。我在这里就不为你回答这些这些
- 使用 Python 爬虫获取金融市场数据(股市、汇率等)
Python爬虫项目
2025年爬虫实战项目python爬虫开发语言数据分析
目录项目背景与目标技术栈与工具选择目标网站分析爬虫架构设计股市数据爬取汇率数据爬取爬虫优化与反爬虫策略数据存储与管理数据分析与可视化总结与展望1.项目背景与目标1.1金融市场数据的重要性金融市场数据,如股票、债券、汇率、商品期货等,广泛应用于各种分析领域,如投资策略优化、市场预测、风险评估等。在现代金融分析中,获取并处理实时、准确的金融数据至关重要。无论是个人投资者,还是机构投资者,都需要获取市场
- Python基础语法:注释和代码风格(PEP 8)详解③
邓瑞军说HelloWorld
PythonVSCode#Python开发基础开发语言pythonvscode
文章目录一、注释1.1单行注释1.2多行注释1.3文档字符串(docstrings)二、PEP8代码风格2.1缩进2.2每行字符数限制2.3空行2.4引号2.5空格2.6注释2.7命名约定2.8其他建议三、综合复杂示例四、结论在编写Python代码时,注释和代码风格是两个至关重要的方面。良好的注释能够帮助开发者更好地理解代码,提高代码的可读性和可维护性;遵循Python的官方代码风格指南(PEP8
- ttkbootstrap界面美化系列之简介(一)
ftzchina
Pythonttkbootstrap界面美化python
一:前言相信很多同学用Python进行界面设计第一个用到的就是Tkinter,Tkinter是Python的一个标准接口,用于创建GUI(图形用户界面)应用程序。它是Tcl/Tk的封装,Tkinter的名称来源于Tk技术工具包(ToolKit)的首字母缩写。Tkinter的历史可以追溯到1989年,当时为了让程序员能更容易地创建图形用户界面,开发了Tk工具包。Tkinter是Python语言的一部
- python3.13及其新特性
Channing Lewis
Pythonpython
截至目前,Python的最新稳定版本是3.13.1,于2024年10月7日发布。该版本引入了多项新特性和改进,主要包括:全新的交互式解释器:提供多行编辑、历史记录保存和彩色提示等功能,提升了开发者的使用体验。实验性无全局解释器锁(GIL)支持:允许在自由线程模式下运行,提升多线程程序的性能。即时编译器(JIT):引入了实验性的JIT编译器,旨在提高代码执行效率。错误消息改进:增强了错误消息的可读性
- DeepSeek最简单本地部署方案
liyuanziming
python
###最简单的本地部署方案为了简单地本地部署DeepSeek,以下是一步步的操作指南:####1.安装编程语言首先,选择Python或R作为编程语言。Python在数据分析中更为常见。####2.下载DeepSeek的代码库根据以下链接下载对应的代码库:-**Python**:[DeepSeekPython](https://github.com/DeepSeek/deepseek-python)
- Python3.13安装和配置
冯一川
Qt项目总结python
Python3.13安装和配置一、Python的下载点击下面的下载链接,下载需要的版本。以3.13版本为例。如下图所示:3.13.0下载地址(windows)3.13.0下载地址(windows)二、安装下载完成后,双击安装文件。<
- 【项目分享】使用python的ttkbootstrap模块构建一个炫酷的计时器
命运之光
我的项目源代码集:持续更新python开发语言
目录前言项目背景项目展示(图片)项目实现1.安装与设置2.创建主窗口3.初始化计时器功能4.实现计时功能5.实现隐藏边框与置顶功能6.运行应用完整代码结论嗨,我是命运之光!2024,每日百字,记录时光,感谢有你一路同行。携手启航,探索未知,激发潜能,每一
- Python随笔 scorecardpy笔记
Cairne493
Python学习python机器学习数据分析
目录scorecardpy笔记简介运行示例详细分析各函数sc.germancredit()sc.var_fillter(...)sc.split_df(...)woebin(...)woebin_ply(...)sc.perf_eva(...)sc.scorecard(...)sc.scorecard_ply(...)sc.perf_psi()问题解决matplotlib.pyplot未安装[^3
- Ubuntu 24.04 LTS安装Python2失败解决
WLHG8PLUS
ubuntulinux服务器
Ubuntu24.04LTS安装Python2失败解决安装Ubuntu24.04之后,安装python2会提示:~/$sudoaptinstallpython2Readingpackagelists...DoneBuildingdependencytree...DoneReadingstateinformation...DonePackagepython2isnotavailable,butisr
- 潇洒郎: python subprocess 模块 子进程
潇洒郎
Python学习python命令行执行命令subprocessPopen
'''os.popen()执行操作系统的命令,会将结果保存在内存当中,可以用read()方法读取出来importos#将结果保存到内存中r=os.popen("ls-l")print(res)##用read()读取内容print(res.read())subprocess.run(["df","-h"])subprocess.call()执行命令,返回命令的结果和执行状态,0或者非0subproc
- 【Python】进程管理之 subprocess
jackwongs
pythonwindows开发语言
一个好的子进程管理需要满足什么功能需求?无阻塞/阻塞标准输入/输出信号发送/kill其实也不多。开始123456importsubprocessproc=subprocess.Popen('ping127.0.0.1',shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,stdin=subprocess.PIPE)print(pro
- python连接sqlite数据库
豪豪学习8848
oracle数据库
importsqlite3#连接到SQLite数据库#如果数据库文件不存在,会自动在当前目录创建:conn=sqlite3.connect('example.db')try:#创建一个Cursor对象cursor=conn.cursor()#创建一个新表cursor.execute('''CREATETABLEIFNOTEXISTSusers(idINTEGERPRIMARYKEY,nameTEX
- Python定时任务框架Apscheduler实例-----每隔10分钟扫描FTP的文本,下载到本地,非月结期间调airflow工作流
不朽的诗篇
Pythonsftppythonhttpwebrequest
1.安装anacondahttps://www.jianshu.com/p/d3a5ec1d9a082.安装虚拟环境monitor//创建虚拟环境monitorcondacreate-nmonitorpython=3.6//查看已创建的虚拟环境condainfo-e3.安装Apscheduler,FTP工具包,Requestspipinstallapschedulerpipinstallparam
- python做定时任务的方式及优缺点_使用Python做定时任务及时了解互联网动态
weixin_39617405
前言本人因为比较喜欢看漫画和动漫,所以总会遇到一些问题,因为订阅的漫画或者动漫太多,总会忘记自己看到那一章节或者不知道什么时候更新.故会有这么一个需求,想记录自己想看的漫画或动画并在其更新的时候第一时间知道,当然,你可以拓展到任何你想关注的,都可以通过邮件及时推送.思路目录运行环境Python3.6第三方库fake-useragent==0.1.11pyquery==1.4.0requests==
- Python做定时任务
w263044840
最近写一个svn监控工具,每天定时去checksvn是否有更新,有则把更新内容发到指定的邮箱中,其中用到定时任务,看了一下python的文档貌似没有哪个模块提供计划任务这种函数。定时任务可以使用time下的sleep实现,也可以用schu去实现,看介绍都是需要输入一个时间的,所以要计算一个时间差。其实关键就是算差值了,以下是每天10,14,16三个点去执行svncheck这个函数的实现,用到的是c
- Python实现定时任务
百家晓东
Python
关注公众号“码农帮派”,查看更多系列技术文章:下面提供两种方式实现Python中的定时任务:|time.sleep(seconds)|time,sched方式一:#coding=utf-8importtimedefoperate(inc=1):#dosomethingprint'----'time.sleep(inc)pass#循环执行10次foriinrange(10):operate(1)【说
- httprunner实践样例
谷隐凡二
测试测试工具
目录1.安装HTTPRunner2.基本概念和目录结构3.编写一个HTTPRunner测试用例(YAML示例)4.运行测试用例5.使用Python编写测试用例6.运行Python测试用例7.集成测试报告8.高级用法:集成环境变量、外部数据9.集成到CI/CD流程10.应用说明:简介:HTTPRunner是一个非常好用的自动化测试框架,它用于HTTPAPI测试,支持RESTful、GraphQL等接
- python实现轻量级的定时任务包,不引用celery等框架,在注册APP后自启动
rock——you
python开发语言linux
如果你希望自开发一个轻量级的Python包来实现定时任务,而不依赖Celery等复杂框架,可以使用原生的Python工具如threading或schedule。以下是一个简单实现的方案。实现一个轻量级的定时任务包核心功能使用threading启动一个守护线程。定时执行一个小任务,例如每分钟运行一次。提供启动、停止功能。避免复杂的依赖,纯Python实现。项目结构my_simple_schedule
- Python命令汇总:雷电模拟器
棠梨煎雪灬
Python学习python开发语言
Python命令汇总:雷电模拟器文章目录Python命令汇总:雷电模拟器写在前面一、模拟器参数操作二、模拟器应用操作三、模拟器模拟操作`参考网站名称`雷电模拟器命令操作合集写在前面使用目的:雷电模拟器库函数调用(调用时注意函数前缀)一、模拟器参数操作添加模拟器add(name:str)获取安装包列表get_package_list(index:int)->list检测是否安装指定的应用has_in
- Python入门初学一、Python简介及发展,带你深入认识Python
2401_86437188
python开发语言
从整体上看,Python语言最大的特点就是简单,该特点主要体现在以下2个方面:Python语言的语法非常简洁明了,即便是非软件专业的初学者,也很容易上手。和其它编程语言相比,实现同一个功能,Python语言的实现代码往往是最短的。对于Python,网络上流传着“人生苦短,我用Python”的说法。因此,看似Python是“不经意间”开发出来的,但丝毫不比其它编程语言差。事实也是如此,自1991年P
- Python在测试中的用途_pathon在软件测试中的应用
2401_86437188
python开发语言
Python+Selenium实现web端的UI自动化:Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaFirefox,Safari,GoogleChrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览
- Python必备库大全,建议留用
2401_86437188
python开发语言
mechanize-有状态、可编程的Web浏览库。socket–底层网络接口(stdlib)。UnirestforPython–Unirest是一套可用于多种语言的轻量级的HTTP库。hyper–Python的HTTP/2客户端。PySocks–SocksiPy更新并积极维护的版本,包括错误修复和一些其他的特征。作为socket模块的直接替换。网络爬虫框架1.功能齐全的爬虫grab–网络爬虫框架(
- 进程间的数据桥梁:`multiprocessing.Queue` 的应用
清水白石008
pythonPython题库服务器运维
进程间的数据桥梁:multiprocessing.Queue的应用在多进程编程中,由于每个进程都有自己独立的内存空间,因此进程之间的数据交换和共享比线程间的数据传递要复杂一些。Python提供了多种机制来实现进程间的数据传递,其中multiprocessing.Queue是一个常用且强大的工具。本文将深入探讨multiprocessing.Queue在进程间数据传递中的作用,并结合实例进行讲解,帮
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include