资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

包含javascript玄学的词条

IFR Monitoring是干什么的?

IFR

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、网站制作、伊金霍洛网络推广、微信小程序开发、伊金霍洛网络营销、伊金霍洛企业策划、伊金霍洛品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供伊金霍洛建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

[编辑本段]一、IFR组织

IFR概要

正式名:the

Institute

of

Fairy

Research

(IFR)

名:the

Institute

of

Theology

Metaphysics

and

Occultism

Research

(ITMOR)

中文名:神学、玄学、神秘学研究学会(机构)

神研学会

神研会

创始人:未知

成立时间:未知

成立地点:未知

质:一个致力于研究神学、玄学、神秘学的神秘组织.

[编辑本段]二、IFR技术

即“Inman

Flash

Replacement”是由Mike

Davidson和Shaun

Inman共同发明的一种通过Flash与JS在WEB页面中实现字体精确控制的技术。

使用IFR你可以任意定义WEB中的文本字体,即便是客户端浏览器未安装的字体。而且,它对于网页设计师来说,最大的好处在于可以平滑消除字体边缘锯齿。你可以像使用CSS定义文本那样方便的在页面任何文本中使用IFR技术。

IFR技术实现原理

往往在网页设计中,我们希望可以通过一些非系统缺省字体来修饰文本,并且想得到平滑边缘的效果。所以不得不使用图像替换页面中的文本部分。为了避免将文本换成文本的图像,Mike

Davidson和Shaun

Inman一起发明了一种更新颖的方法——IFR。Flash允许将字体嵌入SWF文件,所以他们并不把文本换成图像,而是用Flash文件替换文本。进行这一替换的方法是使用JavaScript搜索文档,找到特定元素或者具有特定类名的元素中的所有文本。然后,JavaScript将文本替换为一个小的Flash文件。接下来是真正精明的部分。这种技术并不为每段文本创建单独的Flash文件,而是将被替换的文本放回一个重复的Flash文件中。因此,触发图像替换所要做的只是添加一个类,Flash和JavaScript会完成余下的工作。另一个好处是Flash文件中的文本是可搜索的,这意味着可以轻松地复制它,并且不影响搜索引擎收录内容。

IFR备注

Shaun

Inman公开了他的Flash图像替换方法,并且将它命名为IFR(Inman

Flash替换)。IFR是一种非常轻量的方法。关于这个方法的细节(包括源代码)可以在

上找到。

IFR技术相关信息

之后,由Mike

Davidson对这个方法进行了扩展,创建了sIFR(可伸缩Inman

Flash替换)技术。这个方法可以通过修改JS代码实现多种字体效果。比如多行文本替换和改变文本颜色,字号等。

IFR

中期财务报告

IFR(Interim

Financial

Reporting),指以中期为基础编制的财务报告。中期,指短于一个完整的会计年度的报告期间。

如何系统的学习Python?

分享Python学习路线。

第一阶段Python基础与Linux数据库。这是Python的入门阶段,也是帮助零基础学员打好基础的重要阶段。你需要掌握Python基本语法规则及变量、逻辑控制、内置数据结构、文件操作、高级函数、模块、常用标准库模块、函数、异常处理、MySQL使用、协程等知识点。

学习目标:掌握Python基础语法,具备基础的编程能力;掌握Linux基本操作命令,掌握MySQL进阶内容,完成银行自动提款机系统实战、英汉词典、歌词解析器等项目。

第二阶段WEB全栈。这一部分主要学习Web前端相关技术,你需要掌握HTML、CSS、JavaScript、jQuery、BootStrap、Web开发基础、VUE、Flask Views、Flask模板、 数据库操作、Flask配置等知识。

学习目标:掌握WEB前端技术内容,掌握WEB后端框架,熟练使用Flask、Tornado、Django,可以完成数据监控后台的项目。

第三阶段数据分析+人工智能。这部分主要是学习爬虫相关的知识点,你需要掌握数据抓取、数据提取、数据存储、爬虫并发、动态网页抓取、scrapy框架、分布式爬虫、爬虫攻防、数据结构、算法等知识。

学习目标:可以掌握爬虫、数据采集,数据机构与算法进阶和人工智能技术。可以完成爬虫攻防、图片马赛克、电影推荐系统、地震预测、人工智能项目等阶段项目。

