黑马程序员Python教程:Python培训专家:6个常见面试题[五篇范例]

时间:2019-05-12 19:20:12下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《黑马程序员Python教程:Python培训专家:6个常见面试题》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《黑马程序员Python教程:Python培训专家:6个常见面试题》。

第一篇:黑马程序员Python教程:Python培训专家:6个常见面试题

传智播客Python培训专家:6个常见面试题

在面试中,有一定比例是字符串处理以及网络编程那块,当然了肯定还有些其他的问题,下面帮大家找了6道题目,接下来小试牛刀吧!很简单的哦。

第1题:

Q:是否遇到过python的模块间循环引用的问题,如何避免它? A:这是代码结构设计的问题,模块依赖和类依赖 如果老是觉得碰到循环引用可能的原因有几点: 1.可能是模块的分界线划错地方了 2.可能是把应该在一起的东西硬拆开了 3.可能是某些职责放错地方了 4.可能是应该抽象的东西没抽象

总之微观代码规范可能并不能帮到太多,重要的是更宏观的划分模块的经验技巧,推荐uml,脑图,白板等等图形化的工具先梳理清楚整个系统的总体结构和职责分工

采取办法,从设计模式上来规避这个问题,比如: 1.使用 “__all__” 白名单开放接口 2.尽量避免 import

第2题:

Q: Python中如何定义一个函数

A: 有2种方法:

第1种:

def func(arg, *args, **kwagrs):

#普通函数

func_body

return

第2种:

lambda x: x **2

#匿名函数

第3题:

Q:请写出一段Python代码实现删除一个list里面的重复元素 A:

>>> L1 = [4,1,3,2,3,5,1]

>>> L2 = []

>>> [L2.append(i)for i in L1 if i not in L2]

>>> print L2

[4, 1, 3, 2, 5]

运行结果如下图:

第4题:

Q:Python是如何进行内存管理的

A: python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。所有这些都是自动完成,不需要像C一样,人工干预,从而提高了程序员的效率和程序的健壮性。

第5题:

Q:写一个简单的Python socket编程

A: socket是用来进行网络编程用的接口,网络编程分为服务器端和客户端

服务器端代码如下: import socket

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.bind(('localhost', 8001))

sock.listen(5)

while True:

conn, addr = sock.accept()

try:

conn.settimeout(5)

buff = conn.recv(1024)

if buff == '1':

conn.send('Hello, Client...')

else:

conn.send('Please, Go Out...')

except socket.timeout:

print 'Socket Time Out...'

finally:

conn.close()

客户端代码如下: import socket

import time

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.connect(('localhost', 8001))

time.sleep(2)

sock.send('1')

print sock.recv(1024)

sock.close()

第6题:

Q:src = “security/afafsff/?ip=123.4.56.78&id=45”,请写一段代码用正则匹配出IP

A:

import re

src = “security/afafsff/?ip=123.4.56.78&id=45”

m = re.search('ip=(d{1,3}.d{1,3}.d{1,3}.d{1,3})', src, re.S)# re.S 改变'.'的行为

print m.group(1)

# 输出结果 >>> 123.4.56.78

运行结果如下:

第二篇:黑马程序员Python教程python XlsxWriter模块创建aexcel表格-1

python XlsxWriter模块创建aexcel表格-1

安装使用pip install XlsxWriter来安装,Xlsxwriter用来创建excel表格,功能很强大,下面具体介绍:

1.简单使用excel的实例:

#coding:utf-8

import xlsxwriter

workbook = xlsxwriter.Workbook('d:suq estdemo1.xlsx')#创建一个excel文件

worksheet = workbook.add_worksheet('TEST')#在文件中创建一个名为TEST的sheet,不加名字默认为sheet1

worksheet.set_column('A:A',20)

#设置第一列宽度为20像素

bold = workbook.add_format({'bold':True})#设置一个加粗的格式对象

worksheet.write('A1','HELLO')

