# -*- coding: encoding -*-
Python简单易学且功能强大的编程语言。
它拥有高效的高级数据结构,并且能够用简单而又高效的方式进行面向对象编程。
Python是解释型语言,意思就是可以边写边算。
在人工智能与机器学习领域应用广泛。
Python 程序代码通常比C/C++/Java程序更短小紧凑:
高级数据结构使你可以在一条语句中表达复杂的操作;
语句组使用缩进代替开始和结束大括号来组织;
变量或参数无需显式声明。
注释块与单行注释
“””
This is a comment.
This is the second line.
“””
3+4
3*4
3/4
5
2
5,
help(str)
'thisStringIsAwesome'
2
# String to uppercase
'is'
# Subset
my_list + my_list
my_list * 2
# Get the index of an item
import numpy
from math
原子:一般不可再分,是其他自定义类型的基础
两大内建数值数据类型:int,float。
数值的标准运算符包括:+,-,,*(幂),%(取模),//(整除),以及改变运算优先级的括号。
C/C++是需要先声明数据的数据类型才能使用的,Python可以直接用,即类型具有动态性。
100+
布尔数据类型bool,可能的状态是True,False,运算符包括and, or, not
True)
数值和布尔值都可以用于关系运算(>=,==,!=)做比较。
5==
数据可以有个标识作为名字,名字最好是字符、数字和下划线组成的,有含义,可读。
0
给变量赋值:
20
赋值可以改变数据类型
True
数据打印输出:
'width={0}, height={1}, their product is {2}'.format(width, height,width*height))
数据容器。列表、字符串、元组是有序集合,集和字典是无序集合。
1,
[ ]: 索引,取列表中元素
+:序列连接
*:重复连接
in:询问成员是否存在
len:序列长度
[:]:取出序列的一部分
0])
增、删、排序、查找
9)
1,
3:]
squares[:]
36,
1,
3] =
216)
'a',
2:
letters[:] = []
letters
'a',
1]
10))
66.25,
3,
squares = []
for x in range(10):
squares.append(x**2)
squares
2
4, -
1,
字符串(string)是字符的只读有序集合
"Shanghai is a city"
'a'))
'a '
'p' ,
'Python'
len(word)
4]
元组(tuple)是只读列表。
1,
最外层元组的括号不是必须的
12345,
集(set)是无序只读数据集合。
大括号或 set() 函数可以用来创建集合。注意:想要创建空集合,你必须使用 set() 而不是 {}。后者用于创建空字典,我们在下一节中介绍的一种数据结构。
'apple',
in:询问集中是否有某元素
len:元素数量
a | b:合集
a & b:交集
a - b:a中去除b中元素
a <= b:询问a中元素是否都在b中
'orange'
1,
union
intersection
difference
issubset
add
remove
pop
clear
print(a.union(b))
print(a.intersection(b))
print(a.issubset(b))
a.add(9)
print(a)
a.remove(9)
print(a)
a.pop()
print(a)
a.clear()
print(a)
字典是键值(key:value)对的无序集合。
键必须是互不相同的(在同一个字典之内)。
一对大括号创建一个空的字典:{} 。
字典的主要操作是依据键来存储和析取值。也可以用 del 来删除键值对(key:value)。
"name":
d[key]
key in d
del d[key]
'jack':
d.keys()
d.values()
d.get(key)
d.get(key, alt)
print(d.keys())
print(d.values())
print(d.get("age1",0))
print(d.get("gender","M"))
对一个字典执行 list(d.keys()) 将返回一个字典中所有关键字组成的无序列表(如果你想要排序,只需使用 sorted(d.keys()) )。
使用 in 关键字(指Python语法)可以检查字典中是否存在某个关键字(指字典)
print(list(tel.keys()))
sorted(tel.keys())
print('guido' in tel)
print('jack' not in tel)
2
for x
"Please enter an integer: "))
用于那些语法上必须要有什么语句,但程序什么也不做的场合
class
'cat',
1
生成 菲波那契 子序列的程序,如下所示:
0,
5))
5)))
for i
for i
for i
for i
循环的 else 子句在未出现 break 时运行。
for n
for num
slist = []
for i in range(10):
slist.append(i**2)
print(slist)
slist = [i**2 for i in range(10)]
print(slist)
slist = [i**2 for i in range(10) if i%2==0]
print(slist)
在序列中循环时,索引位置和对应值可以使用 enumerate() 函数同时得到
'Mary',
'Mary',
'name',
假设有两个列表,一个列表内容为学生姓名,另一个内容为学生分数。使用zip函数,将这两个列表转换为一个字典
"Peter",
'gallahad':
需要逆向循环序列的话,先正向定位序列,然后调用 reversed() 函数:
for i
要按排序后的顺序循环序列的话,使用 sorted() 函数,它不改动原序列,而是生成一个新的已排序的序列:
'apple',
若要在循环内部修改正在遍历的序列(例如复制某些元素),建议您首先制作副本。在序列上循环不会隐式地创建副本。切片表示法使这尤其方便:
'cat',
函数是程序设计模块,是实现软件复用的基础。
def mul(n):
def fib(n):
f = fib
f(1000)
def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
'Do you really want to quit?')
def parrot(voltage, state='a stiff', action='voom', type='Norwegian Blue'):
def concat(*args, sep="/"):
"earth",
“*” 操作符来自动把参数列表拆开
“**” 操作符分拆关键字参数为字典
3,
def parrot(voltage, state='a stiff', action='voom'):
def f(x):
1,
lambda x: x**
def my_function():
Python 中(至少)有两种错误:语法错误和异常( syntax errors 和 exceptions )。
异常处理是容错的方法。通过try,except,raise等配合处理。
import math
while
类是一种自定义的数据结构。
class
"Your age:")
for x
'We are the {} who say "{}!"'.format(
函数 open() 返回 文件对象,通常的用法需要两个参数:open(filename, mode)。
f = open(‘workfile’, ‘w’)
f.read()
f.readline()
for line in f:
print(line, end='')
f.write(string)
f.close()
bool: (True,False)
int: 整数
float: 浮点数
complex: 复数
bin() 转换成二进制
otc() 转换成八进制
hex() 转换成十六进制
abs() 绝对值
divmode() 商和余数
round() 四舍五入
pow(a, b) 求a的b次幂
sum() 求和
min() 求最小值
max() 求最大值
list() 将一个可迭代对象转换成列表
tuple() 将一个可迭代对象转换成元组
reversed() 将一个序列翻转, 返回翻转序列的迭代器
slice() 列表的切片
str() 将数据转化成字符串
bytes() 把字符串转化成bytes类型
ord() 输入字符找带字符编码的位置
chr() 输入位置数字找出对应的字符
ascii() 是ascii码中的返回该值
repr() 返回一个对象的string形式
dict 创建一个字典
set 创建一个集合
frozenset() 创建一个冻结的集合,不能进行添加和删除操作。
len() 返回一个对象中的元素的个数
sorted() 对可迭代对象进行排序操作 (lamda)
enumerate() 获取集合的枚举对象
all() 可迭代对象中全部是True, 结果才是True
any() 可迭代对象中有一个是True, 结果就是True
zip() 打包序列成一个元组列表
fiter() 过滤 (lamda)
map() 根据提供的函数对指定序列列做映射
locals() 返回当前作用域中的名字
globals() 返回全局作用域中的名字
range()
next(): 向下执行一次, 内部实际使? next()
iter(): 获取迭代器, 内部实际使用 iter()
eval() 执行字符串代码,并返回结果
exec() 执行字符串代码
compile() 将字符串代码编码,代码对象能够通过exec语句来执行或者eval()进行求值
'8+10'
print() : 打印输出
input() : 获取用户输出的内容
hash() : 获取到对象的哈希值(int, str, bool, tuple)
open() : 用于打开一个文件, 创建一个文件句柄
'123'
import os
print)
'a'
print(dir(str))
基本数据类型:int, str, float, complex
容器数据类型:list, dict, tuple
分支与迭代结构:if, for, while
定义函数与类:def, class
常用函数:print,open/close
定量分析方法第01讲:课程概况
优化问题、模型与算法
旅行商问题(Traveling Salesman Problem)求解算法
[公开课] 物流系统优化与决策: 旅行商问题
[公开课] 物流系统优化与决策: 旅行商问题
[公开课] 物流系统优化与决策: 无容量约束仓库选址
[公开课] 物流系统优化与决策: 容量约束仓库选址
[公开课] 物流系统优化与决策: 无容量约束p-median选址
[公开课] 物流系统优化与决策: 容量约束p-median选址
[公开课] 物流系统优化与决策: 多源Weber选址
[公开课] 物流系统优化与决策: p-hub选址
机器学习
机器学习: 鸢尾花数据集
机器学习: Scikit-learn Getting Started
机器学习: An introduction to machine learning with scikit-learn
机器学习: 手写数字识别
机器学习: 人脸补全
Python普通最小二乘法
[公开课]机器学习(01-04): 四个例子
[公开课]机器学习(05-06): 分类结果的评价
[公开课]机器学习(07): 从Scikit-learn看机器学习
[公开课]机器学习(08): 机器学习概念解读
[公开课]机器学习(09):统计学习及监督学习概论
[公开课]机器学习(10): 感知机
[公开课]机器学习(11):k近邻法
[公开课]机器学习(12):朴素贝叶斯法
[公开课]机器学习(13):朴素贝叶斯法重述、第10-12讲的Python算法
[公开课]机器学习(14):梯度下降法
[公开课]机器学习(15):拉格朗日对偶
[公开课]机器学习(16):决策树
[公开课]机器学习(17): 逻辑斯特回归
[公开课]机器学习(18): 最大熵模型
[公开课]机器学习(19): 线性可分支持向量机
[公开课]机器学习(20): 线性支持向量机
[公开课]机器学习(21): 非线性支持向量机
[公开课]机器学习(22): 支持向量机实验
[公开课]机器学习(23): 提升方法Adaboost
[公开课]机器学习(24): 隐马尔科夫模型
[公开课]机器学习(25): 聚类方法
[公开课]机器学习(26): 主成分分析
[公开课]机器学习(27): 神经网络
[公开课]机器学习(28): 集成学习
机器学习28讲视频合集
[公开课]机器学习28讲视频合集01-10
[公开课]机器学习28讲视频合集11-20
[公开课]机器学习28讲视频合集21-28
ALNS自适应大规模邻域搜索
ALNS自适应大规模邻域搜索: 套裁问题
ALNS自适应大规模邻域搜索: 旅行商问题
SCIP数学规划
SCIP数学规划求解器: PySCIPOpt
SCIP: 奇数还是偶数
SCIP: 逻辑约束
SCIP: 四个ATSP模型
SCIP: 1D装箱问题的算法与模型
SCIP: 多商品经济批量订货模型(MEOQ)线性化
SCIP: 选址问题(k-median)
SCIP: 容量约束下多分配选址问题
SCIP: 图着色问题(限定色数)
SCIP: 批量(lot-sizing)优化问题与割平面
SCIP: 最大稳定集问题
SCIP: permutation flow shop
SCIP: 多商品经济批量订货模型(MEOQ)线性化
SCIP: 资源约束调度问题RCSP
SCIP: 鲁棒生产模型(SOCP)
SCIP 05: 整数规划例子
SCIP: 图着色的三个模型
SCIP: Weber问题的二阶锥模型
SCIP: 设施选址问题的分解模型
SCIP: 数独(sudoku)整数规划模型
SCIP: 割平面求解TSP的算法
Python进化计算
Python进化计算Geatpy要点
单目标单连续变量函数二进制编码进化算法
单目标多连续变量带约束实数编码进化算法
带约束的单目标旅行商问题进化算法
句子匹配单目标进化算法
混合编码单目标进化算法
离散变量双目标进化算法
连续变量双目标进化算法
多目标背包进化算法
混合编码多目标背包进化算法
Python优化
Python无约束非线性优化
Python差分进化算法
Python线性规划
Python 数学规划
Python数学规划案例:单分配多枢纽站选址
Python数学规划案例:单源设施选址
Python数学规划案例:路径优化CVRP
Python数学规划案例:一维装箱
Python数学规划案例四:资源约束的最短路径
Python数学规划案例三:最短路径
Python数学规划案例二
Python数学规划之Cplex之旅
Python数学规划案例一
Python数学规划案例一模型
Python: 数学规划
数学规划算法十二讲
单纯型算法第1-4讲
单纯型算法第1-4讲视频
单纯型算法第5-8讲
单纯型算法第9-10讲
单纯型算法第11-12讲
Python数据结构
Python数据结构
Python图
Python二叉树
Python排序
Python查找算法
Python递归
Python链表
Python栈
Python图(csgraph)
Python数据
Python: 数据库之SQLite
Python: Pandas
Python数据库
Numpy快速入门
Pandas入门
Python Web
几分钟做个Web应用
Python信息系统实验:仓库管理
Python基础
Python基础:没有更简单
Python利器
Python快速入门
Python 入门
程序设计
如何学习程序设计