第四阶段高级进阶。这是Python高级知识点,你需要学习项目开发流程、部署、高并发、性能调优、Go语言基础、区块链入门等内容。

学习目标:可以掌握自动化运维与区块链开发技术,可以完成自动化运维项目、区块链等项目。

按照上面的Python学习路线图学习完后,你基本上就可以成为一名合格的Python开发工程师。当然,想要快速成为企业竞聘的精英人才,你需要有好的老师指导,还要有较多的项目积累实战经验。

关于meta知多少

meta:

元素可提供相关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。 标签位于文档的头部,不包含任何内容。 标签的属性定义了与文档相关联的名称/值对。

简介:

meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。

meta 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。

meta 标签位于文档的头部,不包含任何内容。meta 标签的属性定义了与文档相关联的名称/值对。

meta是html语言head区的一个辅助性标签。几乎所有的网页里,我们可以看到类似下面这段的html代码:

head

meta http-equiv="content-Type" content="text/html; charset=gb2312"

/head

也许你认为这些代码可有可无。其实如果你能够用好meta标签,会给你带来意想不到的效果,例如加入关键字会自动被大型搜索网站自动搜集;可以设定页面格式及刷新等等。

提示和注释

编辑

注释:meta 标签永远位于 head 元素内部。

注释:元数据总是以名称/值的形式被成对传递的。

name属性

name属性主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。

meta标签的name属性语法格式是:meta name="参数" content="具体的参数值";。

其中name属性主要有以下几种参数:

A、Keywords(关键字)

说明:keywords用来告诉搜索引擎你网页的关键字是什么。

举例:meta name ="keywords" content="science,education,culture,politics,ecnomics,relationships,entertainment,human"

B、description(网站内容描述)

说明:description用来告诉搜索引擎你的网站主要内容。

网站内容描述(description)的设计要点:

①网页描述为自然语言而不是罗列关键词(与keywords设计正好相反);

②尽可能准确地描述网页的核心内容,通常为网页内容的摘要信息,也就是希望搜索引擎在检索结果中展示的摘要信息;

③网页描述中含有有效关键词;

④网页描述内容与网页标题内容有高度相关性;

⑤网页描述内容与网页主体内容有高度相关性;

⑥网页描述的文字不必太多,一般不超过搜索引擎检索结果摘要信息的最多字数(通常在100中文字之内,不同搜索引擎略有差异)。

举例:meta name="description" content="This page is about the meaning of science,education,culture."

C、robots(机器人向导)

说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。

content的参数有all,none,index,noindex,follow,nofollow。默认是all。

举例:meta name="robots" content="none"

D、author(作者)

说明:标注网页的作者

http-equiv属性

http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

meta标签的http-equiv属性语法格式是:meta http-equiv="参数" content="参数变量值" ;其中http-equiv属性主要有以下几种参数:

A、Expires(期限)

说明:可以用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。

用法:meta http-equiv="expires" content="Fri,12 Jan 2001 18:18:18 GMT"

注意:必须使用GMT的时间格式。

B、Pragma(cache模式)

说明:禁止浏览器从本地计算机的缓存中访问页面内容。

用法:meta http-equiv="Pragma" content="no-cache"

注意:这样设定,访问者将无法脱机浏览。

C、Refresh(刷新)

说明:自动刷新并转到新页面。

用法:meta http-equiv="Refresh" content="2;URL";(注意后面的分号,分别在秒数的前面和网址的后面,URL可为空)

注意:其中的2是指停留2秒钟后自动刷新到URL网址。

D、Set-Cookie(cookie设定)

说明:如果网页过期,那么存盘的cookie将被删除。

用法:meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires=Friday,12-Jan-2001 18:18:18 GMT; path=/"

注意:必须使用GMT的时间格式。

E、Window-target(显示窗口的设定)

说明:强制页面在当前窗口以独立页面显示。

用法:meta http-equiv="Window-target" content="_top"

注意:用来防止别人在框架里调用自己的页面。

F、content-Type(显示字符集的设定)

说明:设定页面使用的字符集。

用法:meta http-equiv="content-Type" content="text/html; charset=gb2312"

G、content-Language(显示语言的设定)

用法:meta http-equiv="Content-Language" content="zh-cn" /

功能

上面我们介绍了meta标签的一些基本组成,接着我们再来一起看看meta标签的常见功能:

