百度飞桨学院小白课程第二天深度解析(小白系列)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 百度飞桨学院小白课程第二天深度解析(小白系列)

三岁学编程,白话解析与复习飞桨小白课程第二天,回顾汇总,没有听懂的可以作为参考

参考资料:https://aistudio.baidu.com/bdcpu8/user/284366/425306/notebooks/425306.ipynb?redirects=1


数据结构



数字


数字包括 整数型(int)、浮点型(float)、复数型


math库


课程中的math是python的模块(库),他是python的标准库拥有4个数学常数和44个函数

使用方法:import math或from math import *(推荐第一个,第二个有可能因为自定义名称冲突发生报错等情况)(以第一种进行举例)

使用库:math.\<函数名>即可


常见函数:


import math
print(math.ceil(4.1))   #返回数字的上入整数
5
print(math.floor(4.9))  #返回数字的下舍整数
4
print(math.fabs(-10))   #返回数字的绝对值
10
print(math.sqrt(9))     #返回数字的平方根
3
print(math.exp(1))      #返回e的x次幂
e(2.718281828459045)
————————以上为老师上课内容————————
math.pi #π的值
3.141592653589793
math.e #e的值
2.718281828459045
math.inf #正无穷
-math.inf#负无穷
math.fmod(x,y)#相对应x%y返回模的值(余数)
math.factorial(x)#返回x的阶乘
其他的可以参考官方文档


随机函数(random)


使用方法import random

导入随机函数库


import random
random.random()#随机生成0-1的小数(小数点自动取6位)
random.randint()#生成一个随机整数
random.randint(x,y)#生成一个x到y之间的随机整数
#这里的x,y可以取到! 不是左闭右开!注意不是
random.seed()#带种子的随机函数
#种子相同生成的结果就相同


字符串



稍微详细的解析请点击查看

字符串是不可变的集合,可以重新赋值,但是地址会变化

字符串用引号来表示

可以用单引号,双引号

三引号(三引号可以用来表示多行的内容也可以用于多行注释)


字符串拼接  用 +
a = "Hello "
b = "World "
print(a + b)
hello world
字符串多次重复用 *
print(a * 3)
aaa
判定是否在字符串 用 in
print('e' in a)
True
判定是不是不在字符串用 not in
print('e' not in a)
False
#返回值为布尔型(True,False)布尔值首字母必须大写


读取与切片



该读取与切片和 列表,元组等都一样

遵循左闭右开(左边的取得到,右边的不行)

使用方法:[a🅱️c]

a为开始位置

b为结束位置(不包括b)

c为步长(就是间隔多少取一次)


image.jpeg


读取顺序

具体的参考飞桨官网或字符串解析文章(上方有链接接口)

视频直达:https://aistudio.baidu.com/aistudio/education/lessonvideo/296998


转义字符


转义字符是\他可以把原有的内容进行转换含义

主要的几种:

\n #换行
\t#tab键


在单引号的字符串中不能够出现单引号除非使用转义字符或改用双引号(三引号)

不能够单独输出 \ 除非用 \ 把自己给转义了

类似于你猜我猜你猜不猜


还有一种极简方式,把所有的字符串内容全部格式化,在引号前添加r把整个字符串进行格式化(这种可以格式化字符串里面的如果有3个单引号构不成字符串一样无效)


print("The \t is a tab")
The    is a tab
print('I\'m going to the movies')#转义
I'm going to the movies
print("I'm going to the movies")#用双引号
I'm going to the movies


列表



点击查看更详细解析(真的超详细)


列表读取


与字符串相似,采用索引获取

索引从0开始

最后一个元素为-1


image.png


元素全部获取可以用for循环进行遍历

用 in 查询是否在列表 not in 查询是否不在

返回布尔值


for name in names:
    print(name)
jack
tom
tonney
superman
jay
for name in names:
    print(name,end=' ')#输出不换行
jack tom tonney superman jay   
if 'superman' in names:
    print('有超人')
else:
    print('有超人')
有超人


添加删除元素


申请空列表方法

列表名 = []

添加可以采用 append() 添加到列表末尾

使用方法 列表名.append(添加内容)

extend() 批量添加到末尾

和 + 用于拼接相类似

使用方法 列表名.extend(添加内容)

insert() 添加到指定位置

使用方法列表名.insert(位置,内容)


