黑马程序员python教程,8天python从入门到精通,学python看这套就
2023-07-27 21:59 作者:Boring123123 | 我要投稿

一、注释
第一阶段-第二章-02-注释 P15 - 02:36
- 单行井号开头;
- 多行三个引号开头结尾;
- 注释:ctrl+l
取消注释:ctrl+l
二、变量
- 定义规则:变量名+变量值
- print输出多个数据用逗号隔开即可
- print(内容1,内容2,......,内容N)
- 快捷键:ctrl+D
三、数据类型
- type()语句

四、数据类型的转换
- 常见的转换类型

- 任何类型都可以转字符串
- 只有数字内容的字符串可以转换成数字类型
- float转int会消去小数部分
五、标识符
- 内容限定
- 只允许出现:英文、中文、下划线、数字四类元素(不推荐实用中文、数字不能开头、不能空格)
2.大小写区分
3.不可以关键字
4.变量的命名规范
- 见名知意
- 下划线命名(多个单词组合命名)
- 英文字母全小写
六、运算符
- 算数运算符

- 赋值运算符

七、字符串
- 定义字符串:单、双、三引号定义法(三引号的写法和注释相近,里面可以用换行符)
- len()函数可以计算字符串的长度
- 定义的字符串包含双引号
- 在单引号里用双引号
- 使用转义字符
八、字符串的拼接
- 用+拼接
- 只能字符串和字符串之间拼接
九、字符串格式化



十、格式化的精度控制
- 数字精度控制

- 若float没有宽度限制,可以直接用%.nf
十一、快速字符串格式化
- 通过语法:f"内容{变量}"的格式来快速格式化 f作为标记写在前面
- e.g. print(f"我是{name},我成立于:{set_up_year},我今天的股票价格是:{stock_price}")
- 特点:不在意类型、不做精度控制
十二、表达式的格式化
- 表达式:具有明确执行结果的代码语句

- 格式化表达式
- f"(表达式)"
- "%s\%d\%f"%(表达式,表达式,表达式)
十三、数据输入
- input语句

- input()语句自带提示信息功能,会自动打印()里面的内容
- e.g.