帮助主页被各大搜索引擎登录

meta标签的一个很重要的功能就是设置关键字,来帮助你的主页被各大搜索引擎登录,提高网站的访问量。在这个功能中,最重要的就是对Keywords和description的设置。因为按照搜索引擎的工作原理,搜索引擎首先派出机器人自动检索页面中的keywords和description,并将其加入到自己的数据库,然后再根据关键词的密度将网站排序。因此,我们必须设置好关键字,来提高页面的搜索点击率。下面我们来举一个例子供大家参考:meta name="keywords" content="政治,经济,科技,文化,卫生,情感,心灵,娱乐,生活,社会,企业,交通"

meta name="description" content="政治,经济,科技,文化,卫生,情感,心灵,娱乐,生活,社会,企业,交通"

设置好这些关键字后,搜索引擎将会自动把这些关键字添加到数据库中,并根据这些关键字的密度来进行合适的排序。

定义页面的使用语言

这是meta标签最常见的功能,在制作网页时,我们在纯HTML代码下都会看到它,它起的作用是定义你网页的语言,当浏览者访问你的网页时,浏览器会自动识别并设置网页中的语言,如果你网页设置的是GB码,而浏览者没有安装GB码,这时网页只会呈现浏览者所设置的浏览器默认语言。同样的,如果该网页是英语,那么charset=en。下面就是一个具有代表性的例子:

meta http-equiv=″content-Type″ content=″text/html; charset=gb2312″

该代码就表示将网页的语言设置成国标码。

自动刷新并指向新的页面

如果你想使您的网页在无人控制的情况下,能自动在指定的时间内去访问指定的网页,就可以使用meta标签的自动刷新网页的功能。下面我们来看一段代码:

〈meta http-equiv=″refresh″ content=″2; URL=

这段代码可以使当前某一个网页在2秒后自动转到页面中去,这就是meta的刷新作用,在content中,2代表设置的时间(单位为秒),而URL就是在指定的时间后自动连接的网页地址。

动画效果:

使用meta标签,我们还可以在进入网页或者离开网页的一刹那实现动画效果,我们只要在页面的html代码中的head/head;标签之间添加如下代码就可以了:

meta http-equiv="Page-Enter" content="revealTrans(duration=5.0,transition=20)"

一旦上述代码被加到一个网页中后,我们再进出页面时就会看到一些特殊效果,这个功能其实与FrontPage2000中的Format/Page Transition一样,但我们要注意的是所加网页不能是一个Frame页; RevealTrans动态滤镜

Duration表示滤镜特效的持续时间(单位:秒)

Transition滤镜类型。表示使用哪种特效,取值为0-23:

0矩形缩小

1矩形扩大

2 圆形缩小

3 圆形扩大

4 下到上刷新

5 上到下刷新

6 左到右刷新

7 右到左刷新

8 竖百叶窗

9 横百叶窗

10 错位横百叶窗

11 错位竖百叶窗

12 点扩散

13 左右到中间刷新

14 中间到左右刷新

15 中间到上下

16 上下到中间

17 右下到左上

18 右上到左下

19 左上到右下

20 左下到右上

21 横条

22 竖条

23 以上22种随机选择一种

网页定级评价

IE4.0以上版本的浏览器可以防止浏览一些受限制的网站,而之所以浏览器会自动识别某些网站是否受限制,就是因为在网站meta标签中已经设置好了该网站的级别,而该级别的评定是由美国RSAC,即娱乐委员会的评级机构评定的,如果你需要评价自己的网站,按要求提交表格,那么RSAC会提供一段meta代码给你,复制到自己网页里就可以了。下面就是一段代码的样例:

〈meta http-equiv=″PICS-Label″

content=′(PICS-1.1

l gen true comment ″RSACi North America Server″

for

on ″2001.08.16T08:15-0500″

r (n 0 s 0 v 0 l 0))′〉

控制页面缓冲

meta标签可以设置网页到期的时间,也就是说,当你在Internet Explorer 浏览器中设置浏览网页时首先查看本地缓冲里的页面,那么当浏览某一网页,而本地缓冲又有时,那么浏览器会自动浏览缓冲区里的页面,直到meta中设置的时间到期,这时候,浏览器才会去取得新页面。例如下面这段代码就表示网页的到期时间是2001年1月12日18时18分18秒。