#声明一个空列表
girls = []
print(girls)
[]
#append(),末尾追加
girls.append('杨超越')
print(girls)
['杨超越']
#extend(),一次添加多个。把一个列表添加到另一个列表 ,列表合并。
models = ['刘雯','奚梦瑶']
girls.extend(models)
#girls = girls + models
print(girls)
['杨超越', '刘雯', '奚梦瑶']
#insert():指定位置添加
girls.insert(1,'虞书欣')
print(girls)
['杨超越', '虞书欣', '刘雯', '奚梦瑶']


修改元素


采用找到下标并对元素进行重新赋值的方式进行

fruits = ['apple','pear','香蕉','pineapple','草莓']
print(fruits)
['apple', 'pear', '香蕉', 'pineapple', '草莓']
fruits[-1] = 'strawberry'
print(fruits)
['apple', 'pear', '香蕉', 'pineapple', 'strawberry']


删除元素


del 全部删除,一去不复返

使用方法:del 列表名 #删除整个列表

del 列表名[x:y] #删除选中的元素


remove 删除指定元素(只删除第一个该元素)

使用方法 words.remove(需删除元素)

pop 弹出指定位置元素(默认最后一位)返回弹出值并删除


words = ['cat','hello','pen','pencil','ruler']
del words[1]
print(words)
['cat', 'pen', 'pencil', 'ruler']
words = ['cat','hello','pen','pencil','ruler']
words.remove('cat')
print(words)
words = ['cat','hello','pen','pencil','ruler']
a = words.pop(1)
print(a)
print(words)
hello
['cat', 'pen', 'pencil', 'ruler']


注意事项:del删除列表以后不能够再调用该列表,列表地址不存在会报错!!!


切片与读取


和字符串相似,具体的查看有关文档

注意:列表[::-1] 代表着反向输出


列表深入学习


#随机生成10个不同的整数,并进行排序
import  random
random_list = []
i = 0
while i < 10:
    ran = random.randint(1,20)
    if ran not in  random_list:
        random_list.append(ran)
        i+=1
print(random_list)#获得10个随机数并存储到列表
new_list = sorted(random_list)#进行排序(默认升序)
print(new_list)
new_list = sorted(random_list,reverse =True)
print(new_list)#定义reverse后可以修改


元组



点击查看详细文档

元组用括号代表,而且元组不可修改但是可以重新赋值

空元组 元组名 = ()

一个元素的元组元组名 = (元素,)


元组常用函数


len() 获取元组长度

max() 最大值

min() 最小值

sum() 求和


拆包


详细文档里面没有的(小编刚刚学到的)

可以把元组文档里面的内容分别赋值给对应的元素

如果元素不够可以采用*的方法代表多个


#定义一个元组
t3 = (1,2,3)
#将元组赋值给变量a,b,c
a,b,c = t3
#打印a,b,c
print(a,b,c)
1 2 3
#当元组中元素个数与变量个数不一致时
#定义一个元组,包含5个元素
t4 = (1,2,3,4,5)
#将t4[0],t4[1]分别赋值给a,b;其余的元素装包后赋值给c
a,b,*c = t4
print(a,b,c)
print(c)
print(*c)
1 2 [3, 4, 5]
[3, 4, 5]
3 4 5
先拆包多出来的再装包


字典



点击查看详细信息

用{}来涵盖里面的内容必须是键值对!!!必须!!!

字典的键值是唯一的,如果重复后面的会把前面的内容覆盖

读取采用字典名[键名] = 值


循环输出 键 、 值、键值对

采用keys() 、valuse() 、items()


dict5 = {'杨超越':165,'虞书欣':166,'上官喜爱':164}
print(dict5.items())
for key,value in dict5.items():
    if value > 165:
        print(key)
dict_items([('杨超越', 165), ('虞书欣', 166), ('上官喜爱', 164)])
虞书欣
results = dict5.values()
print(results)
dict_values([165, 166, 164])
names = dict5.keys()
print(names)
dict_keys(['杨超越', '虞书欣', '上官喜爱'])


get() 获取字典里面对应键的值 ,如果没有则返回给定值

del 删除字典 或删除字典里面对应的键值对

pop() 弹出对应键值对(默认最后一位)返回被弹出的键值对


分清字符串、列表、元组、字典、集合(小编自带小技巧)

字符串是引号
元组是括号(一个元素加逗号)
列表是中括号
字典、集合大括号,傻傻分不清怎么办
字典成双成对键值对 ,集合永远单着(不可重复、无序)药可以停,柠檬不行


面向对象



传说中的 对象生成器,妈妈再也不用担心我没有对象了

嘿,有女朋友那个,小心女朋友吃醋

一天一个分手小技巧,关注我!

定义一个类

