首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【学习笔记】Python基础

【学习笔记】Python基础

作者头像
Livinfly
发布于 2022-10-26 08:10:17
发布于 2022-10-26 08:10:17
54600
代码可运行
举报
文章被收录于专栏:LivinflyLivinfly
运行总次数:0
代码可运行

关于


该学习笔记为本人学习Bilibili上尚硅谷的教程的记录.

注释

单行注释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 注释内容

快捷键 : ctrl + /

多行注释

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  '''
      注释内容
  '''

变量


常用变量

int

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = 12
  • float
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
b = 1.2
  • boolean
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
gender_1 = True
gender_2 = False
  • string
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#单引号、双引号(单个中不能混用,就近匹配)
s0 = 'Hello python'
s1 = '"zzz"'  # Yes
s2 = ''sss'' # No
s3 = ""zzz"" # No
  • list 列表
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
name_list = ['Amy', 'Bob']
  • tuple 元组
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
age_tuple = (18, 19, 20, 21)
  • dict 字典
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# xxx = {key:value, ...}
person = {'name':'小明', 'age' : 18}

查看类型及命名规则、规范


查看变量

数据有类型,变量没有类型

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
xxx = '???'
print(type(xxx))
命名规则、规范

字母+下划线+数字,且不能数字开头 严格区分大小写 不能使用关键字

  • 驼峰命名
    • 小驼峰
      • userLoginFlag
    • 大驼峰
      • FirstName
  • 下划线
    • user_login_flag

类型转化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
float --> int 只取整数部分
True ---> 1
False --> 0
字符串有非法字符转不了,如:
    a = '1.64'
    b = int(a) # NO
    c = float(a) # Yes
    
    z = str(y)

结果转为Bool是False:

  1. 0
  2. 0.0
  3. ''
  4. []
  5. ()
  6. {}
格式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = int(a)

运算符


算数运算符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
+, -, *, /
// 整除
%  取余
**** > */%// > +-

字符串的+为拼接 字符串的乘法, 将字符串重复几次 +号两端格式一样

赋值运算符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
b = c = 20
d, e, f = 3, 4, 5 # 逗号分隔

复合赋值运算符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a += 3
# *=, -=, /=, //=, %=, **=

比较运算符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 返回bool
# ==, != (<> -- python2), <, <=, >, >=

逻辑运算符

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
and, or, not

# 性能优化

# and(短路与)
36 > 10 and print('111')#输出111
36 < 10 and print('111')#不输出
# 前面是false,后面就不执行了

# or(短路或)
# 同理,or前面是true,后面就不执行了

输入输出


输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#普通输出
print('xxx')
print('xxx' + str(xx))

#格式化输出
# %s, %d
name = '小明', age = 18
print('aaaa%s, bbbb%d' % (name,age))

