目录

  • 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 团队项目实训(必作!)
Python  基础知识点梳理

Python 基础知识点梳理

摘要:主要介绍一些平时经常会用到的python基础知识点,用于加深印象,也算是对于学习这门语言的一个总结与回顾。

python的详细语法介绍可以查看官方编程手册,也有一些在线网站对python语法进行了比较全面的介绍。

为了方便聚焦知识点,本文涉及的操作实例并不多,想学好一门语言关键还得自己多编码多实践。

python语言介绍    python是一门解释型语言,python的设计目标:

一门简单直观的语言并与主要竞争者一样强大

开源,以便任何人都可以为它做贡献

代码像纯英语那样容易理解

适用于短期开发的日常任务

设计哲学是:

优雅、明确、简单


python基础语法

标识符

第一个字符必须是字母表中字母或下划线 。

标识符的其他的部分由字母、数字和下划线组成。

标识符对大小写敏感。


注释      类型 语法

单行注释 以 # 开头,编程规范建议 # 后面跟一个空格

多行注释 用一对连续的三个引号,单引号或者双引号均可("""/’’’)


行与缩进

python与其他语言明显的区别是没有大括号,而是用缩进表示代码块。

另外,每行语句不需要以分号结束。

多行语句

如果语句很长,可以使用反斜杠(\)来实现多行语句

说明:在 [], {}, 或 () 中的多行语句不需要使用反斜杠


算术运算符

运算符 描述 实例

+ 两个对象相加 10 + 9 = 19

- 两个对象相减 10 - 9 = 1

* 两个数相乘法,用于字符串时可以重复多次 10 * 9 = 90

/ x除以y 10 / 2 = 5

// 取整除 10 // 9 = 1

% 取余数 10 % 8 = 2

** 返回x的y次幂 10 ** 2= 100

判断语法

if else语句

if 和 else用于对条件进行判断并进行处理,语法如下:


if 要判断的条件:

条件成立时要做的事情

...

else:

条件不成立时要做的事情


逻辑运算符

对于同时判断多个条件的情况可以用逻辑运算符,有如下三种:


符号 说明 语法

and 与,两个都成立才返回True 条件1 and 条件2

or 或,两个只要有一个满足就返回True 条件1 or 条件2

not 非,对条件取反 not 条件

elif 语句

elif语句用于有多个条件进行判断的场景,语法如下:


if 条件1:

条件1满足时执行的代码

elif 条件2:

条件2满足时执行的代码

elif 条件3:

条件3满足时执行的代码

else:

以上都不满足时执行的代码


循环语法

循环的作用就是让指定的代码重复执行

while循环

while循环是python中常见的循环,用于让执行的代码按照指定次数重复执行,语法如下:

初始条件设置,通常是计数器

while 条件(判断计数器是否达到目标次数):

条件满足时候执行的代码

...

处理条件(计数器 + 1)


for循环

for循环可以方便地遍历列表,元组,字典等数据类型,比如遍历一个列表的代码片段如下:

nameList = ["zhangsan", "lisi", "wangwu"]

for name in nameList:

print(name)


python中,for循环经常与range函数搭配使用,如下:

for i in range(1, 10):

print(i)


python数据类型介绍

按照是否是数字可以按照如下表格分类:

数字类型 非数字类型

整型(int)/ 浮点型(float)/ 布尔型(bool)/ 复数型(complex) 字符串(str)/ 列表(list)/ 元组(tuple) / 字典(dict)

说明:使用type函数可以返回变量的数据类型


按照是否可变可以分为:


不可变类型 可变类型

整型(int)/ 浮点型(float)/ 布尔型(bool)/ 复数型(complex)/ 字符串(str)/ 元组(tuple) 列表(list)/ 字典(dict)

列表

列表(list)是python中使用最频繁的数据类型,类似其他语言的数组

列表的符号是中括号[],初始化一个列表语法如下:


program_list = ["c++", "java", "python", "php"]

1

列表中常见的几种操作如下:


序号 分类 方法 说明 实例

01 查询 list.index(obj) 从列表中找出某个值第一个匹配项的索引位置 program_list.index(“java”))

02 增加 list.insert(index, obj) 在列表中指定位置插入数据 program_list.insert(1, “kotlin”)

03 增加 list.append(obj) 在列表末尾追加数据 program_list.append(“C#”)

04 增加 list.extend(list1) 在列表1的数据追加到列表中 program_list.extend([“C#”, “kotlin”, “bash”])

05 增加 list.extend(list1) 在列表1的数据追加到列表中 program_list.extend([“C#”, “kotlin”, “bash”])

06 修改 list[index] = obj 修改指定索引的数据 program_list[2] = “Go”

07 删除 list.clear() 清空列表 program_list.clear()

08 删除 list.remove(obj) 删除第一个出现的指定数据 program_list.remove(“java”)

09 删除 list.pop() 删除末尾的数据 program_list.pop()

10 删除 list.pop(index) 删除指定索引的数据 program_list.pop(1)

11 统计 len(list) 计算列表长度 len(program_list)

12 统计 list.count(obj) 统计数据在列表中出现的次数 program_list.count(“java”)

13 排序 list.sort() 将列表升序排列 program_list.sort()

14 排序 list.sort(reverse=True) 将列表降序排列 program_list.sort(reverse = True)

15 翻转 list.reverse() 将列表翻转 program_list.reverse()

元组

元组(tuple)与列表类似,区别是元组的数据不能修改,元组的符号是小括号(),初始化一个元组的语法如下:


program_tuple = ("c++", "java", "python", "php")

1

元组主要用于函数的参数和返回值,格式化字符串,以及保护列表数据,由于元组的数据无法修改,因此提供的方法也比较少:


序号 分类 方法 说明 实例

01 查询 tuple.index(obj) 从元组中找出某个值第一个匹配项的索引位置 program_tuple.index(“java”)

02 统计 len(tuple) 计算元组长度 len(program_tuple)

03 统计 tuple.count(obj) 统计数据在列表中出现的次数 program_tuple.count(“python”)

元组在python中还可以用于交换两个变量的值:

a = 10

b = 9

a, b = (b, a)


字典

字典(dict)通常用于描述一个物体的相关信息,使用键值对存储数据,键必须唯一,由于要使用hash算法,只有不可变类型才能用作键,字典的符号是大括号{},初始化一个字典的语法如下:

human_dic = {"name": "zhangsan",

"age": 26,

"height": 1.75,

"weight": 66}

字典的常用操作函数如下:

序号 分类 方法 说明 实例

01 取值 dict[key] 从字典中取出键对应的值 human_dic[“name”]

02 取值 dict.get(key) 从字典中取出键对应的值 human_dic.get(“name”)

03 取值 dict.items() 以列表返回可遍历的(键, 值) 元组数组 list(human_dic.items())

04 取值 dict.keys() 以列表返回一个字典所有的键 list(human_dic.keys())

05 取值 dict.values() 以列表返回字典中的所有值 list(human_dic.values())

06 增加/修改 dict[key] = value key存在则更新value,否则增加键值对 human_dic[“gender”] = “male”

07 删除 dict.pop(key) pop函数返回key对应的value值,并删除键值对 human_dic.pop(“gender”)

08 删除 dict.popitem() 返回并删除字典中的最后一对键和值 human_dic.popitem()

09 合并 dict.update(dic2) 合并字典dic2中的数据,已存在的key跟新value的值 human_dic.update({“weight”: 64, “age”: 27})

10 复制 dict.copy() 返回字典的浅复制 new_dic = human_dic.copy()

11 清空 dict.clear() 清空字典 human_dic.clear()


字符串

字符串(str)的使用也非常广泛,可以使用引号('或")来创建字符串,初始化一个字符串的语法如下:

testStr = "Wasting time is robbing oneself"

python对于str提供了很多实用的方法,比较常用的有以下这些:

对字符串进行判断的方法:

序号 方法 说明

01 str.isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False

02 str.isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False

03 str.isdecimal() 如果 string 只包含数字则返回True,否则返回False

04 str.istitle() 如果 string 是标题化的(每个单词的首字母大写)则返回True

05 str.isupper() 如果 string 所有区分大小写的字符都是大写,则返回True

06 str.islower() 如果 string 所有区分大小写的字符都是小写,则返回True

07 str.isspace() 如果 string 中只包含空格,则返回 True,否则返回 False


对字符串进行修改(包括格式化,大小写转换):

序号 分类 方法 说明

01 格式化 str.format() 格式化字符串

02 格式化 str.strip() 去掉字符串左右两边的空白字符

03 格式化 str.lstrip() 去掉字符串左边的空白字符

04 格式化 str.rstrip() 去掉字符串右边的空白字符

05 文本对齐 str.ljust(width) 返回一个原字符串左对齐,并使用空格填充宽度至长度width的新字符串

06 文本对齐 str.rjust(width) 返回一个原字符串右对齐,并使用空格填充宽度至长度width的新字符串

07 文本对齐 str.center(width) 返回一个原字符居中对齐,并使用空格填充宽度至长度width的新字符串

08 大小写 str.title() 把字符串的每个单词首字母大写

09 大小写 str.lower() 把字符串的所有大写字符转换成小写

10 大小写 str.upper() 把字符串的所有小写字符转换成大写

11 大小写 str.swapcase() 翻转字符串的大小写


字符串的查找和替换:

序号 方法 说明

01 str.count(str1, beg=0, end=len(string)) 返回 str1 在字符串中出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

02 str.startswith(obj, beg=0,end=len(string)) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

03 str.endswith(obj, beg=0, end=len(string)) 检查字符串是否以 obj 结束,是则返回 True,否则返回 False。如果beg 或者 end 指定值,则在指定范围内检查

04 str.find(str1, beg=0, end=len(string)) 检测 str1是否包含在字符串中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内。如果是则返回开始的索引值,否则返回-1

05 str.rfind(str1, beg=0,end=len(string) ) 类似于find函数,不过是从右边开始查找

06 str.index(str1, beg=0, end=len(string)) 跟find()方法一样,只不过如果str1不在 字符串中会报一个异常.

07 str.rindex(str1, beg=0, end=len(string)) 类似于index函数,不过是从右边开始

08 str.replace(str1, str2, num=string.count(str1)) 把 字符串中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.



字符串的拆分和连接:

序号 方法 说明

01 str.split(str1="", num=str.count(str1)) 以 str1 为分隔符切片字符串,如果 num 有指定值,则仅分隔 num+1 个子字符串

02 str.splitlines([keepends]) 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

03 str.join(seq) 以 字符串作为分隔符,将 列表seq 中所有的元素(用字符串表示)合并为一个新的字符串

公共方法

内置函数

对于列表,元组,字典,字符串,python也提供了一些公共方法,如下:

 

函数           描述                    说明

len(item) 计算元素的总个数

del(item) 删除变量 可以删除整个变量,加上索引可以只删除指定的元素

max(item) 返回元素的最大值 字典只针对key比较

min(item) 返回元素的最小值 字典只针对key比较


运算符

高级数据类型同样支持以下常见的运算符:


序号 运算符 描述 支持的数据类型

01 + 合并 列表,元组,字符串

02 * 重复 列表,元组,字符串

03 in 元素是否存在 列表,元组,字典,字符串

04 not in 元素是否不存在 列表,元组,字典,字符串

05 > < >= <= == 比较 列表,元组,字符串



切片

切片使用索引值可以方便地截取容器中一定范围的数据,适用于列表,元组,字符串。

切片语法如下:

item[N:M:S]

其中N表示要截取的开始位置,M表示结束位置,S表示step也就是步长,默认是1,截取的时候[N:M]是个半闭合区间,

等效于数学上[N,M)取值范围,取N不取M, N和M都可以省略。

python中,-1可以表示最后一个元素,字符串利用切片完成翻转的代码如下:

>>> test_str = "Hello World"

>>> print(test_str[::-1])


python函数语法

在python中定义一个函数需要使用def关键字,相比其他语言,返回值不需要声明,定义一个函数的语法如下:


def print_hello():

print("Hello, World!")


缺省参数

除了常见的必须参数外,python支持缺省参数,即为参数指定一个默认值,可以不传入这个参数,代码例子如下:

def print_human(name, age = 23):

print("body info: name is %s, age is %s" % (name, age) )

print_human("wangwu")

print_human("lisi", 25)

print_human("zhangsan", age = 36)


多值参数

如果函数处理的参数的个数不确定,就可以用多值参数:

参数名前面增加一个*可以接收元组

参数名前面增加两个*可以接收字典

使用了这两个多值参数的代码例子如下:


def print_info(*args, **kwargs):

print(args)

print(kwargs)

program_list = ["c++", "java", "python", "php"]

human_dic = {"name": "zhangsan", "age": 26, "height": 1.75, "weight": 66}

print_info(*program_list, **human_dic)



返回多个值

python中可以利用元组返回多个值,多个返回值的代码如下:


def measure_rect():

width = 12

height = 6

return width, height


w, h = measure_rect()

print("width is %d, height is %d" % (w, h))


python常用函数

print   输出函数

python使用print函数将信息输出到控制台,输出数据时经常会用到格式化操作符,不同的格式化字符串含义如下表:

格式化字符 含义

%s 字符串

%d 有符号十进制整数(%07d 表示显示7位整数,不足就用0补全)

%f 浮点数(%.02f 表示小数点后显示两位)

%% 输出%

语法格式如下:


print("格式化字符串" % 变量1)

print("格式化字符串" % (变量1, 变量2...))


print函数默认会自动在内容末尾增加换行,如果不希望换行,可以用end参数指定需要输出的内容

语法格式如下:

print("Hello word!", end="")

input输入函数

使用input函数从键盘等待用户的输入,默认都是一个字符串

语法格式如下:

字符串变量 = input("提示信息:")


类型转换函数

常见的类型转换函数如下:

函数 说明

int(x) 将x转换为一个整数

float(x) 将x转换为一个浮点数

str(list) 将列表转换为字符串

tuple(list) 将列表转换为元组

list(tuple) 将元组转换为列表


关于python的基础知识学习,网上有很多资料,今天我就把我收藏的整理一下分享给大家!

下面是基础学习时的一点记录:

python基础知识总结

一、python的优缺点 优点: 优美、清晰、简单 高级语言 开发效率高 可移植性、可拓展性、可嵌入性 缺点: 运行速度慢 代码不能加密 线程不能利用多CPU

二、python2与python3的区别...

 1.列表 列表是有序的集合,访问列表元素只需要给出该元素的位置或者索引就可以了。 列表的索引是从0开始的。

 索引可以为负,最后一个元素的索引为-1, 类似地,倒数第二个元素索引为-

 2. 在列表末尾添加元素,用append()方法; 在列表中间加入元素,用insert()方法,需要指定新元素的索引和值。 在列表末尾删除元素,用pop()方法; ...


python基础知识

1、 python对象:身份:对象的唯一标识,可使用内建函数id()得到类型:对象类型决定对象操作,

eg:不可能对一个str对象进行判断empty检验。可使用内建函数type进行查看。

由于类型也是python对象,所以要判断某对象是不是什么类型,

可使用:type(obj)== type(dict{})值:对象的数据值,若对象支持更新操作,则可修改。

eg:tuple 和 list的区别2、 对象属性...

Python函数中的变量作用域

一、变量作用域 一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。

变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。

两种最基本的变量作用域如下: 全局变量 局部变量

二、全局变量和局部变量 定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问...


Python基础知识点

1、列表    

2、字典    

3、集合

4、元组

5、推导式

6、函数

7、lambda表达式

8 、异常

9、文件操作     9.1 文件操作     9.2 文件夹操作(OS包)

10、公共操作

10.1 运算符

10.2 公共方法

10.2.1 len

10.2.2 del

10.2.3 max和min

10.2.4 range

10.2.5 enumerater

10.3 容器类型转换   **tuple****list**set