XPath语法:表达式描述nodename选取此节点的所有子节点/从根节点选取//选择任意位置的某个节点.选取当前节点..选取当前节点的父节点@选取属性 <?xml version="1.0"encoding="IS0-8859-1"?><classroom>  
条件判断语法:if(){ }else{}循环for 循环:for(i=1;i<=100;i++){……}for in 循环:for(var i in students){……}while循环:while(){……}do while循环:do{……}while()函数使用function关键字定义。语法:function 函数名称(参数a,参数b,……){……return xxx;}
JavaScript基础语法1 js区分大小写。每一条语句以分号结束。2 声明变量时统一使用var关键字。变量名由字母、数字、$、_组成,不能由非数字开头。数据类型:Number 类型:JavaScript中不区分整数和浮点数,统一使用Number表示。如100(整数)、0.45(浮点数)、1.234e3(科学计数法表示)、-10(负数)、NaN(无法计算时候使用)、Infinity(无限大)、0
文本属性设置行高、缩进、字符间距。text-align:设置文本对齐方式,属性值取left、center、right。line-height:设置文本行高,属性值取具体数值来设置具体行高。text-indent:代表首行缩进,text-indent:100px,意思是首行缩进100个像素。letter-spacing:设置字符间距。默认是normal,字符之间没额外的空间,inherit从父元素继
CSS中常见属性:颜色属性color:颜色名称定义:如color:green十六进制定义:如color:#ff6600简写方式定义:color:#f60RGB方式定义:rgb(255,255,255),三个值分别是红绿蓝,取值范围是0~255。RGBA方式定义:color:rgba(255,255,255,1),四个参数分别是红绿蓝和透明度。 字体属性:font-size:定义字体大小,
CSS层叠样式表CSS层叠样式表(Cascading Style Sheets),用于定义页面样式的,即如何显示HTML文件,这种内容和样式分离的设计,能够使得同一个HTML文件有不同的显示样式。CSS文件使用方式内联样式表:在HTML代码中,使用style属性指定样式。可以对不同的元素使用。示例1:<body style=”background-color:green;margin:0;p
<tr>标记,定义表格的行,行内可以嵌套多个<td>或者<th>。属性bgcolor设置背景颜色,格式为bgcolor=”颜色值”。align设置水平方向对齐方式,left左对齐,right右对齐,center居中对齐,justify对行进行伸展,让每行都有相等的长度;char将内容对准指定字符。属性valign设置垂直对齐方式,top上对齐,middle居中对
超链接作用是实现页面之间的跳转。语法:<a href=”链接地址” target=”打开方式” name=”页面锚点名称”>链接的文字或者图片</a>属性:href:链接的地址,可以指向一个网页、视频、图片、音乐。target:定义超链接打开的方式。当属性值是_blank时,在一个新的窗口打开链接,_self时在当前窗口打开链接,_parent时在父窗口打开链接,_top时
<br>B标记加粗---->><b>Python 爬虫</b><br>i标记斜体---->><i>Python 爬虫</i><br>sub 下标标记---->>2<sub>2</sub><br>sup 上标标记---->>2<
<h1></h1>,一级标题,标题中最大<h2></h2>,二级标题<h3></h3>,三级标题<h4></h4>,四级标题<h5></h5>,五级标题<h6></h6>,六级标题<font></font>,字体设置标记,常用三个属
爬虫前端网页由三部分组成:结构structure、表现presentation、行为behavior。结构:HTML、XHTML数据:XML、JSON表现:CSS行为:ECMAScript(JavaScript)HTML严格来讲HTML不是编程语言,是一种网页信息的符号标记语言。是一套标记。HTML可以实现的功能1. 设置文本
UDP编程UDP是面向无连接的,意思是不需要服务端和客户端建立可靠的连接。TCP通信需要建立可靠连接。使用UDP协议时,只需要知道对方的IP地址和端口号,然后发送数据包,而不需要知道目的端是否接收成功,即不需要接收目的端的返回值。UDP的传输方式比TCP快的多,对于可靠性要求不那么高的情况,可以使用UDP协议。注意:绑定端口时候,TCP、UDP可以绑定同一个端口,如9999端口可以同时用于TCP、
TCP编程网络编程分为两个部分,服务端和客户端。服务端编程服务端编程分为五个步骤:1 创建Socket,绑定Socket到本地IP和端口。2 开始监听连接。3 循环不断接收客户端连接请求。4 接收客户端数据,并发送数据给客户端。5 传输完成后,关闭Socket。例子:服务端import socketimport threadingimport timedef dealClient(sock,add
网络编程就是在程序中实现两台或更多台计算机之间通信,使用python进行网络编程时,实际上是哎python程序中的两个进程间通过特定端口进行通信。python提供了两个基本的Socket模块,Socket和SocketServer。SocketSocket套接字语法:socket(family,type[,protocal]),参数分别是地址族、套接字类型、协议编号(默认为0)Socket类型描&
关于python编程中经常看到的如下写法:if __name__ =="__main__":为什么这样写?与__main__作用有关。__main__代表最高层级代码环境。什么叫做最高层级代码环境?就是程序的入口程序。 当一个python模块或者包是被引入的时候,__name__的值就是他的名字,即去掉.py后缀的部分。例子:import sys print(sys.__name_
任务进程需要四个步骤:1 使用QueueManager注册用于获取Queue的方法名称,任务进程只能通过名称来在网络上获取Queue。2 连接服务器,端口和验证口令必须与服务进程中的一致。3 从网络上获取Queue,进行本地化4 从task队列获取任务,并把结果写入result队列。例子2:任务进程(taskWorker.py)# coding=utf8import timefrom multip
分布式进程分布式进程是指把进程分布到多台机器上,在爬虫开发中可以应用到分布式爬虫。multiprocessing模块的managers子模块支持把进程分布到多台机器上。做法是写一个服务进程作为调度者,将任务分布到其他进程中,由其他机器进行处理,依靠网络通信进行管理。创建分布式进程的步骤服务进程需要六个步骤:1 建立队列Queue,用来进程间通信。服务进程创建任务队列task_queue,用来作为传
gevent是一个强大且高效的异步I/O框架,它基于greenlet实现协程,并提供了一种类似事件驱动的编程模型。通过将阻塞操作转换为非阻塞,gevent能够充分利用系统资源,处理大量并发连接,尤其适用于网络和I/O密集型应用。gevent的核心是其对Greenlet的利用,这是一种轻量级线程(比Python的线程更高效),可以在同一进程中快速切换上下文。当一个Greenlet执行到阻塞操作(如网
python实现协程是通过generator(生成器)实现的,通过yield和next配合实现。yield可以接收调用者发出的参数,且可以返回值。next()方法接收由yield返回的值。不过这种方式对于实现协程的支持非常有限。生成器(generator)生成器实际上是一个特殊的迭代器,或者理解为使用了yield的函数。yield关键字定义的生成器函数,可在迭代过程中逐步产生值,而非一次性返回所有
协程又称为微线程,是一种用户级的轻量级线程。协程拥有自己的寄存器上下文和栈。协程在调度切换的时候会保存寄存器上下文和栈,当该协程切换回来重新执行的时候将恢复原先保存的寄存器上下文和栈。并发编程中,协程与线程类似,每一个协程表示一个执行单元,有自己的本地数据,与其他协程共享全局数据和其他资源。协程需要由用户自己编写调度逻辑,因此对于cpu,协程是其实是单线程的,cpu没有调度、切换上下文的开销。进程
python的GIL(global interpreter lock)全局解释器锁是存在原始解释器Cpython中的,在解释执行python代码时,该互斥锁会限制现成对共享资源的访问,直到解释器遇到I/O操作或者操作次数达到一定数目才会释放GIL。因此在进行多线程操作时,不能调用多个cpu内核,只能利用一个内核,在cpu密集型操作的时候,不推荐使用多线程,跟家倾向于多进程,每个进程都有一个单独的G
为防止多个线程共同对某个数据进行修改,可能出现不可预料的结果,为了保证数据的正确,需要对多个线程进行同步。使用Thread对象的Lock和RLock可实现简单的线程同步。Lock和Rlock对象都有acquire方法和release方法,对于每次只允许一个线程操作的数据,可以将其操作放到acquire和release方法之间。Lock对象:如果一个线程连续两次进行acquire操作,第二次acqu
进程和线程联系与区别线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,它与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。 一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。资源分配给进程,同一进程的所有
python进程间通信常用Queue和Pipe,Pipe常用来在两个进程间通信,Queue常用来在多个进程间通信。Queue实现多进程通信Queue是多进程安全的通信方式,常用方法Put和Get。Put方法:用于插入数据到队列中,有两个参数:blocked和timeout。blocked为默认值True时,timeout为正值时,该方法会发生阻塞timeout指定时间长度的时间,直到队列有剩余的时
python实现多进程的方法:fork、multiprocessing模块创建多进程。os.fork方法os.fork方法只适合于unix/linux系统,不支持windows系统。fork方法调用一次会返回两次,原因在于操作系统将当前进程(父进程)复制出一份进程(子进程),这两个进程几乎完全相同,fork方法分别在父进程和子进程中返回,子进程永远返回0,父进程返回子进程的ID,例子:import
序列化和反序列化序列化是为了将内存中的数据保存在磁盘上或者用于传输,实现程序状态的保存和共享。反序列化反之。序列化后的变量再被反序列化回来之后,两者之间已经没有任何关系。序列化后的文件是在不同程序或者说不同语言之间传递数据的关键方法之一,可以将内容标准化为xml、json等格式,用于存储或者网络传输。常用的序列化和反序列化方法:python中常见序列化和反序列化模块cPickle和pickle。p
IO异常正常的文件读取使用的过程是,打开文件,建立文件对象,读取内容或者写入内容,关闭文件对象释放资源。但是过程中可能出现异常情况,导致的一个典型错误是文件对象不能正常关闭,系统资源得不到释放。因此要捕捉异常,处理类似释放资源的工作。第一种方法:使用try filnally捕捉错误:try: f = open(r'd:\test\hamlet12.txt')
读写文件IO在计算机中指Input/Output,IO编程即实现本地磁盘、网络的数据传输。文件读取open方法:open(name,[mode,buffering])只有name是必须得,后面的模式、缓冲是可选的,默认是读模式,默认无缓冲区。该方法返回一个文件对象。name参数:例子1:f = open(r'd:\test\hamlet1.txt') mode参数:mode的值描述r读模
使用内置参数初始化MindSpore提供了多种网络参数初始化的方式,并在部分算子中封装了参数初始化的功能。本节以Conv2d为例,分别介绍如何使用Initializer子类,字符串进行参数初始化。Initializer初始化Initializer是MindSpore内置的参数初始化基类,所有内置参数初始化方法均继承该类。mindspore.nn中提供的神经网络层封装均提供weight_init、b
Cell训练状态转换神经网络中的部分Tensor操作在训练和推理时的表现并不相同,如nn.Dropout在训练时进行随机丢弃,但在推理时则不丢弃,nn.BatchNorm在训练时需要更新mean和var两个变量,在推理时则固定其值不变。因此我们可以通过Cell.set_train接口来设置神经网络的状态。set_train(True)时,神经网络状态为train, set_train接口
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号