08 2018 档案

摘要:https://www.jianshu.com/p/b524b151d35f 题图 Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤 开发 提交 编译 测试 发布 有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动化完成的,具体的 阅读全文
posted @ 2018-08-21 10:09 韦大仙 阅读(568) 评论(0) 推荐(0) 编辑
摘要:  语言的内存管理是语言设计的一个重要方面。它是决定语言性能的重要因素。无论是C语言的手工管理,还是Java的垃圾回收,都成为语言最重要的特征。这里以Python语言为例子,说明一门动态类型的、面向对象的语言的内存管理方式。   对象的内存使用 赋值语句是语言最常见的功能了。但即 阅读全文
posted @ 2018-08-19 00:08 韦大仙 阅读(208) 评论(0) 推荐(0) 编辑
摘要:装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一个函数的返回结果。相对于其它方式,装饰器语法简单,代码可读性高。因此,装饰器在Python项目中有广 阅读全文
posted @ 2018-08-19 00:06 韦大仙 阅读(269) 评论(0) 推荐(0) 编辑
摘要:闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性( 阅读全文
posted @ 2018-08-19 00:04 韦大仙 阅读(227) 评论(0) 推荐(0) 编辑
摘要:  Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。   属性的__dict__系统 对象的属性可能来自于其类定义,叫做类属性(class attribute)。类属性可能来自类定义自身,也可能根据类 阅读全文
posted @ 2018-08-19 00:03 韦大仙 阅读(611) 评论(0) 推荐(0) 编辑
摘要:  上下文管理器(context manager)是Python2.5开始支持的一种语法,用于规定某个对象的使用范围。一旦进入或者离开该使用范围,会有特殊操作被调用 (比如为对象分配或者释放内存)。它的语法形式是with...as...   关闭文件 我们会进行这样的操作:打开文 阅读全文
posted @ 2018-08-19 00:00 韦大仙 阅读(429) 评论(0) 推荐(0) 编辑
摘要:  Python一切皆对象,但同时,Python还是一个多范式语言(multi paradigm),你不仅可以使用面向对象的方式来编写程序,还可以用面向过程的方式来编写相同功能的程序(还有函数式、声明式等,我们暂不深入)。Python的多范式依赖于Python对象中的特殊方法(specia 阅读全文
posted @ 2018-08-18 23:58 韦大仙 阅读(329) 评论(0) 推荐(0) 编辑
摘要:动态类型(dynamic typing)是Python另一个重要的核心概念。我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值。这些都与动态类型的概念相关。   动态类型 在我们接触的对象中,有一类特殊的对象,是用于存储数据的。常见的该类对 阅读全文
posted @ 2018-08-18 23:53 韦大仙 阅读(388) 评论(0) 推荐(0) 编辑
摘要:异常处理 在项目开发中,异常处理是不可或缺的。异常处理帮助人们debug,通过更加丰富的信息,让人们更容易找到bug的所在。异常处理还可以提高程序的容错性。 我们之前在讲循环对象的时候,曾提到一个StopIteration的异常,该异常是在循环对象穷尽所有元素时的报错。 我们以它为例,来说明基本的异 阅读全文
posted @ 2018-08-18 23:51 韦大仙 阅读(242) 评论(0) 推荐(0) 编辑
摘要:  秉承着一切皆对象的理念,我们再次回头来看函数(function)。函数也是一个对象,具有属性(可以使用dir()查询)。作为对象,它还可以赋值给其它对象名,或者作为参数传递。   lambda函数 在展开之前,我们先提一下lambda函数。可以利用lambda函数的语法,定义 阅读全文
posted @ 2018-08-11 23:04 韦大仙 阅读(173) 评论(0) 推荐(0) 编辑
摘要:  这一讲的主要目的是为了大家在读Python程序的时候对循环对象有一个基本概念。 循环对象的并不是随着Python的诞生就存在的,但它的发展迅速,特别是Python 3x的时代,循环对象正在成为循环的标准形式。   什么是循环对象 循环对象是这样一个对象,它包含有一个next( 阅读全文
posted @ 2018-08-11 23:03 韦大仙 阅读(266) 评论(0) 推荐(0) 编辑
摘要:  在“循环”一节,我们已经讨论了Python基本的循环语法。这一节,我们将接触更加灵活的循环方式。   range() 在Python中,for循环后的in跟随一个序列的话,循环每次使用的序列元素,而不是序列的下标。 之前我们已经使用过range()来控制for循环。现在,我们 阅读全文
posted @ 2018-08-11 23:01 韦大仙 阅读(233) 评论(0) 推荐(0) 编辑
摘要:  我们已经接触过函数(function)的参数(arguments)传递。当时我们根据位置,传递对应的参数。我们将接触更多的参数传递方式。   回忆一下位置传递: def f(a,b,c): return a+b+c print(f(1,2,3)) 在调用f时,1,2,3根据位 阅读全文
posted @ 2018-08-11 23:00 韦大仙 阅读(213) 评论(0) 推荐(0) 编辑
摘要:  我们之前看到了函数和对象。从本质上来说,它们都是为了更好的组织已经有的程序,以方便重复利用。 模块(module)也是为了同样的目的。在Python中,一个.py文件就构成一个模块。通过模块,你可以调用其它文件中的程序。   引入模块 我们先写一个first.py文件,内容如 阅读全文
posted @ 2018-08-11 22:58 韦大仙 阅读(301) 评论(0) 推荐(0) 编辑
摘要:  Python具有基本的文本文件读写功能。Python的标准库提供有更丰富的读写功能。 文本文件的读写主要通过open()所构建的文件对象来实现。   创建文件对象 我们打开一个文件,并使用一个对象来表示该文件: f = open(文件名,模式)   最常用的模式有: 阅读全文
posted @ 2018-08-11 22:56 韦大仙 阅读(432) 评论(0) 推荐(0) 编辑
摘要:  基础教程介绍了基本概念,特别是对象和类。 进阶教程对基础教程的进一步拓展,说明Python的细节。希望在进阶教程之后,你对Python有一个更全面的认识。   之前我们说了,列表是Python里的一个类。一个特定的表,比如说nl = [1,3,8],就是这个类的一个对象。我们 阅读全文
posted @ 2018-08-11 22:51 韦大仙 阅读(232) 评论(0) 推荐(0) 编辑
摘要:从最初的“Hello World”,走到面向对象。该回过头来看看,教程中是否遗漏了什么。 我们之前提到一句话,"Everything is Object". 那么我们就深入体验一下这句话。   需要先要介绍两个内置函数,dir()和help() dir()用来查询一个类或者对象所有属性。你 阅读全文
posted @ 2018-08-10 22:59 韦大仙 阅读(307) 评论(0) 推荐(0) 编辑
摘要:  我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。   调用类的其它信息 上一讲中提到,在定义方法时,必须有self这一参数。这个参数表示某个对象。对象拥有类的所有性质,那么我们可以通过self,调用类属性。 class Human(object): l 阅读全文
posted @ 2018-08-10 22:57 韦大仙 阅读(304) 评论(0) 推荐(0) 编辑
摘要:  Python使用类(class)和对象(object),进行面向对象(object oriented programming,简称OOP)的编程。 面向对象的最主要目的是提高程序的重复使用性。我们这么早切入面向对象编程的原因是,Python的整个概念是基于对象的。了解OOP是进一步学习 阅读全文
posted @ 2018-08-10 22:54 韦大仙 阅读(176) 评论(0) 推荐(0) 编辑
摘要:  函数最重要的目的是方便我们重复使用相同的一段程序。 将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。   函数的定义 首先,我们要定义一个函数, 以说明这个函数的功能。 def square_sum(a,b): c = 阅读全文
posted @ 2018-08-10 22:49 韦大仙 阅读(287) 评论(0) 推荐(0) 编辑
摘要:  循环用于重复执行一些程序块。从上一讲的选择结构,我们已经看到了如何用缩进来表示程序块的隶属关系。循环也会用到类似的写法。   for循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次。 基本构造是 for 元素 in 序列: statement & 阅读全文
posted @ 2018-08-10 22:46 韦大仙 阅读(177) 评论(0) 推荐(0) 编辑
摘要:  缩进 Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。   先看C语言的表达方式(注意,这是C,不是Python!) if ( i > 0 ) { x = 1; y = 2; } 阅读全文
posted @ 2018-08-10 22:43 韦大仙 阅读(375) 评论(0) 推荐(0) 编辑
摘要:Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍)   数学运算 >>>print 1+9        加法 >>> 阅读全文
posted @ 2018-08-10 22:40 韦大仙 阅读(141) 评论(0) 推荐(0) 编辑
摘要:sequence 序列 sequence(序列)是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于我们还没有引入“对象”概念,暂时说元素)   序列可以包含一个或多个元素,也可以没有任何元素。 我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后要 阅读全文
posted @ 2018-08-10 22:36 韦大仙 阅读(253) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示