#在A1单元格写上HELLO

worksheet.write('A2','WORLD',bold)

#在A2上写上WORLD,并且设置为加粗

worksheet.write('B2',U'中文测试',bold)#在B2上写上中文加粗

worksheet.write(2,0,32)

#使用行列的方式写上数字32,35,5

worksheet.write(3,0,35.5)

#使用行列的时候第一行起始为0,所以2,0代表着第三行的第一列,等价于A4

worksheet.write(4,0,'=SUM(A3:A4)')#写上excel公式 worksheet.insert_image('B5','f:1.jpg')#插入一张图片

workbook.close()

2.常用方法说明 1.Workbook类

Workbook类创建一个XlsxWriter的Workbook对象,代表整个电子表格文件,存储到磁盘上.add_worksheet():用来创建工作表,默认为sheet1 add_format():创建一个新的格式对象来格式化单元格,例如bold=workbook.add_format({'bold':True})还可以使用set_bold,例如:bold=workbook.add_format()bold.set_bold()

#border:边框,align:对齐方式,bg_color:背景颜色,font_size:字体大小,bold:字体加粗

top = workbook.add_format({'border':1,'align':'center','bg_color':'cccccc','font_size':13,'bold':True})

add_chart(options):创建一个图表对象,内部是使用insert_chart()方法来实现的,options(dict类型)为图表指定一个字典属性 close():关闭文件

2.Worksheet类

worksheet代表一个Excel的工作表,是XlsxWriter的核心,下面是几个核心方法

write(row,col,*args):写普通数据到工作表的单元格,row行坐标,col列坐标,起始都是以0开始,*args为写入的内容,可以是字符串,文字,公式等,writer方法已经作为其它更具体数据类型方法的别名

write_string():写入字符串类型,worksheet.write_string(0,0,'your text')write_number():写入数字类型,worksheet.write_number('A2',1.1)write_blank():写入空类型数据,worksheet.write_blank('A2',None)wirte_formula():写入公式类型,worksheet.write_formula(2,0,'=SUM(B1:B5))write_datetime():写入日期类型数据,worksheet.write_datetime(7,0,datetime.datetime.strptime('2014-01-02','%Y-%m-%d),workbook.add_format({'num_format':'yyyy-mm-dd'}));write_boolean():写入逻辑类数据,worksheet.write_boolean(0,0,True)write_url():写入超链接类型数据,worksheet.write_url('A1','ftp://www.xiexiebang.com')write_column():写入到一列,后面接一个数组 wirte_row():写入到一行,后面接一个数组