〈meta http-equiv=″expires″ content=″Friday,12-Jan-2001 18:18:18 GMT″〉

控制网页窗口

我们还可以使用meta标签来控制网页显示的窗口,只要在网页中加入下面的代码就可以了:metahttp-equiv="window-target" content="_top";,这段代码可以防止网页被别人作为一个Frame调用。

其他用法:

scheme(方案)

说明:scheme can be used when name is used to specify how the value of content should

be interpreted.

用于指定要用来翻译属性值的方案。此方案应该在由 head 标签的 profile 属性指定的概况文件中进行了定义。

用法:meta scheme="ISBN" name="identifier" content="0-14-XXXXXX-1"

Link (链接)

说明:链接到文件

用法:Link href="soim.ico" rel="Shortcut Icon"

注意:很多网站如果你把它保存在收件夹中后,会发现它连带着一个小图标,如果再次点击进入之后还会发现地址栏中也有个小图标。现在只要在你的页头加上这段话,就能轻松实现这一功能。LINK 用来将文件与其它 URL 作连结,但不会有连结按钮,用于HEAD 标记间, 格式如下:

link href="URL" rel="relationship"

link href="URL" rev="relationship"

Base (基链接)

说明:插入网页基链接属性

注意:你网页上的所有相对路径在链接时都将在前面加上URL。其中target="_blank"是链接文件在新的窗口中打开,你可以做其他设置。将“_blank”改为“_parent”是链接文件将在当前窗口的父级窗口中打开;改为“_self”链接文件在当前窗口(帧)中打开;改为“_top”链接文件全屏显示。

使用方法:

Meta标签是用来描述网页属性的一种语言,标准的Meta标签可以便于搜索引擎排序,提高搜索引擎网站权重排名。想网站做的更符合搜索引擎标准就必须了解meta标签,下面由Seoer惜缘给大家讲讲meta标签含义与使用方法:

keywords

META标签的keywords

写法为:meta name="Keywords" content="信息参数"

meta标签的Keywords的的信息参数,代表说明网站的关键词是什么。

Description

META标签的Description

写法为:meta name="Description" content="信息参数"

meta标签的Description的信息参数,代表说明网站的主要内容,概况是什么。

Content-Type

META标签的http-equiv=Content-Type content="text/html

http-equiv=Content-Type代表的是HTTP的头部协议,提示浏览器网页的信息,

写法为:meta http-equiv="Content-Type" content="text/html; charset=信息参数"

meta标签的charset的信息参数如GB2312(或GBK)时,代表说明网站是采用的编码是简体中文;

meta标签的charset的信息参数如BIG5时,代表说明网站是采用的编码是繁体中文;

meta标签的charset的信息参数如iso-2022-jp时,代表说明网站是采用的编码是日文;

meta标签的charset的信息参数如ks_c_5601时,代表说明网站是采用的编码是韩文;

meta标签的charset的信息参数如ISO-8859-1时,代表说明网站是采用的编码是英文;

meta标签的charset的信息参数如UTF-8时,代表世界通用的语言编码。

注:在HTML5中,在表达charset信息时可以简写,前面的内容可以去掉,即写法是: meta charset="GBK"[1]

generator

META标签的generator

写法为:meta name="generator" content="信息参数" /

meta标签的generator的信息参数,代表说明网站的采用的什么软件制作。

author

META标签的author

写法为:meta name="author" content="信息参数"

meta标签的author的信息参数,代表说明网页版权作者信息。

⒍META标签的http-equiv="Refresh"

写法为:Meta http-equiv="Refresh" Content="时间; Url=网址参数"

meta标签的Refresh代表多少时间网页自动刷新,加上Url中的网址参数就代表,多长时间自动链接其他网址。

Pragma

META标签的HTTP-EQUⅣ="Pragma" CONTENT="no-cache"

写法为:META HTTP-EQUⅣ="Pragma" CONTENT="no-cache";

代表禁止浏览器从本地计算机的缓存中访问页面内容,这样设定,访问者将无法脱机浏览。

COPYRIGHT

META标签的COPYRIGHT

写法为:META NAME="COPYRIGHT" CONTENT="信息参数"

meta标签的COPYRIGHT的信息参数,代表说明网站版权信息。

imagetoolbar