- input不管写入什么语句,统统当作字符串来看待
- 有特殊需要时,要做类型转换
十四、判断语句
- bool类型、比较运算符(规则、内容同C#)
- 计算规则:
- &表示且 |表示或
十五、if语句
- 通过4个空格缩进来表示归属的
- 注意有冒号,而不是用括号

- 总结:

十六、if else 语句的组合用法

- 注意空格缩进
- else不需要判断条件
十七、if elif else 语句的组合运用

- elif和C#中的else if类似
- else可以省略不写
- 注意空格缩进!!!
十八、判断语句的嵌套
自由组合

- 空格缩进 decide 层次关系
十九、while 循环语句的基础使用

二十、while循环的嵌套

- 注意缩进
- 使用print语句不换行:
- print(输出内容,end=' ')

- \t表示水平制表符
二十一、for循环语句

- for循环没有循环条件,只能用来遍历
- 注意缩进
- range语句


- for x in range(...):控制循环次数
- 变量的作用域

- for 循环的嵌套运用
- 空格缩进
- break和continue(同C++)
二十二、函数
- 定义函数(传入参数和返回值可以省略)
def 函数名 (传入参数):
函数体
return 返回值
- 函数先定义后使用
- 函数的传入参数有多个,用逗号隔开
- 函数返回值(同C++)
- None 类型(没有返回值时的默认返回type)
- 注意N是大写的
- 应用

- 函数的说明文档
- 用注释写在函数体之前
- 函数的嵌套调用
- 变量的作用域(同C++)
- global 关键字(有点像C++)
- 内部定义了一个同名变量,会覆盖外部的同名变量
- global用来设置在函数内定义的变量成为全局变量

二十三、列表

- 列表的定义

- 下标索引
- 和C++类似
- 倒数第N个,下标就是 -N
- 常用操作

- 查询某元素的下标 列表 . index(元素)
- 修改特定下标索引的值 列表[下标]=值
- 插入元素 列表 . insert(下标,元素),在指定的下标位置,插入指定的元素
- 追加,将元素加入到尾部 列表 . append(元素)
- 追加方式2,把其他容器追加到之后 列表 . extend(其它数据容器)
- 删除(已知下标)
- 方式1 del 列表[下标]
- 方式2 列表 . pop(下标)
- 删除(已知元素) 列表 . remove(元素)
- remove方法从前到后查找只会删除一个元素,若要删除所有的对象元素,则要多次调用
- 清空 列表 . clear()
- 统计某元素在列表内的数量 列表 . count(元素)
- 统计列表的元素数量 列表 . len()
- 列表的遍历
- 用while
- 用for

- 细节

二十四、元组
- 定义

- 定义单个元素的元组,记得要在第一个元组后面加上逗号,否则就是str类,而非tuple类
- 各种操作

- 和list的区别:元组只读,不可修改
- 但是元组内的list元素中的元素可以修改

- 元组的遍历(和list相同)
二十五、字符串II
- 字符串的下标索引(和元组相同)
- 作为一个数据容器,字符串是只读的,不能够修改
- 操作
- 查找特定字符串的下标索引值 字符串 . index(字符串)
- 字符串的替换

- 字符串的分割

- 字符串的规整操作

- 统计字符串中某个字符出现的次数(同list)
- 统计字符串的长度(同list)
- 小结

- 字符串遍历(同list)
- 特点

二十六、序列(list\str\tuple)

- 注意,切片操作不会影响序列本身,而是会得到一个新的序列
二十七、集合
- 不支持元素重复,自带去重功能;元素的顺序没法得到保证
- 定义:使用={ , , , , ,},或使用=set()定义空集合
- 空集合:set()

- 各种操作
- 添加元素 集合 . add(元素)
- 移除元素 集合 . remove(元素)
- 从集合中取出一个元素 集合 . pop()
- 清空集合 集合 . clear()
- 取出2个集合的差集,即取出集合1有而集合2没有的
- 语法:集合1 . difference(集合2)
- 结果:得到一个新的集合,集合1和集合2不变
- 消除2个集合的差集

- 两个结合的合并

- 统计集合元素的数量
- len(集合)
- 集合的遍历:
- 不能用while(不支持下标索引),只能用for循环
- 小结

- 特点

二十八、字典
- 定义

- 键值对
- key:value
- key不允许重复
- 不能用下标索引,但是可以根据key找值
- key和value可以是任意的值,但是key不可以是字典,而value可以是字典
- 常用操作:


清空元素:字典 . clear()

遍历:方式1:for key in keys :
方式2:for key in 字典:
统计字典的元素数量:len(字典)
- 小结

- 字典的特点:

二十九、数据容器特点的总结



三十、数据容器通用操作总结



- 字符串转列表(元组),每个每个地转成列表中的元素
- 字典转列表(元组),直接抛弃掉字典的value值,只取key值
- 字典转字符串,所有的元素都会保留下来
- 转换成集合的时候,会无序和去重
- 无法转字典

- 排序的结果统统会变成列表对象,且字典丢失value
- 小结

三十一、字符串大小的比较


三十二、函数进阶
- 函数的多返回值

- 函数的多种传参方式
- 位置参数

- 关键字参数

- 缺省参数

- 设为默认值的参数都必须放在最后
- 不定常的参数

- 位置传递不定常

- 关键字传递不定常

- 匿名函数
- 函数作为参数传递(代码执行逻辑的传递)

- lambda匿名函数

三十三、文件操作
- 文件的编码

- 文件的操作
- 打开(倘若没有写具体路径,则默认是在同一目录下)

- 读\写


- r 模式:只读 ,只会从上次读取的地方开始读取
- read(num): 读取num个字符,若没有num参量,则会读取全部的字符;结果会得到一个字符串,也即 type(f.read())为str
- readlines()读取全部行,得到列表对象
- readline():一次只读取一行
- for循环读取文件行
for line in 文件对象:
print(line)
- 关闭(记住 ,只能手动)
- 调用close(): f.close()
- with open(这个会自动close文件)

- 小结

三十四、写入

- close()方法是内置flush()功能的
三十五、追加

三十六、捕获异常
- 基本语法

- 捕获指定异常

- e是异常的对象,有异常的具体信息

- 捕获所有的异常
- except Exception as e:
- 没有异常的时候的操作

- finally--不管有无异常,100%执行的部分

- 小结

三十七、异常的传递
- 异常会一直传递到函数被调用的地方
三十八、python模块的导入
- 模块


- import time
- time.sleep():表示程序的暂停执行
- 通过点就可以用模块内的全部功能(类、函数、变量)
- from 模块名 import 功能名

- from 模块名 import *:导入模块的全部功能(此时调用某个模块的功能时,可以不用点操作)
- import 模块 as 别名:相当于换了一个名字

- 小结

三十九、python自定义模块
- 文件的名字符合标识符的命名规则


- 只针对from 模块名 import *

四十、python包

- 导入

方式二

- 小结

四十一、第三方包

- 安装第三方包


四十二、JSON



- 有中文时,可以用如下方法进行转化

- 小结

四十三、pyecharts 入门

- 配置

- 全局配置

- 数据处理
- 柱状图


- 时间线

- 自动播放

- 时间线设置主题

四十四、列表II
- sort方法

一、面向对象


- 成员



二、构造方法
- __init__

- 小结

三、魔术方法(内置的类方法)
- __str__:

- __lt__:

- __le__:

- __eq__:

- 小结

四、封装


- 小结:
