目录

  • 1 模块一  Python与机器学习概述
    • 1.1 Python与机器学习简介
    • 1.2 发展历程
    • 1.3 基本语法
    • 1.4 帮助
    • 1.5 应用
    • 1.6 示例源代码(食品识别小小专家系统)
    • 1.7 示例代码   蜡笔小新
    • 1.8 小结
    • 1.9 Python基础教程(教&学资料)
      • 1.9.1 安装Python
      • 1.9.2 第一个python程序
      • 1.9.3 Python基础
      • 1.9.4 函数
      • 1.9.5 高级特性
      • 1.9.6 函数式编程
      • 1.9.7 模块
      • 1.9.8 面向对象编程
      • 1.9.9 面向对象高级编程
      • 1.9.10 错误、调试和测试
      • 1.9.11 IO编程
      • 1.9.12 进程和线程
      • 1.9.13 正则表达式
      • 1.9.14 常用内建模块
      • 1.9.15 常用第三方模块
      • 1.9.16 图形界面
      • 1.9.17 网络编程
      • 1.9.18 电子邮件
      • 1.9.19 访问数据库
      • 1.9.20 Web开发
      • 1.9.21 异步IO
      • 1.9.22 使用MicroPython
      • 1.9.23 实战训练(day1~~day10)
        • 1.9.23.1 Day 1 - 搭建开发环境
        • 1.9.23.2 Day 2 - 编写Web App骨架
        • 1.9.23.3 Day 3 - 编写ORM
        • 1.9.23.4 Day 4 - 编写Model
        • 1.9.23.5 Day 5 - 编写Web框架
        • 1.9.23.6 Day 6 - 编写配置文件
        • 1.9.23.7 Day 7 - 编写MVC
        • 1.9.23.8 Day 8 - 构建前端
        • 1.9.23.9 Day 9 - 编写API
        • 1.9.23.10 Day 10 - 用户注册和登录
      • 1.9.24 Day 11 - 编写日志创建页
      • 1.9.25 Day 12 - 编写日志列表页
      • 1.9.26 Day 13 - 提升开发效率
      • 1.9.27 Day 14 - 完成Web App
      • 1.9.28 Day 15 - 部署Web App
      • 1.9.29 Day 16 - 编写移动App
    • 1.10 FAQ
    • 1.11 阶段总结
  • 2 PYthon程序示例
    • 2.1 程序示例(一)初识程序
    • 2.2 程序示例(二)查看今天是今年的第几天
    • 2.3 程序示例(三)if elif else语句
    • 2.4 程序示例(四)元组,列表, 堆栈,队列
    • 2.5 程序示例(五)学玩游戏《学色彩  神魔三龟玩变色》
    • 2.6 程序示例(六)函数
    • 2.7 程序示例(七)字符串
    • 2.8 程序示例(八)文件
    • 2.9 程序示例(九)排序
    • 2.10 程序示例-机器学习中英单词翻译小专家
    • 2.11 程序示例      画花朵  &  画佩奇
    • 2.12 程序示例   华夏时钟
    • 2.13 示例:  显示图片,响声
    • 2.14 播放声音视频文件mp3、wmv、wav、m4a等)
    • 2.15 Python WEB开发技术实战
  • 3 模块2 NumPy数值计算
    • 3.1 ndarray创建与索引
    • 3.2 ndarray的基础操作
    • 3.3 ufunc
    • 3.4 小结
    • 3.5 习题与实训
  • 4 模块3   pandas基础
    • 4.1 pandas常用类
    • 4.2 DataFrame基础操作
    • 4.3 其他数据类型操作
    • 4.4 小结
    • 4.5 习题与实训
    • 4.6 练习题
  • 5 模块4 pandas进阶
    • 5.1 数据读取与写出
    • 5.2 DataFrame进阶
    • 5.3 数据准备
    • 5.4 小结
    • 5.5 习题与实训
    • 5.6 练习习题及解答(参考)
  • 6 模块5 Matplotlib基础绘图
    • 6.1 Matplotlib绘图基础
    • 6.2 分析特征关系常用图形
    • 6.3 分析特征内部数据状态常用图形
    • 6.4 小结
    • 6.5 习题与实训
  • 7 模块6 机器学习库 scikit-learn
    • 7.1 数据准备
    • 7.2 降维
    • 7.3 分类
    • 7.4 回归
    • 7.5 聚类
    • 7.6 模型选择
    • 7.7 小结
    • 7.8 习题与实训
  • 8 模块7 餐饮企业综合分析
    • 8.1 (案例)餐饮企业分析需求
    • 8.2 数据准备
    • 8.3 使用K-means算法进行客户价值分析
    • 8.4 使用决策树算法实现餐饮客户流失预测
    • 8.5 小结
    • 8.6 习题与实训
  • 9 模块8  通信运营商客户流失分析与预测
    • 9.1 通信运营商客户流失分析需求
    • 9.2 数据准备
    • 9.3 特征工程
    • 9.4 使用多层感知器算法实现通信运营商 客户流失预测
    • 9.5 小结
    • 9.6 习题与实训
  • 10 学习参考资源
    • 10.1 机器学习的通俗讲解
    • 10.2 十大机器学习算法及其应用
    • 10.3 常用机器学习算法优缺点及其应用领域
    • 10.4 轻松学会 Python turtle 绘图
    • 10.5 Python 习题库
      • 10.5.1 习题1
    • 10.6 上机操作实训库
    • 10.7 面试准备题
    • 10.8 Python 程序扩展名 及发布程序时的选择
    • 10.9 计算机Python考试大纲
    • 10.10 Python  基础知识点梳理
    • 10.11 Python常用模块大全
    • 10.12 机器学习基本术语
    • 10.13 几个机器学习的成功案例
    • 10.14 60个机器学习算法应用场景实例
  • 11 章节测验(必测)
    • 11.1 测验一
    • 11.2 测验二
    • 11.3 测验三
    • 11.4 测验四
    • 11.5 测验五
    • 11.6 测验六
    • 11.7 测验七
    • 11.8 测验八
    • 11.9 测验九
    • 11.10 测验十
    • 11.11 编程专项测验
    • 11.12 填空题专项测验
    • 11.13 判断题专项测试
    • 11.14 简答题专项测试
    • 11.15 《机器学习技术》总复习
    • 11.16 书本--习题参考解答
  • 12 综合实训项目及展示
    • 12.1 项目(一)作品展示(1)
    • 12.2 项目(一)作品展示(2)
    • 12.3 团队项目实训(必作!)