set_row(row,height,cell_format,options):此方法设置行单元格的属性,row指定行位置,height指定高度,单位是像素,cell_format指定格式对象,参数options设置hiddeen(隐藏),level(组合分级),collapsed(折叠,例如: cell_format=workbook.add_format({'bold':True})worksheet.set_row(0,40,cell_format)设置第一行高40,加粗

set_column(first_col,last_col,width,cell_format,options):设置列单元格的属性,具体参数说明如上.worksheet.set_column(0,1,10)worksheet.set_column('C:D',20)insert_image(row,col,image[,options]):此方法是插入图片到指定单元格 例如插入一个图片的超链接为www.xiexiebang.com worksheet.insert_image('B5','f:1.jpg',{'url':'http://www.xiexiebang.com'})

第三篇:黑马程序员Python教程python re 模块及正则表达式调用认识-2

python re 模块及正则表达式调用认识-2

foo匹配foo,也可以是foobar。而正则foo$只配foo.>>> print re.search(r'foo$','foo').group()

foo

>>> print re.search(r'foo$','foobar').group()#匹配失败

Traceback(most recent call last):

File “

”, line 1, in

print re.search(r'foo$','foobar').group()

AttributeError: 'NoneType' object has no attribute 'group'

>>>

在 'foo1nfoo2n' 中用foo.$进行匹配可以得到foo2,但在MULTILINE模式中得到的是foo1.对$在’foon‘中进行searching,则会匹配到两个空白,一个在新行之前,一个在字符串的结尾。

>>> print re.search(r'foo.$','foo1nfoo2n').group()

foo2

>>> print re.search(r'foo.$','foo1nfoo2n',re.M).group()

foo1

>>>

>>> print re.search(r'$','foo1nfoo2n').group()

>>>

'*'----匹配前一个字符0次或无限次

>>> print re.search(r'fo*','foooo').group()

foooo

>>> print re.search(r'fo*','f').group()#可以匹配前一个字符零次

f

>>>

’+‘----匹配前一个字符1次或无限次。ab+将匹配a之后的b至少一次。

>>> print re.search(r'fo+','foooo').group()

foooo

>>> print re.search(r'fo+','f').group()

Traceback(most recent call last):

File “

”, line 1, in

print re.search(r'fo+','f').group()

AttributeError: 'NoneType' object has no attribute 'group'

>>>

’?‘----匹配前一个字符0次或一次。ab? 将匹配a 或者ab

>>> print re.search(r'fo?','foooo').group()

fo

>>> print re.search(r'fo?','f').group()

f

>>>

*?, +?,??----'*','+','?'都是贪婪匹配限定符;尽可能多的匹配内容,但有时候没必要这样,’<.*>'对'

title

'进行匹配,将会匹配整个字符串不只是'

',对其限定符后添加‘?’,这样就会得到非贪婪匹配或者得到最小匹配。尽可能的少匹配字符;用.*?在表达式之前,则会只匹配'

'。

>>> print re.search(r'fo*?','foeeeerrfoeeb').group()# *匹配零次

f

>>> print re.search(r'fo*?','foooorrfooob').group()

f

>>> print re.search(r'fo+?','foeeeerrfoeeb').group()# + 匹配一次

fo

>>> print re.search(r'fo+?','foooorrfooob').group()

fo

>>> print re.search(r'fo??','foeeeerrfoeeb').group()# ?匹配一次

f

>>> print re.search(r'fo??','foooorrfooob').group()

f

>>>

>>> print re.search(r'<.*>','

title

').group()

title

>>> print re.search(r'<.*?>','

title

').group()

>>>

对其限定符后添加‘?’,这样就会得到非贪婪匹配或者得到最小匹配

{m}---刚好匹配m次,不少也不多

>>> print re.search(r'fo{3}','foooo').group()

fooo

>>> print re.search(r'fo{2}','foooo').group()

foo >>>

{m,n}----匹配正则m到n次,a{3,5} will match from 3 to 5'a' characters。m缺省时表示0,n缺省时表示无限次。a{4,}b will matchaaaab or a thousand'a' characters followed by ab, but notaaab.中间的逗号不能省略。

>>> print re.search(r'a{,4}b','aaab').group()

aaab >>> print re.search(r'a{4,}b','aaab').group()

Traceback(most recent call last):

File “

”, line 1, in

print re.search(r'a{4,}b','aaab').group()

AttributeError: 'NoneType' object has no attribute 'group' >>>

{m,n}?----非贪婪模式,匹配最少的m次。For example, on the 6-character string 'aaaaaa', a{3,5} will match 5'a' characters,while a{3,5}? will only match 3 characters.>>> print re.search(r'a{3,5}b','aaaaaab').group()

aaaaab

>>> print re.search(r'a{3,5}?b','aaaaaab').group()#这种后面还有字符的情况容易出错,实际还是以n来计算的

aaaaab

>>> print re.search(r'a{3,5}?','aaaaaab').group()

aaa

>>>

‘'----转义字符,用来匹配 *,?等等。不是使用raw string的情况下,Python also uses the backslash as an escape sequence in string literals;也就是不使用r'XXX时,要使用两次反斜杠才能表示一个反斜杠,用raw简单些。

>>> print re.search(r'a*?','aa*?b').group()

a*?

>>> print re.search('a*?','aa*?b').group()

a*?

>>>

[ ]---存放字符集,1)中括号中的字符可以是单个的,e.g.[amk] will match'a','m', or'k'.>>> print re.search('[amk]','sdafgfhmrtykyy').group()

a >>> print re.search('[amk].','sdafgfhmrtykyy').group()

af

>>> print re.search('[mka].','sdafgfhmrtykyy').group()

af

是或关系,匹配了a,就没有再匹配 m,k。

第四篇:黑马程序员C语言教程:带你浅出python爬虫框架scrapy二)

带你深入浅出python爬虫框架scrapy(二)之前我们学习了scrapy的安装,接下来我们先简单的介绍一下使用。

一、创建一个新的Scrapy项目

scrapy startproject itcast 结构如下

│ scrapy.cfg │

└─itcast │ items.py

│ pipelines.py

│ settings.py

│ __init__.py

└─spiders __init__.py

这些文件主要是:

      scrapy.cfg: 项目配置文件

itcast/: 项目python模块, 呆会代码将从这里导入 itcast/items.py: 项目items文件 itcast/pipelines.py: 项目管道文件 itcast/settings.py: 项目配置文件 itcast/spiders: 放置spider的目录

二、定义提取的Item 它通过创建一个scrapy.item.Item类来声明,定义它的属性为scrpy.item.Field对象,就像是一个对象关系映射(ORM).我们通过将需要的item模型化,来控制从dmoz.org获得的站点数据,比如我们要获得站点的名字,url和网站描述,我们定义这三种属性的域。要做到这点,我们编辑在itcast目录下的items.py文件,我们的Item类将会是这样

from scrapy.item import Item, Field class DmozItem(Item): title = Field()link = Field()desc = Field()

三、写一个Spider用来爬行站点,并提取Items

Spider是用户编写的类,用于从一个域(或域组)中抓取信息。

他们定义了用于下载的URL的初步列表,如何跟踪链接,以及如何来解析这些网页的内容用于提取items。要建立一个Spider,你必须为scrapy.spider.BaseSpider创建一个子类,并确定三个主要的、强制的属性:

  name:爬虫的识别名,它必须是唯一的,在不同的爬虫中你必须定义不同的名字.start_urls:爬虫开始爬的一个URL列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些URLS开始。其他子URL将会从这些起始URL中继承性生成。

 parse():爬虫的方法,调用时候传入从每一个URL传回的Response对象作为参数,response将会是parse方法的唯一的一个参数, 这个方法负责解析返回的数据、匹配抓取的数据(解析为item)并跟踪更多的URL。from scrapy.spider import BaseSpider

class DmozSpider(BaseSpider): name = “dmoz”

allowed_domains = [“dmoz.org”] start_urls = [ “http://#topics-selectors 这是一些XPath表达式的例子和他们的含义

    /html/head/title: 选择HTML文档元素下面的标签。/html/head/title/text(): 选择前面提到的<title>元素下面的文本内容 //td: 选择所有<td>元素</p><p>//div[@class=”mine“]: 选择所有包含 class=”mine“ 属性的div 标签元素</p><p>这只是几个使用XPath的简单例子,但是实际上XPath非常强大。</p><p>为了方便使用XPaths,Scrapy提供XPathSelector 类,有两种口味可以选择,HtmlXPathSelector(HTML数据解析)和XmlXPathSelector(XML数据解析)。为了使用他们你必须通过一个 Response 对象</p><p>对他们进行实例化操作。你会发现Selector对象展示了文档的节点结构。因此,第一个实例化的selector必与根节点或者是整个目录有关。Selectors 有三种方法</p><p>   path():返回selectors列表, 每一个select表示一个xpath参数表达式选择的节点.extract():返回一个unicode字符串,该字符串为XPath选择器返回的数据 re():返回unicode字符串列表,字符串作为参数由正则表达式提取出来</p><p>现在我们尝试从网页中提取数据</p><p>from scrapy.spider import BaseSpider from scrapy.selector import HtmlXPathSelector</p><p>class DmozSpider(BaseSpider): name = ”dmoz“</p><p>allowed_domains = [”dmoz.org“] start_urls = [ ”http://XPathSelector(response)sites = hxs.path('//fieldset/ul/li')#sites = hxs.path('//ul/li')for site in sites: title = site.path('a/text()').extract()link = site.path('a/@href').extract()desc = site.path('text()').extract()#print title, link, desc print title, link</p><p>保存抓取的数据</p><p>保存信息的最简单的方法是通过以下命令来保存数据: scrapy crawl dmoz-o items.json-t json 简单的使用就介绍这了,后面会继续为大家说明高级用法。</p><h2><a name="5" >第五篇:黑马程序员PHP培训教程:Linux介绍</a></h2><p>Linux介绍</p><p>1、计算机资源</p><p>计算机资源是由两部分组成:</p><p>硬件资源:键盘、显示器、鼠标、硬盘、内存等等。软件资源:应用程序,如office、qq等等。</p><p>问题:用户在键盘上的操作(打字)为什么会在word文档中显示出来? 流程:硬件→操作系统→程序→硬件(显示器)</p><p>操作系统:操作系统它是一个特殊的软件程序(软件资源的范畴)。</p><p>2、常见的操作系统</p><p>• Windows 它微软公司开发的一款桌面操作系统(闭源系统)。版本有dos、win98、win NT、win XP、win</p><p>7、winvista、win</p><p>8、win 10。服务器操作系统:winserver 2003、winserver 2008、winserver 2012。Mac 苹果公司开发的一款操作系统(闭源系统),目前最新的版本是IOS10。界面风格还是不错。对于系统底层的优化也是很好。Linux Linux是一个开源的操作系统,目前是市面上占有率极高的服务器操作系统。目前其分支有很多。Unix Unix是Linux操作系统的前身,Unix时间戳是指1970年1月1日0时0分0秒,1970年是Unix的时间元年,也就是Unix诞生的年份。•</p><p>3、为什么要使用Linux操作系统</p><p>之所以大部分的公司开发的时候都是使用Linux操作系统,取决于两个特性:</p><p>稳定性:取决于系统的底层架构,一般情况下Linux系统能做到很长时间不关机一点也不卡顿;</p><p>安全性:开源系统,所有人都可以贡献自己的源代码为Linux系统打补丁; 开源一定意味着免费么?</p><p>开源是指免费的将代码开放,实质上是进行服务收费。RedHat它是Linux系统的一个分支,服务收费价格大约是10万$/年。</p><p>4、Linux名字含义</p><p>狭义:是指有Linux作者(Linux之父)李纳斯(linus)所编写的一段代码; 广义:是指目前在各大公司所被广泛使用的Linux多种分支的集合。</p><p>Linux发展历史 Unix操作系统</p><p>• 1968年Multics项目</p><p>MIT、Bell实验室、美国通用电气有限公司走到了一起致力于开发Multics项目。到后期由于开发进度不是很好,MIT和Bell实验室相继离开这个项目的开发,最终导致项目搁浅。1970年UNIX诞生</p><p>当时在开发Multics项目的时候,实验室中有一个开发成员开发了一款游戏(travelspace:遨游太空),因为两个实验室相继离开项目开发,导致这名开发人员没法玩游戏,后来他提议组织人员重新在Multics项目之上重新的开发,也就出现了1970年的Unix。当时Unix操作系统是使用的汇编语言开发的。1973年用C语言重写UNIX 因为汇编语言有一个最大的局限性:对于计算机硬件过于依赖。导致移植性不好,所以后期在1973年使用了C语言对其进行重新开发。1975年Bell实验室允许大学使用UNIX 1975年,bell实验室允许大学使用unix操作系统用于教学作用,而不允许用于商业用途。•</p><p>Linux操作系统</p><p>• 人物</p><p>Linus</p><p>Linux的开发作者,李纳斯·托瓦兹。荷兰在校大学生。• 1991年</p><p>0.0.1版本</p><p>李纳斯当时学校使用的就是Unix操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上,原先他把文件命名写成了Linus’sUnix,后期网络管理发现之后觉得这个名字不好,自己手动的将名字改成Linux。随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。• 1992年</p><p>0.0.2版本 • 1994年</p><p>1.0版本 • 2003年</p><p>2.6版本</p><p>上面所说的版本是指Linux的内核版本,不是指分支的发行版本。</p><p>开源文化</p><p>Linux是开源的操作系统。所谓开源就是指开放源代码。</p><p>• 人物Stallman 斯特曼</p><p>开源文化的倡导人。• 1983年GNU计划 • 1985年FSF基金会</p><p>• 1990年Emacs、GCC、程序库</p><p>• 1991年 Stallman去找Linus,商谈让Linux加入其开源计划(GNU计划)• 1992年GNU/Linux Linux分支</p><p>目前分支比较多,常见的有centos、RedHat、乌班图、debian等等。具体的分支,可以查看【文件】中的Linux分支图。</p> </div> </article> <a href="#" tpid="25" target="_self" class="download_card jhcdown" rel="nofollow"> <img class="download_card_pic" src="//static.xiexiebang.com/skin/default/images/icon_word.png" alt="下载黑马程序员Python教程:Python培训专家:6个常见面试题[五篇范例]word格式文档"> <div class="download_card_msg"> <div class="download_card_title" style="text-decoration:none;">下载黑马程序员Python教程:Python培训专家:6个常见面试题[五篇范例].doc</div> <div class="download_card_tip">将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。</div> </div> <div class="download_card_btn"> <img src="//static.xiexiebang.com/skin/default/images/icon_download.png"> <div class="downlod_btn_right"> <div>点此处下载文档</div> <p>文档为doc格式</p> </div> </div> </a> <div class="post-tags mt20 mb30"><span>相关专题</span> <a href="/tag/hmcxypythonjc/" target="_blank">黑马程序员python教程</a> <a href="/tag/hmcxypythonbj/" target="_blank">黑马程序员python笔记</a> <a href="/tag/pythonhmcxy/" target="_blank">python黑马程序员</a> </div> <div class="single-info mb40"><span class="hidden-xs ">网址:https://www.xiexiebang.com/a2/2019051219/ef4429b936ced320.html</span><br>声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。 </div> <div class="single-xg mb40"> <div class="con-title"> <h3><a name="6"></a>相关范文推荐</h3> </div> <div class="sticky mb20"> <ul><h2 class="mb20"><a href="/a2/2019051218/6a02a81f4b22501f.html" target="_blank">黑马程序员PHP培训教程:GET请求</a></h2><p>GET请求 语法:open(get|post,URL地址) PHP页面......</p><h2 class="mb20"><a href="/a2/2019051218/b7ee9a1160bd120a.html" target="_blank">黑马程序员PHP培训教程:AJAX聊天室</a></h2><p>AJAX聊天室 设计message表:用来保存聊天信息 获取最新的聊天记录 PHP页面:大于最大聊天编号的记录肯定是新的聊天记录 1 2 3 4 5 6 7 8 9......</p><h2 class="mb20"><a href="/a2/2019051218/84837449c168186e.html" target="_blank">黑马程序员PHP培训教程:同步和异步</a></h2><p>同步和异步 req.open(参数传递的方法,URL,[true|false]) true:异步:同一个时间点允许多个进程,【默认】 false:同步:同一个时间点只能执行一个进程。 HTML代码 window.onload=......</p><h2 class="mb20"><a href="/a2/2019051219/7675cb5b59fc3da7.html" target="_blank">黑马程序员PHP培训教程:Ajax文件上传</a></h2><p>Ajax文件上传 DOM方式只能获取字符串类型数据,不能获取二进制数据。可以通过FormData对象来获取二进制数据。 PHP页面 HTML页面 1 2window.onload=function{ 3 documen......</p><h2 class="mb20"><a href="/a2/2019051220/f93d8e88beb5df4f.html" target="_blank">黑马程序员PHP培训教程:发表聊天记录</a></h2><p>发表聊天记录 HTML页面 function sendMessage{ var frm=document.getElementById('frm'); var fd=new FormData(frm); var req=new XMLHttpRequest; req.open('post......</p><h2 class="mb20"><a href="/a2/2019051218/3150a1d6f2b0c110.html" target="_blank">黑马程序员PHP培训教程:Linux安装-3</a></h2><p>Linux安装-3 第十一步:选择磁盘类型,默认即可,点击【下一步】 第十二步:选择磁盘位置,选【创建新的磁盘】,然后点击【下一步】 第十三步:选择磁盘大小,默认20G 第十四步:设置磁盘文......</p><h2 class="mb20"><a href="/a2/2019051219/b2ccaf4de4bab8a8.html" target="_blank">黑马程序员PHP培训教程:同步和异步介绍</a></h2><p>什么是AJAX 1999年,微软公司发布IE5浏览器的时候嵌入的一种技术。起初名字是XMLHttp,直到2005年,google公司发布了一个邮箱产品gmail,内部的gtalk聊天工具有使用ajax技术,该事情......</p><h2 class="mb20"><a href="/a2/2019051219/8d40297bc4f0eea5.html" target="_blank">黑马程序员PHP培训教程:Linux目录介绍</a></h2><p>Linux目录介绍 /bin:存放的是一些二进制文件,但是在Linux中二进制文件是可以被执行的。这个目录中的命令文件是给普通用户使用(非超级管理员用户)。 /etc:Linux下所有的配置文件......</p></ul> </div> </div> </div> </div> <div class="right-content-box wow fadeInRight delay300 right-content"> <script src="/e/member/login/loginjs.php"></script> <div class="sidebar"> <div id="sidebar" role="complementary"> <aside id="recent-posts-3" class="widget widget_recent_entries"> <h3 class="widget-title">猜你喜欢</h3> <ul class="new-list"><li><a href="/a2/2019051220/0b6971abeaaa26a2.html" title="黑马程序员PHP培训教程:Linux安装-5" target="_blank">黑马程序员PHP培训教程:Linux安装-5</a></li><li><a href="/a2/2019051220/c9fcdccde4fdb58c.html" title="黑马程序员C语言教程: CC++培训专家-预处理命令使用详解" target="_blank">黑马程序员C语言教程: CC++培训专家-预处理命令使用详解</a></li><li><a href="/a2/2019051221/29990ad7ea449a12.html" title="黑马程序员C语言教程: CC++培训专家:漫谈软件编码风格" target="_blank">黑马程序员C语言教程: CC++培训专家:漫谈软件编码风格</a></li><li><a href="/a2/2019051219/bea69883f59a40b0.html" title="黑马程序员C语言教程: CC++培训专家-编写高效C语言的四大绝招" target="_blank">黑马程序员C语言教程: CC++培训专家-编写高效C语言的四大绝招</a></li><li><a href="/a2/2019051218/7bd0f716709f39eb.html" title="黑马程序员PHP培训教程:onProgress的事件对象" target="_blank">黑马程序员PHP培训教程:onProgress的事件对象</a></li><li><a href="/a2/2019051219/65e65c15bff8c3a5.html" title="黑马程序员php培训:3天带你玩转HTML教程" target="_blank">黑马程序员php培训:3天带你玩转HTML教程</a></li><li><a href="/a2/2019051218/2295c954d02c9e9b.html" title="黑马程序员PHP培训教程:vim的三种模式" target="_blank">黑马程序员PHP培训教程:vim的三种模式</a></li><li><a href="/a2/2019051218/a09fde5c9a5664a9.html" title="黑马程序员php培训:2天搞定Bootstrap框架教程[合集]" target="_blank">黑马程序员php培训:2天搞定Bootstrap框架教程[合集]</a></li><li><a href="/a2/2019051221/bc5bfcaf01ccab44.html" title="黑马程序员C语言教程:C++语言78个常见编译错误及分析" target="_blank">黑马程序员C语言教程:C++语言78个常见编译错误及分析</a></li><li><a href="/a2/2019051218/fab0c4febdd7ea99.html" title="黑马程序员php培训:3天带你玩转HTML教程(推荐五篇)" target="_blank">黑马程序员php培训:3天带你玩转HTML教程(推荐五篇)</a></li></ul> </aside> </div> </div> </div> </div> </div> </section> <section id="footer" class="p30"> <div class="container"> <div class="footer-top clearfix"> <div class="copyr"> <div class="footer-menu clearfix mb10"> <ul class="footer-menu-con"> <li><a href="/a1/">1号文库</a></li><li><a href="/a2/">2号文库</a></li><li><a href="/a3/">3号文库</a></li><li><a href="/a4/">4号文库</a></li><li><a href="/a5/">5号文库</a></li><li><a href="/a6/">6号文库</a></li><li><a href="/a7/">7号文库</a></li><li><a href="/a8/">8号文库</a></li><li><a href="/a9/">9号文库</a></li><li><a href="/a10/">10号文库</a></li><li><a href="/a11/">11号文库</a></li><li><a href="/a12/">12号文库</a></li><li><a href="/a13/">13号文库</a></li><li><a href="/a14/">14号文库</a></li><li><a href="/a15/">15号文库</a></li> </ul> </div> <p>Copyright © 2018 <a href="/">写写帮文库</a> All Rights Reserved   <a target="_blank" href="http://www.beian.miit.gov.cn" rel="nofollow"> 浙ICP备11058632号</a>   <script type="text/javascript" src="//static.xiexiebang.com/skin/default/js/tj.js"></script></p> </div> </div> </div> </section> <script type='text/javascript' src='//static.xiexiebang.com/skin/default/js/superfish.js'></script> <script type='text/javascript' src='//static.xiexiebang.com/skin/default/js/jquery.slicknav.js'></script> <script type='text/javascript' src='//static.xiexiebang.com/skin/default/js/xs.js'></script> <div class="right_bar hidden-xs "> <ul> <li class="rtbar_li1" style="left: 0px;"><a><img src="//static.xiexiebang.com/skin/default/images/rtbar_liicon3.png"><span id="call_tel"></span></a></li> <li class="rtbar_li2"> <a href="javascript:void(0);"> <img src="//static.xiexiebang.com/skin/default/images/rtbar_liicon4.png"> </a> <div class="rtbar_shwx" style="display: none;"> <img width="188" height="188" alt="微信二维码" src="//static.xiexiebang.com/skin/default/images/wechat.png"> </div> </li> <li class="rtbar_li3" style="left: 0px;"> <a href="tencent://message/?uin=2261362615&Menu=yes"> <img src="//static.xiexiebang.com/skin/default/images/rtbar_liicon2.png"> 点击咨询 </a> </li> <li class="rtbar_li5"><a href="#1">第一篇</a></li> <li class="rtbar_li6"><a href="#2">第二篇</a></li> <li class="rtbar_li7"><a href="#3">第三篇</a></li> <li class="rtbar_li8"><a href="#4">第四篇</a></li> <li class="rtbar_li9"><a href="#5">第五篇</a></li> <li class="rtbar_li10"><a href="#6">更 多</a></li> <li class="rtbar_li4 gotop"> <a href=""><img src="//static.xiexiebang.com/skin/default/images/rtbar_liicon1.png"> </a></li> </ul> </div> </body> </html>