输入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 读入的是字符串
account = input('请输入账号‘)

流程控制


if - else - elif

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = 2
if a > 18:
    print('Yes')
elif a > 5:
    print('No')
else:
    print('error')

for

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 字符串
s = 'China'
for i in s:
    print(i)
# range(5)
for i in range(5):
    print(i)
# 0, 1, 2, 3, 4

# rawnge(1, 6)
# 1,...,5

# range(1, 10, 3)
# 1, 4, 7

# list

# 遍历元素
for i in a_list:
    print(i)
# 遍历下标
for i in range(len(a_list)):
    print(a_list[i])

数据类型常用方法


字符串

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#获取长度 
a = len(s)

#返回第一次出现的位置
a = s.find('a')

#判断开头结尾,返回Bool
a = s.startswith('c')
a = s.endswith('n')

#出现次数
a = s.count('a', 2, 5) # [2, 5) 区间参数可加可不加

#替换
s.replace('c', 'd', 3) # old, new, max times

#切割
s = '1#2#3$4'
a = s.split('#') # a -- list

#大写
s2 = s1.upper()
s3 = s1.lower()

#去除 - 只能去除开头和结尾,中间不去
s = s.strip() #去空格
s = s.strip('0') 

s = s.strip('12') #'21'也去..

#拼接

a = 'a'
s = a.join('hello')
# s = 'haealalao'

列表

crud

字符串
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# append - 在最后添加
food_list.append('xxx')

# insert - 想要插入的位置
# ['a', 'c', 'd']
char_list.insert(1, 'b')
# ['a', 'b', 'c', 'd']

# extend
# list1->list1 + list2
list1.extend(list2)
列表
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# [index] - 修改
city_list[2] = 'xxx'

# in - 判断是否在list中
# not in
if 'apple' in food_list:
    print('yes')

# 删除

# del [index]
del aList[2]
# pop 删除最后一个元素
aList.pop()
# 根据元素的值删除
aList.remove(3)
元组

元组的元素不能修改

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
aTuple = (5) # int
aTuple = (5,) #tuple
aTuple = (1, 2, 3, 4)
#访问, index
print(aTuple[2])
切片

字符串、列表、元组都支持

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
s = 'hello world'
print(s[0])
# hell [a,b)
print(s[0:4])
print(s[1:]) # 从1开始
print(s[:4]) # 到4结束
print(s[0:6:2]) # step
字典
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#定义
man = {'name':'ming', 'age':28}
#访问
print(man['name'])
#引用不存在的key,报错keyerror
print(man.get('name'))
# 查询不存在的sex返回None
print(man.get('sex'))

# 修改

man['name'] = 'hong'
# 不能用get

# 添加

# new key value
man['sex'] = 'male'

# 删除

# del - 1.删指定某一元素 2. 删字典

del man['age']
del man

# clear - 清空字典,但保留字典对象

man.clear()

# 遍历

# 遍历key
# xxx.keys(),所有key的值
for x in man.keys():
    print(x)

# 遍历value
for x in man.values():
    print(x)

# 遍历key和value
for key, value in man.items():
    print(key,value)

# 遍历项/元素
for x in man.items():
    print(x)

函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 定义函数
def f1():
    print('hello')
# 调用函数
f1()
# 含参函数

def sum(a, b): # a,b - 形参
    c = a+b
# 位置传参
sum(1, 2) # 1, 2 - 实参
# 关键字传参
sum(b = 200, a = 100)

# 返回值
def sum(a, b):
    return a+b
print(sum(1, 2))

局部变量和全局变量

函数内部定义的作用范围只有在函数内部 函数外部定义的作用范围都可以 在满足需求的前提下,选择作用域最小的

文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# open(path, mode)
# 不能创建文件夹
# w 可写(覆盖), r 可读, a追加,r+读写(文件指针在文件开头,w+读写(覆盖)
# rb以二进制格式打开只读,类似的wb,ab,rb+,wb+,ab+

# 打开
# a.txt, ./a.txt, ../a.txt
open('a.txt', 'w')

fp = open('a.txt', 'w')

# 写数据
fp.write('hhh')

# 读数据
fp = open('a.txt', 'r')
# 默认是一字节一字节的读,效率比较慢
content = fp.read()
# 读取一行
content = fp.readline()
# 读取多行,读完(返回列表)
content = fp.readlines()

# 关闭 - 内存不一样
fp.close()

序列化和反序列化

因为对象无法直接写入到文件中,所以要进行序列化再写入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
对象 --> 字节序列 --- 序列化

字节对象 --> 对象 --- 反序列化
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fp = open('a.txt', 'w')
nameList = ['ming', 'hong']

# 序列化1 - dumps()
# 将python对象变为json字符串
# 在时使用scrapy框架时,会返回对象

# 引入json模块
import json

names = json.dumps(nameList) # 字符串

fp.write(names)

# 序列化2 - dump

import json

# 相当于把上面的两部合并了
json.dump(nameList, fp)

# 反序列化1 - loads()
# 将json字符串变为python对象
content = fp.read()

res = json.loads(content)

# 反序列化2 - load

import json

# 读的是文件
res = json.load(fp)

fp.close()

异常

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# try:
#      可能出现异常的代码
# except [异常的类型]:
#      提示

try:
    fp = open('a.txt', 'r')
    fp.read()
except FileNotFoundError:
    print('404 not found')
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年07月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
深入了解平均精度(mAP):通过精确率-召回率曲线评估目标检测性能
平均精度(Average Precision,mAP)是一种常用的用于评估目标检测模型性能的指标。在目标检测任务中,模型需要识别图像中的不同目标,并返回它们的边界框(bounding box)和类别。mAP用于综合考虑模型在不同类别上的准确度和召回率。
deephub
2023/08/28
2.8K0
深入了解平均精度(mAP):通过精确率-召回率曲线评估目标检测性能
目标检测中的平均精度(mAP)详解--建议收藏+掌握
本文将详细介绍目标检测中的平均精度(mAP),建议收藏并掌握。(公众号:OpenCV与AI深度学习)
Color Space
2022/09/26
10K0
目标检测中常提到的IoU和mAP究竟是什么?
intersect over union,中文:交并比。指目标预测框和真实框的交集和并集的比例。
AI粉嫩特工队
2019/09/26
3.4K0
目标检测中常提到的IoU和mAP究竟是什么?
利用mAP评估目标检测模型
在本文中,我们将了解如何使用 precision 和召回率来计算平均精度 (mAP)。mAP 将真实边界框与检测到的框进行比较并返回分数。分数越高,模型的检测越准确。
数据科学工厂
2023/01/19
8820
【必备】目标检测中的评价指标有哪些?
上期我们一起学习了全卷积神经网络FCN,今天我们看下目标检测中的评价指标都有哪些?
智能算法
2020/05/08
17.8K0
什么是MAP? 理解目标检测模型中的性能评估
【导读】近日,机器学习工程师Tarang Shah发布一篇文章,探讨了机器学习中模型的度量指标的相关问题。本文首先介绍了机器学习中两个比较直观和常用的度量指标:精确度和召回率,然后详细讲解了目标检测领
WZEARW
2018/04/13
3.2K0
什么是MAP? 理解目标检测模型中的性能评估
目标检测任务中的一些评估准则
本篇文章介绍一下目标检测中常用的一些评估准则,大家跑 yolo 的时候可能看着一堆输出不知道啥意思,希望这篇文章能够解决大家的疑惑,主要是翻译 GitHub 上的一个 repo,原文是英文写的,链接在这里,写的挺不错,就翻译过来给英文不好的同学看看,另外还加了几个项目中没有提到的准则
棒棒鸡不棒
2022/09/02
9870
目标检测任务中的一些评估准则
目标检测4: Detection基础之mAP
前面目标检测1: 目标检测20年综述之(一)和目标检测2: 目标检测20年综述之(二)让大家对目标检测有个大概的认识,机器学习评价指标合辑(Precision/Recall/F1score/P-R曲线/ROC曲线/AUC)介绍了基础的评价指标,如Precision、Recall、F score等概念,目标检测3: Detection基础之IoU中介绍了目标检测的评价指标IoU,接下来我们介绍目标检测最重要的评价指标mAP。
枫桦
2022/08/02
1K0
目标检测4: Detection基础之mAP
目标检测的中的指标的含义及其实现
IoU测量两个区域之间的重叠程度,在目标检测中衡量预测结果和标签(真实的目标边界)之间的重叠程度。
狼啸风云
2023/10/07
8030
目标检测的中的指标的含义及其实现
目标检测mAP计算方式
目标检测中常见的mAP计算说起来比较麻烦,所以结合VOC的计算代码进行一次详细的解析。
泽霖
2023/11/26
5940
什么是mAP ? 比较目标检测模型性能的统计量,了解一下?
翻译 | 张建军 出品 | 人工智能头条(公众号ID:AI_Thinker) 在机器学习领域,对于大多数常见问题,通常会有多个模型可供选择。当然,每个模型会有自己的特性,并会受到不同因素的影响而表现不同。 每个模型的好坏是通过评价它在某个数据集上的性能来判断的,这个数据集通常被叫做“验证/测试”数据集。这个性能由不同的统计量来度量,包括准确率( accuracy )、精确率( precision )、召回率( recall )等等。选择我们会根据某个特定的应用场景来选择相应的统计量。而对每个应用来说,找到
用户1737318
2018/06/05
1K0
X射线图像中的目标检测
每天有数百万人乘坐地铁、民航飞机等公共交通工具,因此行李的安全检测将保护公共场所免受恐怖主义等影响,在安全防范中扮演着重要角色。但随着城市人口的增长,使用公共交通工具的人数逐渐增多,在获得便利的同时带来很大的不安全性,因此设计一种可以帮助加快安全检查过程并提高其效率的系统非常重要。卷积神经网络等深度学习算法不断发展,也在各种不同领域(例如机器翻译和图像处理)发挥了很大作用,而目标检测作为一项基本的计算机视觉问题,能为图像和视频理解提供有价值的信息,并与图像分类、机器人技术、人脸识别和自动驾驶等相关。在本项目中,我们将一起探索几个基于深度学习的目标检测模型,以对X射线图像中的违禁物体进行定位和分类为基础,并比较这几个模型在不同指标上的表现。
小白学视觉
2022/02/11
1.8K0
X射线图像中的目标检测
绝对不容错过:最完整的检测模型评估指标mAP计算指南(附代码)在这里!
作者: 叶 虎 编辑: 赵一帆 前 言 本文翻译自Measuring Object Detection models - mAP - What is Mean Average Pr
机器学习算法工程师
2018/07/27
4.3K0
绝对不容错过:最完整的检测模型评估指标mAP计算指南(附代码)在这里!
ADA-YOLO | YOLOv8+注意力+Adaptive Head,相对YOLOv8,mAP提升3%+118FPS
近年来,目标检测技术取得了显著的进展,使得可以实现对解剖结构、病变或异常的自动识别和定位。多年来,目标检测方法取得了重大的进步,这是由于大规模的带有标注的数据集的出现和深度学习技术的开发所驱动的。这些技术在改善医疗诊断和治疗结果方面展示出巨大的潜力。
集智书童公众号
2024/01/17
1.3K0
ADA-YOLO | YOLOv8+注意力+Adaptive Head,相对YOLOv8,mAP提升3%+118FPS
YOLO 目标检测实战项目『原理篇』
在目标检测中,IoU 为预测框 (Prediction) 和真实框 (Ground truth) 的交并比。如下图所示,在关于小猫的目标检测中,紫线边框为预测框 (Prediction),红线边框为真实框 (Ground truth)。
机器视觉CV
2019/11/14
5.1K1
YOLO 目标检测实战项目『原理篇』
【小知识】目标检测各类指标概念总结
目标检测论文中出现过很多容易混淆的评价指标,比如FLOPS、FLOPs、 GFLOPS,包括最基本的AP、mAP这些定义,索性将这些基本概念搞清楚,做个总结。
机器学习AI算法工程
2024/07/04
5110
【小知识】目标检测各类指标概念总结
目标检测模型的评价标准-AP与mAP
为了了解模型的泛化能力,即判断模型的好坏,我们需要用某个指标来衡量,有了评价指标,就可以对比不同模型的优劣,并通过这个指标来进一步调参优化模型。对于分类和回归两类监督模型,分别有各自的评判标准。
h3110_w0r1d
2025/02/04
2940
从 YOLOv1 到 YOLOv2:目标检测的进化之路
你有没有想过,当你用手机拍一张照片,里面的人、车、狗是怎么被自动识别出来的?这背后靠的就是目标检测技术。目标检测是计算机视觉中的一个重要领域,它不仅要回答“图片里有什么”,还要告诉你“这些东西在哪里”。今天,我们要聊的是目标检测领域的两个经典模型:YOLOv1 和 YOLOv2。它们的名字听起来很酷——“You Only Look Once”(你只看一次),不仅名字帅,性能也很强。这篇博客将带你走进 YOLO 的世界,聊聊它们的原理、区别,以及那些听起来高大上的概念,比如 mAP、FPS、IoU 等。我们会尽量用大白话解释,并在后面深入讲解数学公式和代码实现,让你轻松看懂!
机器学习司猫白
2025/03/15
1290
从 YOLOv1 到 YOLOv2:目标检测的进化之路
睿智的目标检测20——利用mAP计算目标检测精确度「建议收藏」
这个是用来绘制mAP曲线的。 https://github.com/Cartucho/mAP 这个是用来获取绘制mAP曲线所需的txt的 https://github.com/bubbliiiing/count-mAP-txt
全栈程序员站长
2022/11/19
5170
睿智的目标检测20——利用mAP计算目标检测精确度「建议收藏」
机器学习中的评价指标
在人工智能领域,机器学习的效果需要用各种指标来评价。本文将阐述机器学习中的常用性能评价指标,矢量卷积与神经网格的评价指标不包括在内。
Datawhale
2019/10/12
7590
机器学习中的评价指标
推荐阅读
相关推荐
深入了解平均精度(mAP):通过精确率-召回率曲线评估目标检测性能
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 关于
  • 注释
  • 变量
    • 常用变量
    • 查看类型及命名规则、规范
      • 查看变量
      • 命名规则、规范
    • 类型转化
      • 格式
  • 运算符
    • 算数运算符
    • 赋值运算符
    • 复合赋值运算符
    • 比较运算符
    • 逻辑运算符
  • 输入输出
    • 输出
    • 输入
  • 流程控制
    • if - else - elif
    • for
  • 数据类型常用方法
    • 字符串
    • 列表
      • 字符串
      • 列表
      • 元组
      • 切片
      • 字典
  • 函数
    • 局部变量和全局变量
  • 文件
    • 序列化和反序列化
  • 异常
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档