META标签的http-equiv="imagetoolbar"

写法为:meta http-equiv="imagetoolbar" content="false"

指定是否显示图片工具栏,当为false代表不显示,当为true代表显示。

Content-Script-Type

META标签的Content-Script-Type

写法为:Meta http-equiv="Content-Script-Type" Content="text/javascript"

W3C网页规范,指明页面中脚本的类型。

revisit-after

META标签的revisit-after

写法为:META name="revisit-after" CONTENT="7 days"

revisit-after代表网站重访,7 days代表7天,依此类推。

Robots

META标签的Robots

写法为:meta name="Robots" content="信息参数"

Robots代表告诉搜索引擎机器人抓取哪些页面

其中的属性:

信息参数为all:文件将被检索,且页面上的链接可以被查询;

信息参数为none:文件将不被检索,且页面上的链接不可以被查询;

信息参数为index:文件将被检索;

信息参数为follow:页面上的链接可以被查询;

信息参数为noindex:文件将不被检索,但页面上的链接可以被查询;

信息参数为nofollow:文件将被检索,但页面上的链接不可以被查询;

标签优化:

meta标签的内容优化很有可能将会成为一个网站点击率获取最关键的一个内容,如何更好进行meta标签内容的优化?

1、细化监控范围;

2、建立动态网页标题和meta描述;

3、监视你的谷歌网站管理员网站简介;

4、包括你的独特的价值主张;

5、写的用户,而不是机器人。

英文前缀:

前缀 pref.

⒈表示"变化","变换"

⒉表示"继","在...之后"

⒊表示"超越"

⒋表示"在...之间","介于"

5.在逻辑学中是“关于那个的,更高层次”的意思

例词:metaphysics,Metamathematics(表示高层次的数理哲学)

n.

⒈形而上学;玄学

⒉深奥莫测的推理;空谈;空头理论

来自希腊语,最初来源是作为亚里士多德所著《形而上学》一书的书名,意指“第一哲学”,也就是以“作为存在的存在(being as being)”为研究对象的形而上学,其意义为“在具体科学之后”。

模板meta语言

模板meta语言由GDMO提出,采用类似于BNF的语法,因此与ASN.1相似,只要了解了它与ASN.1的不同之处就可以在ASN.1有关知识的基础上正确使用。因此,这里只将有关要点进行如下说明:

⒈分号(;)用于终止结构和中止模板

⒉空格,空行,注释和行尾只起分割符的作用。在需要标志一个元素结束,另一个元素开始时使用。

⒊注释由双连字符(--)引导,在行尾或遇到另外的双连字符终止。可以出现在任何分隔区中,但不能出现在结构名或模板名所包含的空格之间。

⒋方括号([ ])用于指出模板定义中的可选元素。

⒌右圆括号中的星号(*)指出模板定义中的可选元素。

⒍选择对象由竖线(|)分割。这个符号旨在支持件的定义中使用。

⒎将由用户确定的字符串扩在尖括号(;)中。

⒏附件用一个引用标号,后接符号-;,后接一个由文本字符串和符号构成的语法定义组成。

