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

本文详细介绍了Python的基础数据结构,包括数字、字符串、列表、元组和字典的操作,如math库的使用、字符串转义字符、列表的添加删除元素、元组的不可变性以及字典的键值对等。此外,还提到了面向对象编程、JSON处理和异常处理等概念。
摘要由CSDN通过智能技术生成


三岁学编程,白话解析与复习飞桨小白课程第二天,回顾汇总,没有听懂的可以作为参考
参考资料:https://aistudio.baidu.com/bdcpu8/user/284366/425306/notebooks/425306.ipynb?redirects=1

数据结构

数字

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

math库

课程中的math是python的模块(库),他是python的标准库拥有4个数学常数和44个函数
使用方法:import mathfrom 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为步长(就是间隔多少取一次)
以str1='abcdef'进行读取说明
读取顺序
具体的参考飞桨官网或字符串解析文章(上方有链接接口)
视频直达: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
在这里插入图片描述
元素全部获取可以用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文件
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三岁学编程

感谢支持,更好的作品会继续努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值