程序示例(四)元组,列表, 堆栈,队列

#pyg401.py   元组及应用

tuple = ("apple")         # 定义元组

print(tuple[0])           # 打印第一个元素

print (type(tuple))        # 打印定义的tuple的类型


tuple = ("apple",)        # 定义元组,注意后面的逗号不可少

print (tuple[0])          # 打印第一个元素

print (type(tuple))      # 打印定义的tuple的类型


tuple = ("apple", "banana", "grape", "orange")     # 定义元组

print (tuple[-1])

print (tuple[-2])

tuple2 = tuple[1:3]            # 分片,第二个元素到第三个元素(不包括第四个)

tuple3 = tuple[0:-2]          # 分片,从第一个元素到倒数第二个元素(不包括倒数第二个)

tuple4 = tuple[2:-2]          # 分片,从第三个元素到倒第二个元素(不包括倒数第二个)

print (tuple2)

print (tuple3)

print (tuple4)


fruit1 = ("apple", "banana")

fruit2 = ("grape", "orange")

tuple = (fruit1, fruit2)

print (tuple)

print ("tuple[0][1] =", tuple[0][1])

print ("tuple[1][1] =", tuple[1][1])


#打包

tuple = ("apple", "banana", "grape", "orange")

#解包

a, b, c, d = tuple

print (a, b, c, d)


tuple = (("apple", "banana"),("grape", "orange"),("watermelon",),("grapefruit",))

for i in range(len(tuple)):

    print ("tuple[%d] :" % i, "" ,)

    for j in range(len(tuple[i])):

        print (tuple[i][j], "" ,)

    print()


#pyg4002.py    列表及应用

list = ["apple", "banana", "grape", "orange"]     # 定义列表

print (list)

print (list[2])

list.append("watermelon")                # 列表末尾添加元素

list.insert(1, "grapefruit")                 # 列表中插入元素

print (list)

list.remove("grape")                     # 列表中移除grape

print (list)

list.remove("a")           # 列表中移除a,因为当前列表中并没有a,所以将抛错

print (list.pop())                        # 打印从列表中弹出的元素,即最后一个元素

print (list)


list = ["apple", "banana", "grape", "orange"]

print (list[-2])

print (list[1:3])

print (list[-3:-1])

list = [["apple", "banana"],["grape", "orange"],["watermelon"],["grapefruit"]]

for i in range(len(list)):             # 遍历列表

    print ("list[%d] :" % i, "" ,)

    for j in range(len(list[i])):

        print (list[i][j], "" ,)

    print()


list1 = ["apple", "banana"]

list2 = ["grape", "orange"]

list1.extend(list2)           # list1连接list2

print (list1)

list3 = ["watermelon"]

list1 = list1 + list3          # 将list1与list3连接后赋给list1

print (list1)

list1 += ["grapefruit"]       # 使用+=给list1连接上[“grapefruit”]

print (list1)

list1 = ["apple", "banana"] * 2

print (list1)


list = ["apple", "banana", "grape", "orange"]

print (list.index("grape"))        # 打印grape的索引

print (list.index("orange"))       # 打印orange的索引

print ("orange" in list)           # 判断orange是否在列表中


list = ["banana", "apple", "orange", "grape"]

list.sort()                              # 排序

print ("Sorted list:", list)

list.reverse()                          # 反转

print ("Reversed list:", list)


# 堆栈的实现

list = ["apple", "grape", "grape"]

list.append("orange")              # 将orange压入堆栈

print (list)

print ("弹出的元素:", list.pop())    # 从堆栈中弹出最后压入的元素

print (list)


#队列的实现

list = ["apple", "grape", "grape"]

list.append("orange")                  # 队尾加入orange

