2018-02-28数据结构和算法(1) 1.1解压序列赋值给多个变量: 任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量. 唯一的前提就是变量的数量必须跟序列元素的数量是一样的. >>> data = [ 'ACME', 50, 91.1, (2012, 12, 21) ] >>> name, shares, price, date = data >>> name 'ACME' 此方法需要注意变量个数和序列元素个数的匹配,…
2018-03-01数据结构与算法(4) 1.16过滤序列元素 最简单的过滤序列元素的方法就是使用列表推导.比如: >>> mylist = [1, 4, -5, 10, -7, 2, 3, -1] >>> [n for n in mylist if n > 0] [1, 4, 10, 2, 3] >>> [n for n in mylist if n < 0] [-5, -7, -1] >>> 用列表推导的一个潜在缺陷就…
2018-03-01数据结构和算法(3) 1.11 命名切片 假定你有一段代码要从一个记录字符串中几个固定位置提取出特定的数据字段(比如文件或类似格式): ###### 0123456789012345678901234567890123456789012345678901234567890' record = '....................100 .......513.25 ..........' cost = int(record[20:23]) * float(record[3…
2018-03-01数据结构和算法(2) 1.6字典中的键映射多个值 一个字典就是一个键对应一个单值的映射.如果你想要一个键映射多个值,那么你就需要将这多个值放到另外的容器中, 比如列表或者集合里面.比如,你可以像下面这样构造这样的字典: d = { 'a' : [1, 2, 3], 'b' : [4, 5] } e = { 'a' : {1, 2, 3}, 'b' : {4, 5} } 选择使用列表还是集合取决于你的实际需求.如果你想保持元素的插入顺序就应该使用列表, 如果想去掉重复元素就使用…
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # for ... in #通过collections模块的 Iterable 类型判断一个对象是否可以迭代 from collections import Iterable from collections import Iterator #list 有下标可以迭代,dict 没有下标,也可以迭代 d…
Python3学习笔记(urllib模块的使用)   1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None) -         url:  需要打开的网址 -         data:Post提交的数据 -         timeout:设置网站的访问超时时间 直接用urllib.request模块的urlopen…
前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程是参考了廖雪峰的官方网站,教程非常详细,一步步照着学习就行了,我在自己的文章中就尽量不重复了.我会在自己后续的文章中会结合一些实例来学习Python3. 环境介绍 系统:Centos 7.4 编辑器:Vim 工具:Docker CE v17.09.0 & Docker Compose v1.17.0…
#python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一般是容量小的list #导入os模块,模块的概念后面讲到 import os #生成[1,2,3,4,5,6,7,8,9,10] l1 = list(range(1,11)) print("1-10",l1) # 生成[1*1, 2*2,...10*10] l2 = [] for x in…
#python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits = ["apple","origin","pear"] print("fruits",fruits) # 取前三个元素 索引从0开始,取到2(不包括2). part0_2 = fruits[0:2] print("par…
python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样,IDLE shell编辑器,快捷键:ALT+p,上一个历史输入内容,ALT+n 下一个历史输入内容.#idle中按F5可以运行代码 BIF --> built in functions 查询python有多少BIF内置函数的方法: dir(__builtins__) ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseEx…
JavaSE学习笔记(14)---File类和IO流(字节流和字符流) File类 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例. public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例. public File(F…
#python 学习笔记 2017/07/13 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #从高阶函数的定义,我们可以知道,把函数作为参数的函数,把函数作为返回值的参数都是高阶函数 #可变参数求和 def calc_sum(*args): sum = 0 for n in args: sum = sum + n return sum #这个函数会立即返回求和结果,如果不要立即返回求和结果,而是需要在计算,可以返回求和函数,当再次调用时才给出计…
最近在学习Python3,想写一些自己的学习笔记.方便自己以后看,主要学习的资料来自菜鸟教程的Python3教程和廖雪峰官方网站的Python教程. 1.下载 1)打开https://www.python.org/downloads/ 当前最新版本3.6.5 2.安装 下载完成之后,运行exe文件,第一个页面底部,记得勾选add Python to path,这样会自动把Python加到系统变量里面去,然后默认安装即可 我的安装路径: C:\Users\ms\AppData\Local\Prog…
# python学习笔记 2017/07/13 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #python 内置sorted()函数 可以对list进行排序 l = [1,4,-7,13] print(sorted(l)) #sort() 函数是一个高阶函数,它可以接收一个key函数来实现自定义的排序 #按绝对值大小排序 print(sorted(l, key = abs)) #字符串排序 ,按照ascii 的大小写比较 sl = ["abc&q…
#python学习笔记 17/07/10 # !/usr/bin/evn python3 # -*- coding:utf-8 -*- import math #函数 函数的 定义 #定义一个求绝对值函数 def abstruct(a): if not isinstance (a, (int, float)): raise TypeError("param must be a int or float type") if a >= 0: return a else: return…
#python学习笔记 17/07/07 # !/usr/bin/evn python3 # -*- coding:utf-8 -*- #r"" 引号当中的字符串不转义 #练习 #打印 '\\\t\n' print(r'\\\t\n') #打印 n = 123 print('n = 123') # 打印 f = 456.789 print("f = 456.789") #打印 s1 = 'Hello, world!' print("s1 = 'Hello,…
查看Python版本 可以命令窗口,windows使用win+R调出cmd运行框,输入以下命令: python -V 进入python的交互编辑模式,也可查看 D:\Python3.6\Scripts>python Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD6  4)] on win32  Type "help", "copyright", &q…
变量/if/while/逻辑运算符/模块引用: 变量: 使用变量前必须先赋值. 大小写区分. Python创建字符串,在字符串两边可以加上单引号或者双引号. 打印单引号或双引号,使用转移\ 使用\进行转意 字符串: 原始字符串 长字符串 if: while循环: 逻辑and和or操作符: random模块: randint()返回一个随机整数…
之前一直使用python2.7,最近打算学习下python3教程,再此记录下一些要点(未完待续...) 1.缩进 缩进有利有弊.好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab.按照约定俗成的管理,应该始终坚持使用4个空格的缩进. 缩进的另一个好处是强迫你写出缩进较少的代码,你会倾向于把一段很长的代码拆分成若干函数,从而得到缩进较少的代码. 缩进的坏处就是“复制-粘贴”功能失效了,这是最坑爹的地方.当你重构代码时,粘贴过去的代码必须重新检查缩进是否正确. 2.数据类型 整数:任意…
一.面向对象(初识)由类和方法组成,类里面封装了很多功能,根据这个类,可以创建一个这个类的对象,即对象是根据这个类创建的,以后这个对象要使用某个功能的时候就从这个类里面的找.例:str -功能一 -功能二 -功能三 -...s1 = 'alex'str即是类,s1即是根据这个类创建的一个对象.二.set集合set是一个无序.不重复.可嵌套的集合.1.语法:se = {}或se = set()或se = set((11,22,33,33)),set()时其实是调用这个类里面的__init__方法写…
一.模块初识(接上篇)模块(库)分为两种:1.标准库:不需要安装直接可以导入的库,例:getpass.2.第三方库:必须要下载安装才可以使用.注:编辑的模块文件名不能与导入的模块名重复. 在模块文件中导入其他模块时,程序会先在本目录下查找模块,如果文件本身的名称和导入的模块名相同,则会找到并导入自身. 此操作在python2.x时会报错,在python3.x中可以正常运行.但不建议出现这样的情况.标准库模块:1.sys:import syssys.path:python全局变量的路径,打印此方法…
Python 数字数据类型用于存储数值 数字类型不能修改,如果改变数字数据类型的值,将重新分配内存空间 以下实例在变量赋值时 Number 对象将被创建: var1 = 10 var2 = 20 也可以使用del语句删除一些数字对象的引用 del var1,var2 Python 支持三种不同的数值类型: 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点. Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Lo…
文章目录 1.ID3及C4.5算法基础 1.1 计算香农熵 1.2 按照给定特征划分数据集 1.3 选择最优特征 1.4 多数表决实现 2.基于ID3.C4.5生成算法创建决策树 3.使用决策树进行分类 4.存储决策树 通过决策树原理及相关概念细节我们知道,决策树的学习算法主要包括3个步骤:特征选择.决策树生成算法.决策树剪枝,我们按照这个思路来一一实现相关功能. 本文的实现目前主要涉及特征选择.ID3及C4.5算法.剪枝及CART算法暂未涉及,后期补上. 1.ID3及C4.5算法基础 前面文章…
一.编程语言主要从以下几个角度分类:1.编译型和解释型2.静态语言和动态语言3.强类型定义语言和弱类型定义语言编译型:程序运行前先由负责翻译的程序将代码转换成可执行代码进行执行.例如C/C++.Pascal/Delphi.VB.其优点为运行速度快,对系统要求低,适用于开发操作系统.大型应用程序.数据库系统等.解释型:程序运行时每直行到一条指令就由解释程序将所执行到的代码转换成可执行代码进行执行,如此反复,直至程序直行完毕.例如Java.JavaScript.VBScript.Perl.Pytho…
1.python2 与 python3 区别: 关于这两个版本的区别,从宏观上来讲: python2:源码不标准,混乱(很多技术大佬写的都有自己语言的特点,看起来很不pythoner)由于python社区为python贡献源码的大佬很多,造成重复代码太多: python3:源码统一 ,标准,去处重复代码: python2 与python3区别 1.宏观上来讲,python2源码不标准,比较混乱,重复性代码太多,python3源码统一,去除了大量的重复性代码: 2.python2默认编码方式是AS…
1.  网站本质:通过socket建立连接. 服务端(网站) 1.  先启动并监听:80端口 4.  获取请求信息 请求头 请求体 5.  处理请求 响应内容: 响应头:\r\n\r\n响应体    响应头会被放到浏览器中.  响应体就是收到的html页面. 客户端(浏览器) 2.  建立连接   IP:端口 3.  发送请求: 请求首行 \r\n    get请求数据在uri里面 请求头\r\n\rn 空行 请求体:  如果是get请求,请求体为空,提交的数据只能在uri里面:如果是post请…
1.       http协议   GET请求:数据放在url后面 POST请求:数据放在请求体中 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--<form action="" me…
1,mac自带的python是2.7版本,我们需要按照python3,这样在terminal下可以直接使用,但是编译打包的时候会默认使用python2.7 解决办法:安装virtualenv,一个管理包的虚拟环境. $ [sudo] pip install virtualenv如果遇到错误:IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/virtualenv.py' 解决:sudo chmod +…
参考http://www.runoob.com/python3/python3-data-structure.html 列表 列表是可修改的. 列表方法让列表可以方便的作为一个堆栈来使用,堆栈作为特定的数据结构,最先进入的元素最后一个被释放(后进先出). 其中用append()方法可以把一个元素添加的堆栈顶:可以用不指定索引的pop()方法把一个元素从堆栈顶释放出来,返回最后一个元素. 列表页可以用作队列,只是队列里是第一加入的元素,第一个取出来:拿列表做队列效率不高.在列表的最后添加或弹出元素…
变量作用域 参考http://www.runoob.com/python3/python3-function.html Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的. 变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称.Python的作用域一共有4种,分别是: L (Local) 局部作用域 E (Enclosing) 闭包函数外的函数中 G (Global) 全局作用域 B (Built-in) 内建作用域 以 L –> E –> G…