class 类名(继承类名):
       def __init__(self,传入参数):    #初始化参数
             self.传入参数  = 传入参数
       def 自定义函数名(self,需要的已经初始化参数):
           pass(开始构造函数)


这里面涉及到继承,重构等情况,小编接触不多,不敢班门弄斧,有问题可以关注小编,或寻找好的文章


json



一种文件格式,易于数据处理

调用函数inport json

读取文件 json.dumps()json.loads()


为了提高可读性,dumps方法提供了一些可选的参数。
sort_keys=True表示按照字典排序(a到z)输出。
indent参数,代表缩进的位数
separators参数的作用是去掉,和:后面的空格,传输过程中数据越精简越好


import json
data = [ { 'b' : 2, 'd' : 4, 'a' : 1, 'c' : 3, 'e' : 5 } ]
json = json.dumps(data, sort_keys=True, indent=4,separators=(',', ':'))
print(json)
[
    {
        "a":1,
        "b":2,
        "c":3,
        "d":4,
        "e":5
    }
]


json.loads 用于解码 JSON 数据。该函数返回 Python 字段的数据类型。

import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
text = json.loads(jsonData)  #将string转换为dict
print(text)
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}


异常处理



点击查看详细信息

异常处理:我预判了代码预判了我的预判

知道代码可能报错,加上我们的预判,减少概率,保证程序稳定性(不是非常利于后期维护(我不知道哪里被预判了))

使用方法:


try:
    执行的代码
except 报错类型:
    遇到该类型则执行
    没遇到过预判错了继续报错
else:
    正常执行的话执行该内容
finally:
    无论上面的是否执行我继续我行我素
    用于执行必要程序如关闭文档防止丢失


linux命令



命令 说明
ls 参考文件列表
pwd 查看当前路径
cp 复制文件或目录
mv 移动或重命名
rm 移除文件或目录(从入门到入狱)
gzip 压缩、解压
tar 打包文件或解压
zip、unzip 处理zip文件


目录
相关文章
|
27天前
|
机器学习/深度学习 监控 数据挖掘
基于Django和百度飞桨模型的情感识别Web系统
基于Django和百度飞桨模型的情感识别Web系统
32 5
|
3月前
|
vr&ar
简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
这篇文章介绍了一种简单易懂的全景图高清下载方法,使用在线网站全景管家,支持下载包括建E、720yun、酷雷曼等多个平台的全景图原图,并简要解析了全景图的原理和制作方法。
简单易懂的 全景图高清下载方法以及原理简要解析(支持下载建E、720yun、酷雷曼、景站、酷家乐、百度街景原图)
http数据包抓包解析课程笔记
http数据包抓包解析课程笔记
|
3月前
|
机器学习/深度学习 人工智能 API
百度飞桨(PaddlePaddle)- 张量(Tensor)
百度飞桨(PaddlePaddle)- 张量(Tensor)
72 3
百度飞桨(PaddlePaddle)- 张量(Tensor)
|
3月前
|
机器学习/深度学习 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
79 1
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - CentOS 7)
|
3月前
|
数据采集 自然语言处理 API
百度飞桨(PaddlePaddle)-数字识别
百度飞桨(PaddlePaddle)-数字识别
55 1
|
3月前
|
开发者 API 开发框架
Xamarin 在教育应用开发中的应用:从课程笔记到互动测验,全面解析使用Xamarin.Forms构建多功能教育平台的技术细节与实战示例
【8月更文挑战第31天】Xamarin 作为一款强大的跨平台移动开发框架,在教育应用开发中展现了巨大潜力。它允许开发者使用单一的 C# 代码库构建 iOS、Android 和 Windows 应用,确保不同设备上的一致体验。Xamarin 提供广泛的 API 支持,便于访问摄像头、GPS 等原生功能。本文通过一个简单的教育应用示例——课程笔记和测验功能,展示了 Xamarin 在实际开发中的应用过程。从定义用户界面到实现保存笔记和检查答案的逻辑,Xamarin 展现了其在教育应用开发中的高效性和灵活性。
42 0
|
3月前
|
JSON 文字识别 Linux
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - Docker)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 基于 Paddle Serving快速使用(服务化部署 - Docker)
166 0
|
3月前
|
文字识别 监控 机器人
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 预测部署简介与总览
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 预测部署简介与总览
74 0
|
3月前
|
文字识别 数据可视化 Python
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理(离线部署)
百度飞桨(PaddlePaddle) - PP-OCRv3 文字检测识别系统 Paddle Inference 模型推理(离线部署)
173 0

推荐镜像

更多