python基础——华为AI学习笔记7
1. 常用数据结构
1.1. Python内置的数据结构
数值、字符串、列表、元组、字典、集合
有序:列表、字符串、元组
无序:字典、集合、数值
可变:列表、字典、集合
不可变:字符串、元组、数值
1.2. 数值
python3数值包括:int float bool complex(复数)
基本运算:加、减、乘、除(/)、取余(%)、取整(//)
1.3. 字符串
有序序列
+:拼接
*:乘n,重复n次
r:原始字符串
\:转意字符
1.3.1. 基本操作
分割:str1.split(str2),返回列表
替换:str1.replace(str2, str3)
转换成大写:str1.upper()
转换成小写:str1.lower()
拼接:str1.join(iter),例,"-".join("str")="s-t-r"
格式化输出:%,例,"My name is %s, age is %d" % ('AI', 63)=My name is AI, age is 63。%4d、...
1.4. 列表
有序序列
+:拼接
*:乘n,重复n次
1.4.1. 增加
l.append(obj)
l.isert(index, obj)
l.extend(iter),相当于l+iter
1.4.2. 删除
l.pop(index)
l.remove(obj):删除列表中和一个出现的给定元素
1.4.3. 查的
l.index(obj)
1.4.4. 排序
l.sort()
1.4.5. 逆序
l.reverse()
1.4.6. 数量统计
l.count(obj)
1.5. 元组
有序序列
不可变
1.6. 字典
键值对
键必须是不可变数据结构且唯一
1.6.1. 常用操作
1.6.1.1. 获取
d.get(key, default=None)
d.items()
d.keys()
d.values()
1.6.1.2. 添加
d[key] = value
1.6.1.3. 更新
d.update(d1),使用d1对d进行更新
1.6.1.4. 删除
d.pop(key):删除并返回对应的value
d.popitem():随机删除并返回键值对
d.clear():清空字典
1.7. 集合
不重复性
有限性
交集:&
对称差集:^
并集:|
差集:-
添加:s.add(obj)、s.update(obj)obj可以是列表、字典
删除:s.remove(obj)(元素不存在时会抛出异常)、s.discard(obj)(元素不存在时不会抛出异常)、s.clear()、s.pop()随机删除一个元素
1.8. 数据结构的操作
1.8.1. 深拷贝与浅拷贝
赋值:B = A,B修改后A与修改
浅拷贝:B = A.copy(),B的修改会影响A里的嵌套结构
深拷贝:B = A.deepcopy()
1.8.2. 运算符
常用运算符:算法、比较、赋值、逻辑、位、成员、身份
2. 控制流语句
2.1. 判断语句if
if 判断条件1:
执行语句1
elif 判断条件2:
执行语句2
else:
执行语句3
0:False;其他数值:True
空串:False;其他串:True
2.2. 循环语句
2.2.1. for
for iter in iters:
循环语句块
else: #循环执行完后执行
语句块
2.2.2. while
while 条件语句:
循环语句块
else: #循环执行完后执行
语句块
2.2.3. 循环终止
break:终止当前大的循环,将连循环后else也跳出
continue:跳出本次循环
3. 函数
3.1. 函数的优点
-
重复使用
-
易于维护
-
特定功能
-
模块性
-
可读性
3.2. 函数的定义
-
关键字def
-
三引号函数说明
-
语句块缩进
-
return
-
匿名函数lambda
-
函数调用
3.3. 参数
-
必备参数:形参与实参数量一致、顺序一致
-
关键字参数:a=X,b=X
-
默认参数:可以不传
-
不定长参数:比如*args, **kwargs,args会存放所有未命名的变量参数,参数形式为元组,kwargs存放命名参数,参数形式为字典
-
参数位置:必备、关键字、默认、*args、**kwargs
3.4. 返回值
-
无返回值
-
多个返回值,打包成元组
4. 面向对象
4.1. 面向过程
4.1.1. 面向过程的思想
拿走苹果→打开冰箱门→找到保鲜层→放入苹果→关上冰箱门→完成
4.1.2.面向对象的思想:
定义对象——冰箱:可以打开、保鲜层可以放入苹果、可以关上
实现任务:拿起苹果→放入冰箱(使用对象)→完成
即把冰箱定义成一个对象
提高代码的可复用性
4.2. 面向对象中的术语
4.2.1. 类
比如汽车,一个模具
4.2.2. 对象
比如某个具体的汽车
4.2.3. 方法
类的对象都有方法
4.2.4. 属性
类和对象都有属性
4.3. 面向对象的三大特性
4.3.1. 封装
比如放入冰箱,具体的动作被封装了
4.3.2. 继承
比如在车类的基础上创建汽车类
被继承的类叫父类、基类、超类,继承的类叫子类
4.3.3. 多态
继承时,同样的方法有不同的实现
比如动物类有方法叫,狗类继承动物类,猫类继承动物类,叫的方法不同
4.4. python 中的面向对象
class 类名(父类):#默认继承Object类 '''说明文档''' ...类体...
支持多继承,即父类可以有多个
4.5. python中类的私有化
python中默认都是公共属性
模块级私有化,加"_"
完全私有化,加"__",包括继承也不能继承走
5. 常用标准库和第三方库
5.1. time
用来处理时间
time.time():获取时间截
time.sleep():休眠
time.localtime():获取当前时间
5.2. sys
与python解释器交互
比如获取当前路径
5.3. os
与操作系统进行交互
比如查看当前路径、查看需要引入的资源是文件还是文件夹、查看当前文件夹下的文件和文件夹
5.4. pandas
基于numpy实现
强大的数据结构:datafram
5.5. numpy
数组与矩阵运算
基于C语言实现,速度快
封装了很多数学函数
5.6. matplotlib
画图库,但只能绘制2D的图形
6. IO操作
6.1. 打开文件
f=open(filename, mode, encoding)
6.1.1. 打开的模式
r:只读,指针在开头
w:可以传入不存在的文件名,将原数据删除,然后再写入,指针在开头
a:追加写入,指针在结尾
rb:二进制只读
wb:二进制写入
ab:二进制追加写入
r+:读写
w+:读写
a+:读写
rb+:二进制读写
wb+:二进制读写
ab+:二进制读写
6.1.2. 编码格式
encoding默认utf-8
6.2. 文件操作
读:f.read(), f.readline(), f.readlines()
f.read()可以传入参数,读一部分
写: f.write()
6.3. 清空缓存
f.flush()
关闭前清空缓存,则没有正式写入
6.4. 关闭
f.close()
- 点赞
- 收藏
- 关注作者
评论(0)