微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 正确的判断来源于经验,然而经验来源于错误的判断. -- Fred Brooks 目录 我们已经知道函数是一种重复利用代码的机制. 本节我们来介绍模块,Python 中的模块,也是一种重复利用代码的机制.我们可以将有特定功能的代码(比如函数,类等)写在模块中,供他人使用,便于重复利用,便于维护. 在前面的章节中,我们也接触过模块.Python 功能强大的一个重要的原因,就是它有各种方便使用的模块.…
1. 模块 在python中一个文件可以被看成一个独立模块,而包对应着文件夹,模块把python代码分成一些有组织的代码段,通过导入的方式实现代码重用. 1.1 模块搜索路径 导入模块时,是按照sys.path变量的值搜索模块,sys.path的值是包含每一个独立路径的列表,包含当前目录.python安装目录.PYTHONPATH环境变量,搜索顺序按照路径在列表中的顺序(一般当前目录优先级最高). >>> import sys >>> sys.path ['', 'E:…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 代码能借用就借用. -- Tom Duff 目录 编程可分为面向过程编程和面向对象编程,它们是两种不同的编程方式,当然背后的思维方式也是不同的.面向过程编程是一种传统的编程方式,面向对象编程是一个更高级的编程方式. 1,面向过程编程 面向过程编程(POP)的重点在于过程二字. 面向过程比较好理解,就是按照人们通常的思维方式,在做一件事情的时候,将这件事情划分为多个步骤,一步一步来做. 面向过程编程…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 那些能用计算机迅速解决的问题,就别用手做了. -- Tom Duff 目录 上一节 我们介绍了Python 面向对象的相关概念,我们已经知道类与对象是面向对象编程中非常重要的概念. 类就是一个模板,是抽象的.对象是由类创建出来的实例,是具体的.由同一个类创建出来的对象拥有相同的方法和属性,但属性的值可以是不同的.不同的对象是不同的实例,互不干扰. 1,类的定义 如下,是一个最简单的类,实际上是一个…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 与客户保持良好的关系可以使生产率加倍. -- Larry Bernstain 目录 类中的变量称为属性,类中的函数称为方法. 类中的属性分为: 实例属性:对象所有,互不干扰 类属性:类所有,所有对象共享 类中的方法分为: 实例方法:定义中有self 参数 类方法:定义中有cls 参数,使用@classmethod 装饰器 静态方法:定义中即没有self 参数,也没有cls 参数,使用@static…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序不是年轻的专利,但是,它属于年轻. 目录 我们已经知道封装,继承和多态 是面向对象的三大特征,面向对象语言都会提供这些机制. 1,封装 在这一节介绍类的私有属性和方法的时候,我们已经讲到过封装. 封装就是在设计一个类的时候,只允许使用者访问他需要的方法,将复杂的,没有必要让使用者知道的方法隐藏起来.这样,使用者只需关注他需要的东西,为其屏蔽了复杂性. 私有性就是实现封装的一种手段,这样,类的设…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 当你选择了一种语言,意味着你还选择了一组技术.一个社区. 目录 本节我们来介绍闭包与装饰器. 闭包与装饰器是函数的高级用法,其实在介绍完Python 函数我们就可以介绍本节的内容,但由于Python中的类也可以用来实现装饰器,所以我们等到介绍完了Python 类再来统一介绍闭包与装饰器. 装饰器使用的是闭包的特性,我们先来介绍闭包,再来介绍装饰器. 1,什么是闭包 Python 的函数内部还允许嵌…
Python简明教程 MachinePlay关注 0.7072018.09.26 01:49:43字数 2,805阅读 9,287 Python一小时快速入门 1.Python简介   pylogo.png Python是一种相当高级的解释性程序设计语言,完成同一个任务C语言可能需要几千行代码Java要写100行,Python可能只需要20行. 用Python可以做什么?可以做日常任务,比如自动备份你的MP3:可以做网站,很多著名的网站包括YouTube就是Python写的:可以做网络游戏的后台…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 学编程最有效的方法是动手敲代码. 目录 1,什么是多进程 我们所写的Python 代码就是一个程序,Python 程序用Python 解释器来执行.程序是存储在磁盘上的一个文件,Python 程序需要通过Python 解释器将其读入内存,然后进行解释并执行. 处于执行(运行)状态的程序叫做进程.进程是由操作系统分配资源并进行调度才能执行.操作系统会为每个进程分配进程ID(非负整数),作为进程的唯一…
Python经典教程<Python简明教程> 目录: 为什么Python 安装Python 体验Python Python数据类型 运算符与表达式 控制流 函数 模块 数据结构 解决问题 面向对象 输入输出 异常 标准库 更多的内容…
Python简明教程,此资源位于http://woodpecker.org.cn/abyteofpython_cn/chinese/ s=u'中文字符' #u表示unicode,使用u之后能正常显示中文 s='''多行文本 这是第二哈''' #'''表示多行注释.也可以用""" 布尔型:True,False docString:文档字符串.eg: # Filename : nice.py # encoding:utf8 def printMax(x, y): u'''输出两个…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 控制复杂性是计算机编程的本质. -- Brian Kernighan 了解了如何编写第一个Python 程序,接下来,我们来学习更多的Python 知识. 本篇内容,我们来介绍一些Python 基础概念. 1,注释 每种编程语言中都有注释,代码注释的主要作用是解释某段代码的含义,以供其他维护人员参考.Python 解释器在遇到注释时,会将其忽略,而不会当做代码来执行. 注释可分为单行注释和多行注释…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 人生苦短,我用Python. -- 龟叔T恤 Python 是一门解释型语言,所以要想运行Python 程序,首先需要搭建Python 环境,即安装Python 解释器.由于Python3 越来越普及,本教程中我们统一使用Python3.x 版本. Python 是一个跨平台语言,它支持Windows,Linux,Mac 系统.这里我们会介绍如何在这三种系统中安装Python. 1,在类Unix…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果代码和注释不一致,那很可能两者都错了. -- Norm Schryer 目录 前几节我们已经介绍了Python 中的列表list,元组tuple 和 字典dict,本节来介绍Python 中的最后一种数据结构--集合set. >>> set <type 'set'> 1,Python 集合 Python 中的set 与 dict 很像,唯一的不同是,dict 中保存的是键值…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介绍了Python 中四种数据结构的特性和基本用法,本节介绍与数据结构相关的高级特性. 序列 迭代器 列表生成式 生成器 强制类型转换 1,序列 Python 序列是指,其中存放的元素是有序排列的,可用下标访问,字符串,列表,元组都是序列. 而字典与集合中的元素是无序排列的,因此一般不归在序列中. P…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 测试只能证明程序有错误,而不能证明程序没有错误. -- Edsger Dijkstra 目录 本节我们来介绍函数,在前边的章节我们已经接触了挺多函数了,比如print(),len() 等. 函数是编程语言中非常重要的概念,函数是一段可重复利用的,提供特定功能的代码段. 函数是一种模块化的手段,可提高代码的利用率,避免重复代码,便于使用,便于维护. Python 中,不仅提供了许多现成可用的内建函数…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 对于那些快速算法,我们总是可以拿一些速度差不多但是更容易理解的算法来替代它们. -- Douglas Jones 目录 高阶函数一般以函数为参数. 本节我们介绍Python 中三个方便的高阶函数,分别是: map reduce filter 如果你了解过分布式系统框架---Hadoop,你应该知道map/reduce 的概念. Python 中的map/reduce 函数与Hadoop 中的map…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 好代码本身就是最好的文档.当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释. -- Steve McConnell 目录 字符串有很多操作函数,所以,这里我们专门用一节来介绍这些函数. 建议: 由于字符串函数较多,对于新手来说,不必要一开就掌握所有的函数用法,可以先粗略的看一遍,有个大概印象,到真正用的着的时候,再来详细查看也可.用的次数多了,自然就记住了. 我们可以通过dir() 函…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 程序 = 算法 + 数据结构 -- Nicklaus Wirth 目录 从这句话程序 = 算法 + 数据结构 可以看出数据结构对于编程的重要性.数据结构就是数据的组织/存储方式. 从本节开始我们将介绍Python 中的数据结构: 列表 list 元组 tuple 字典 dict 集合 set 这些数据结构在Python3.x 中都是一个类class: >>> list <class…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 要么做第一个,要么做最好的一个. 目录 我们在编写程序时,总会不自觉的出现一些错误,比如逻辑错误,语法错误和一些其它的运行时错误等. 逻辑错误: 这种错误不会导致程序崩溃,它不容易被发现,只有在执行结果不是我们预期的时候,才会被发现. 语法错误: 这种错误是不符合语法规定的错误,说白了,就是编译器或者解释器无法理解的代码.出现这种错误时,程序是不能运行的. 其它运行时错误: 这种错误是程序在运行的…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 做技术一定要一颗恒心,这样才不会半途而废. 目录 上一节我们介绍了文件相关的操作,本节我们来介绍目录相关的操作. 1,os 模块 os 模块是Python 中的内建模块,该模块中包含许多系统相关的操作.我们要介绍的目录相关的操作,也都包含在该模块中. 我们可以使用dir(os) 来查看该模块中所有属性和函数,共有几百个属性和函数.这里我们只介绍一部分函数,可以使用help(os.函数名) 来查看某…
Python学习教程(Python学习视频_Python学些路线):函数和模块的使用 在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解. $$x_1 + x_2 + x_3 + x_4 = 8$$事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案.想到这一点问题的答案就呼之欲出了. $$C_M^N =\frac{M!}{N!(M-N)!}, \text{(M=7, N=3)} $$可以用Python的程序来计算出这个值,代码如下所示. "&qu…
今天看了知乎@萧井陌的编程入门指南,想重温一下 <python简明教程>,对global的用法一直不太熟练,在此熟练一下,并实践一下python中list.tuple.set作为参数的区别. 在函数内部定义变量时,他们与函数外部具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的,这称为变量的作用域,示例如下: def func_local(x): print 'x is', x x = 2 print 'Chanaged local x to',x x = 50 func_lo…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那你肯定是用错方法了. -- Carig Zerouni 当你在自己的电脑上安装好Python 后,就可以编写Python 程序了. 你可以使用Python 交互式终端,也可以将代码写在文件中,然后用Python 解释器来运行代码. 1,使用Python 交互式终端 Python 解释器就是一个交互式终端,所谓交互式终端,就是你输入的代码,会被立即执行,并将结果反馈给你.…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 当你选择了一种语言,意味着你还选择了一组技术.一个社区. -- Joshua Bloch 目录 1,什么是计算机编码 编码 信息从一种形式转换到另一种形式的过程,就叫做编码.说白了,编码就是信息的一种转换过程. 比如,信息的加密解密,这就是信息的一种转换过程,它是信息的明文与密文之间的转换过程. 还有不同国家文字的翻译,这是语言之间的一种转换过程. 那么,编码也是一种信息的转换过程. 计算机编码…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 软件工程的目标是控制复杂度,而不是增加复杂性. -- Dr. Pamela Zave 目录 我们在上一节介绍了Python 列表list 数据结构,本节来介绍一下元组tuple. 1,Python 元组 元组与列表有些相似,它们之间最显著的不同是,元组一旦定义了以后,就不能再修改(增加/删除其中的元素),而列表可以被任意的改. Python 元组有如下特点: 元组中的元素可以是任意类型的数据 可使…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 代码写的越急,程序跑得越慢. -- Roy Carlson 目录 Python 字典是另一种非常实用的数据结构,在Python 中用dict 表示,是英文dictionary 的缩写. >>> dict <class 'dict'> Python 中的dict 在其它编程语言中一般用map 表示,虽然叫法不同,但基本原来是相通的. 1,Python 字典 Python 字典中的…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码. -- Martin Fowler 1,什么是变量 计算机的本质是处理数据,数据可以存储在内存和磁盘,只有加载到内存的数据才能被处理. 变量用于代指某块内存数据,比如数字123,字符串abc,如下: n = 123 s = 'abc' 这里的n 和 s 就是变量. Python 是动态类型语言,所以,Python 中…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1,什么是表达式 表达式是代码的重要组成部分,一个表达式由运算符和操作数两部分组成. 一个表达式就描述了对哪些数据,进行了什么样的操作. 如下就是一个表达式: sum = 1 + 2 其中,=和+ 都是运算符,=是赋值运算符,+ 是相加运算符,sum,1,2 都是操作数. 这句话的含义是,将1 与 2…
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io Talk is cheap, show me the code. -- Linus Torvalds 目录 控制流用来控制程序的处理流程,即当程序满足或不满足某一条件时,让程序去做哪些事情. 控制流语句使得我们可以处理丰富的代码逻辑. 基本的控制流语句有三种,分别是: if 条件语句 for 循环语句 while 循环语句 1,if 条件语句 if 语句用于判断一个条件,当条件为True 时,执行…