print (list)

print ("弹出的元素:", list.pop(0))       # 弹出第一个元素

print (list)


#PYG4003.py    字典

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}

print (dict)

print (dict["a"])         # 打印键a对应的值


dict = {1 : "apple", 2 : "banana", 3 : "grape", 4 : "orange"}

print (dict)

print (dict[2])


#字典的添加、删除、修改操作

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}

dict["w"] = "watermelon"

del(dict["a"])                    # 删除字典中键为a 的元素

dict["g"] = "grapefruit"            # 修改字典中键为g的值

print (dict.pop("b"))              # 弹出字典中键为b的元素

print (dict)

dict.clear()                     # 清除字典中所有元素

print (dict)


#字典的遍历

dict = {"a" : "apple", "b" : "banana", "g" : "grape", "o" : "orange"}

for k in dict:

    print ("dict[%s] =" % k,dict[k])


#字典items()的使用

dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} 

print (dict.items())


#使用列表、字典作为字典的值

dict = {"a" : ("apple",), "bo" : {"b" : "banana", "o" : "orange"}, "g" : ["grape","grapefruit"]}

print (dict["a"])

print (dict["a"][0])

print (dict["bo"])

print (dict["bo"]["o"])

print (dict["g"])

print (dict["g"][1])


dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} 

#输出key的列表

print (dict.keys())

#输出value的列表

print (dict.values())


#get()的等价语句

D = {"key1" : "value1", "key2" : "value2"}

if "key1" in D:

    print (D["key1"])

else:

    print ("None")


#字典中元素的获取方法

dict = {"a" : "apple", "b" : "banana", "c" : "grape", "d" : "orange"} 

print (dict)

print (dict.get("c", "apple"))          # 使用get获取键为c的值,若不存在返回默认值apple

print (dict.get("e", "apple"))          # 使用get获取键为e的值,若不存在返回默认值apple


#udpate()的等价语句

D = {"key1" : "value1", "key2" : "value2"}

E = {"key3" : "value3", "key4" : "value4"}

for k in E:

    D[k] = E[k]

print (D)


#字典E中含有字典D中的key

D = {"key1" : "value1", "key2" : "value2"}

E = {"key2" : "value3", "key4" : "value4"}

for k in E:

    D[k] = E[k]

print (D)


#字典的更新

dict = {"a" : "apple", "b" : "banana"}

print (dict)

dict2 = {"c" : "grape", "d" : "orange"}

dict.update(dict2)                # 使用update方法更新dict

print (dict)


# 设置默认值

dict = {}

dict.setdefault("a")

print (dict)

dict["a"] = "apple"

dict.setdefault("a", "None")

print (dict)


#调用sorted()排序

dict = {"a" : "apple", "b" : "grape", "c" : "orange", "d" : "banana"} 

print (dict)   

#按照key排序  

print (sorted(dict.items(), key=lambda d: d[0]))

#按照value排序  

print (sorted(dict.items(), key=lambda d: d[1]))


#字典的浅拷贝

dict = {"a" : "apple", "b" : "grape"} 

dict2 = {"c" : "orange", "d" : "banana"} 

dict2 = dict.copy()           # 拷贝dict并赋给dict2

print (dict2)


#字典的深拷贝

import copy

dict = {"a" : "apple", "b" : {"g" : "grape","o" : "orange"}} 

dict2 = copy.deepcopy(dict)         # 深拷贝

dict3 = copy.copy(dict)              # 浅拷贝

dict2["b"]["g"] = "orange"

print (dict)

dict3["b"]["g"] = "orange"

print (dict)


#索引操作

tuple = ("apple", "banana", "grape", "orange")

list = ["apple", "banana", "grape", "orange"]

str = "apple"

print (tuple[0])

print (tuple[-1])

print (list[0])

print (list[-1])

print (str[0])

print (str[-1])


#分片操作

tuple = ("apple", "banana", "grape", "orange")

list = ["apple", "banana", "grape", "orange"]

str = "apple"

print (tuple[:3])

print (tuple[3:])

print (tuple[1:-1])

print (tuple[:])

print (list[:3])

print (list[3:])

print (list[1:-1])

print (list[:])

print (str[:3])

print (str[3:])

print (str[1:-1])

print (str[:])


# pyg405.py   每日一帖

import datetime                         # 导入日期时间类

# 定义一个列表

mot = ["坚持下去不是因为我很坚强,而是因为我别无选择",

       "含泪播种的人一定能笑着收获",

       "做对的事情比把事情做对重要",

       "命运给予我们的不是失望之酒,而是机会之杯",

       "明日永远新鲜如初,纤尘不染",

       "求知若饥,虚心若愚",

       "成功将属于那些从不说“不可能”的人"]

week = ["一","二","三","四","五","六","日"]

day=datetime.datetime.now().weekday()      # 获取当前星期

print("每日一帖")

print("今天是星期",week[day],mot[day])    # 输出今天的每日一帖

print(' ')

print("===============每日一帖=================")

day=0

i=0

while  day+i<=6:

     print("星期",week[day+i],mot[day+i])       # 输出每日一帖

     i+=1