⒐分隔串出现在模板定义中自然语言文本或形式说明文本之中。他们由任意的字符串组成,字符串可以由以下任意一个分隔符引导和终止。分隔符是“$ % ^ * ` ' ~ @ \”。如果分隔串由某个分隔符开始,则这个分隔串直到再次遇到相同的分隔符才结束。

世上到底有没有先知先觉?

古希腊早先管理祭祀的人就被称为先知,一些书上也如是记载。所谓先知本是个外来词,中国虽然类似的人,但不叫先知。

你问的这个问题没法回答你,因为凡科学不能证明的,我们都统称为“无”。但科学一事本是有进程的,比如在没有相对论之前,我们就会否定空间与时间的种种关系,更不会承认空间会弯曲。

有关先知先觉如果从玄学上讲,属于形而上的形态,中国人说敬鬼神而远之。心理上的事情没法用世俗的概念去定义,属于不可知论。

若从形而下来看,也就叫预测,有一定历史知识的人可以先知未来的某一段事情,这样的例子太多了。这叫经验,比如你做错一件事,后来你发现你朋友正在走你的路,你也会先知到他会碰到哪些事情,这算不算先知呢?

所以说,要看你怎么样理解,是形而上的理解,还是形而下的理解。

形而上,就不可知,因为没有人证明有,也没有证明无。

形而下,那就是经验和知识还有理性的判断。

仁者见仁而已。但愿我的答案令你满意!

如何系统地自学 Python

是否非常想学好 Python,一方面被琐事纠缠,一直没能动手,另一方面,担心学习成本太高,心里默默敲着退堂鼓?

幸运的是,Python 是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。

Python 的设计哲学之一就是简单易学,体现在两个方面:

语法简洁明了:相对 Ruby 和 Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。

切入点很多:Python 可以让你可以做很多事情,科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,总有一个是你感兴趣并且愿意投入时间的。

废话不多说,学会一门语言的捷径只有一个: Getting Started

¶ 起步阶段

任何一种编程语言都包含两个部分:硬知识和软知识,起步阶段的主要任务是掌握硬知识。

硬知识

“硬知识”指的是编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这部分知识也是具有普适性的,看上去是掌握了一种语法,实际是建立了一种思维。例如:让一个 Java 程序员去学习 Python,他可以很快的将 Java 中的学到的面向对象的知识 map 到 Python 中来,因此能够快速掌握 Python 中面向对象的特性。

如果你是刚开始学习编程的新手,一本可靠的语法书是非常重要的。它看上去可能非常枯燥乏味,但对于建立稳固的编程思维是必不可少。

下面列出了一些适合初学者入门的教学材料:

廖雪峰的 Python 教程    Python 中文教程的翘楚,专为刚刚步入程序世界的小白打造。  

笨方法学 Python    这本书在讲解 Python 的语法成分时,还附带大量可实践的例子,非常适合快速起步。  

The Hitchhiker’s Guide to Python!    这本指南着重于 Python 的最佳实践,不管你是 Python 专家还是新手,都能获得极大的帮助。  

Python 的哲学:

用一种方法,最好是只有一种方法来做一件事。

学习也是一样,虽然推荐了多种学习资料,但实际学习的时候,最好只选择其中的一个,坚持看完。

必要的时候,可能需要阅读讲解数据结构和算法的书,这些知识对于理解和使用 Python 中的对象模型有着很大的帮助。

软知识

“软知识”则是特定语言环境下的语法技巧、类库的使用、IDE的选择等等。这一部分,即使完全不了解不会使用,也不会妨碍你去编程,只不过写出的程序,看上去显得“傻”了些。

对这些知识的学习,取决于你尝试解决的问题的领域和深度。对初学者而言,起步阶段极易走火,或者在选择 Python 版本时徘徊不决,一会儿看 2.7 一会儿又转到 3.0,或者徜徉在类库的大海中无法自拔,Scrapy,Numpy,Django 什么都要试试,或者参与编辑器圣战、大括号缩进探究、操作系统辩论赛等无意义活动,或者整天跪舔语法糖,老想着怎么一行代码把所有的事情做完,或者去构想圣洁的性能安全通用性健壮性全部满分的解决方案。

很多“大牛”都会告诫初学者,用这个用那个,少走弯路,这样反而把初学者推向了真正的弯路。

还不如告诉初学者,学习本来就是个需要你去走弯路出 Bug,只能脚踏实地,没有奇迹只有狗屎的过程。

选择一个方向先走下去,哪怕脏丑差,走不动了再看看有没有更好的解决途径。

自己走了弯路,你才知道这么做的好处,才能理解为什么人们可以手写状态机去匹配却偏要发明正则表达式,为什么面向过程可以解决却偏要面向对象,为什么我可以操纵每一根指针却偏要自动管理内存,为什么我可以嵌套回调却偏要用 Promise...

更重要的是,你会明白,高层次的解决方法都是对低层次的封装,并不是任何情况下都是最有效最合适的。

技术涌进就像波浪一样,那些陈旧的封存已久的技术,消退了迟早还会涌回的。就像现在移动端应用、手游和 HTML5 的火热,某些方面不正在重演过去 PC 的那些历史么?

因此,不要担心自己走错路误了终身,坚持并保持进步才是正道。

起步阶段的核心任务是掌握硬知识,软知识做适当了解,有了稳固的根,粗壮的枝干,才能长出浓密的叶子,结出甜美的果实。

¶ 发展阶段

完成了基础知识的学习,必定会感到一阵空虚,怀疑这些语法知识是不是真的有用。

没错,你的怀疑是非常正确的。要让 Python 发挥出它的价值,当然不能停留在语法层面。

发展阶段的核心任务,就是“跳出 Python,拥抱世界”。

在你面前会有多个分支:科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,这些都不是仅仅知道 Python 语法就能解决的问题。

拿爬虫举例,如果你对计算机网络,HTTP 协议,HTML,文本编码,JSON 一无所知,你能做好这部分的工作么?而你在起步阶段的基础知识也同样重要,如果你连循环递归怎么写都还要查文档,连 BFS 都不知道怎么实现,这就像工匠做石凳每次起锤都要思考锤子怎么使用一样,非常低效。

在这个阶段,不可避免要接触大量类库,阅读大量书籍的。

类库方面

「Awesome Python 项目」:vinta/awesome-python · GitHub

这里列出了你在尝试解决各种实际问题时,Python 社区已有的工具型类库,如下图所示:

请点击输入图片描述

vinta/awesome-python

你可以按照实际需求,寻找你需要的类库。

至于相关类库如何使用,必须掌握的技能便是阅读文档。由于开源社区大多数文档都是英文写成的,所以,英语不好的同学,需要恶补下。

书籍方面

这里我只列出一些我觉得比较有一些帮助的书籍,详细的请看豆瓣的书评:

科学和数据分析:

❖「集体智慧编程」:集体智慧编程 (豆瓣)

❖「数学之美」:数学之美 (豆瓣)

❖「统计学习方法」:统计学习方法 (豆瓣)

❖「Pattern Recognition And Machine Learning」:Pattern Recognition And Machine Learning (豆瓣)

❖「数据科学实战」:数据科学实战 (豆瓣)

❖「数据检索导论」:信息检索导论 (豆瓣)

爬虫:

❖「HTTP 权威指南」:HTTP权威指南 (豆瓣)

Web 网站:

❖「HTML CSS 设计与构建网站」:HTML CSS设计与构建网站 (豆瓣)

...

列到这里已经不需要继续了。

聪明的你一定会发现上面的大部分书籍,并不是讲 Python 的书,而更多的是专业知识。

事实上,这里所谓“跳出 Python,拥抱世界”,其实是发现 Python 和专业知识相结合,能够解决很多实际问题。这个阶段能走到什么程度,更多的取决于自己的专业知识。

¶ 深入阶段

这个阶段的你,对 Python 几乎了如指掌,那么你一定知道 Python 是用 C 语言实现的。

可是 Python 对象的“动态特征”是怎么用相对底层,连自动内存管理都没有的C语言实现的呢?这时候就不能停留在表面了,勇敢的拆开 Python 的黑盒子,深入到语言的内部,去看它的历史,读它的源码,才能真正理解它的设计思路。

这里推荐一本书:

「Python 源码剖析」:Python源码剖析 (豆瓣)

这本书把 Python 源码中最核心的部分,给出了详细的阐释,不过阅读此书需要对 C 语言内存模型和指针有着很好的理解。

另外,Python 本身是一门杂糅多种范式的动态语言,也就是说,相对于 C 的过程式、 Haskell 等的函数式、Java 基于类的面向对象而言,它都不够纯粹。换而言之,编程语言的“道学”,在 Python 中只能有限的体悟。学习某种编程范式时,从那些面向这种范式更加纯粹的语言出发,才能有更深刻的理解,也能了解到 Python 语言的根源。

这里推荐一门公开课

「编程范式」:斯坦福大学公开课:编程范式

讲师高屋建瓴,从各种编程范式的代表语言出发,给出了每种编程范式最核心的思想。

值得一提的是,这门课程对C语言有非常深入的讲解,例如C语言的范型和内存管理。这些知识,对阅读 Python 源码也有大有帮助。

Python 的许多最佳实践都隐藏在那些众所周知的框架和类库中,例如 Django、Tornado 等等。在它们的源代码中淘金,也是个不错的选择。

¶  最后的话

每个人学编程的道路都是不一样的,其实大都殊途同归,没有迷路的人只有不能坚持的人!

希望想学 Python 想学编程的同学,不要犹豫了,看完这篇文章,

Just Getting Started  !!!


名称栏目:包含javascript玄学的词条
网页URL:http://cdkjz.cn/article/dssesjh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220