python基础——华为AI学习笔记7

举报
darkpard 发表于 2022/02/07 19:03:40 2022/02/07
【摘要】 1. 常用数据结构1.1. Python内置的数据结构数值、字符串、列表、元组、字典、集合有序:列表、字符串、元组无序:字典、集合、数值可变:列表、字典、集合不可变:字符串、元组、数值1.2. 数值python3数值包括:int  float  bool complex(复数)基本运算:加、减、乘、除(/)、取余(%)、取整(//)1.3. 字符串有序序列+:拼接*:乘n,重复n次r:原始字...

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. 函数的优点

  1. 重复使用

  2. 易于维护

  3. 特定功能

  4. 模块性

  5. 可读性

3.2. 函数的定义

  1. 关键字def

  2. 三引号函数说明

  3. 语句块缩进

  4. return

  5. 匿名函数lambda

  6. 函数调用

3.3. 参数

  1. 必备参数:形参与实参数量一致、顺序一致

  2. 关键字参数:a=X,b=X

  3. 默认参数:可以不传

  4. 不定长参数:比如*args, **kwargs,args会存放所有未命名的变量参数,参数形式为元组,kwargs存放命名参数,参数形式为字典

  5. 参数位置:必备、关键字、默认、*args、**kwargs

3.4. 返回值

  1. 无返回值

  2. 多个返回值,打包成元组

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()

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。