day2(Alex python)

版权声明:本文为博主原创文章,转载请注明作者和出处。https://blog.csdn.net/xq920831/article/details/81981837

进行第二天的学习记录。

今天主要学习了调用python库,数据类型,列表,元组。

 

1. 首先是sys库

# -*- coding:utf-8 -*-
# Author: Agent Xu
import sys

print(sys.path)
print(sys.path[3]) #取值
print(sys.argv)  #当前脚本的相对路径

2. 接着os库

# -*- coding:utf-8 -*-
# Author: Agent Xu

import os

print(os.system('dir')) #打印结果在屏幕上

cmd_1 = os.system('dir') #执行命令,不保存结果,只显示成功执行的结果0
print(cmd_1)

cmd_2 = os.popen('dir') #执行命令保存结果为内存地址
print(cmd_2)

cmd_3 = os.popen('dir').read() #执行命令并打印存储地址对应的内容
print(cmd_3)

os.mkdir('new_dir') #创建新目录

3. 三元运算:

a,b,c = 1,3,5

d = a if a>b else c
print(d)
#5

4. 编码与反编码

#encode和decode
mm = '你好'

print(mm)
#你好
print(mm.encode(encoding='utf-8'))
#b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(mm.encode(encoding='utf-8').decode(encoding='utf-8'))
#你好

5. 列表为重点内容,下面列出一些列表的一些常用方法

# -*- coding:utf-8 -*-
# Author: Agent Xu
names = ['xiaohong','xiaohua','xiaoxu','xiaosun']

print(names)#打印列表
#['xiaohong', 'xiaohua', 'xiaoxu', 'xiaosun']

print(names[1])# 打印列表第二个值
#xiaohua
print(names[:2])# 打印列前二个值
#['xiaohong', 'xiaohua']
print(names[-2:])# 打印列表后二个值
#['xiaoxu', 'xiaosun']
print(names[1:3])#打印列表第二和第三个值
#['xiaohua', 'xiaoxu']

names.append('xiaodong') #在列表最后追加一个值
print(names)
#['xiaohong', 'xiaohua', 'xiaoxu', 'xiaosun', 'xiaodong']

names.insert(2,'ddd')#在列表指定位置插入值
print(names)
#['xiaohong', 'xiaohua', 'ddd', 'xiaoxu', 'xiaosun', 'xiaodong']

names[2] = '666' #改值
print(names)
#['xiaohong', 'xiaohua', '666', 'xiaoxu', 'xiaosun', 'xiaodong']

names.remove('666')
#或者 del names[2]
print(names)
#['xiaohong', 'xiaohua', 'xiaoxu', 'xiaosun', 'xiaodong']

names.pop() #没有值则默认删除最后一个,所以上述names.remove('666')=del names[2]=names.pop(2)
print(names)
#['xiaohong', 'xiaohua', 'xiaoxu', 'xiaosun']

print(names.index('xiaohong')) #根据值打印位置
#0

print(names.count('xiaohong'))#统计改值的个数
#1

names.reverse() #翻转整个列表
print(names)
#['xiaosun', 'xiaoxu', 'xiaohua', 'xiaohong']

names.clear() #清空列表
print(names)
#[]

names1 = ['Chenlong','#lilei','xiaolong','6ziji']
names1.sort() #列表内容排序
print(names1)
#['#lilei', '6ziji', 'Chenlong', 'xiaolong']
# 排序优先级为:特殊字符>数字>大写字母>小写字母

names2 = ['1','2','3','4']
names1.extend(names2) #合并列表,原列表不变
print(names1,names2)
#['#lilei', '6ziji', 'Chenlong', 'xiaolong', '1', '2', '3', '4'] ['1', '2', '3', '4']

del names2  #删除列表

 

6. 还有一些进阶版的列表操作:

关于copy函数的

names3 = ['xq','xxqq',['1','2','3'],'666'] #列表套列表
names4 = names3.copy()#复制
print(names3)
#['xq', 'xxqq', ['1', '2', '3'], '666']
print(names4)
#['xq', 'xxqq', ['1', '2', '3'], '666']
names3[1] = 'xiaosun'#第一层列表改值
print(names3)
#['xq', 'xiaosun', ['1', '2', '3'], '666']
print(names4)
#['xq', 'xxqq', ['1', '2', '3'], '666']  注意这里copy的names4没变
names3[2][1] = '5'#第二层列表改值
print(names3)
#['xq', 'xiaosun', ['1', '5', '3'], '666']
print(names4)
#['xq', 'xxqq', ['1', '5', '3'], '666'] 注意这里copy的names第二层也改了
#神奇不神奇!
#总结:copy函数为浅copy,只能copy第一层(内存机制决定)
如果是等号赋值:names4 = names3 那么改第一层names4也会变,用的同一块内存地址
#要想copy的数据完全独立则需要
import copy

#names4 = copy.deepcopy(names3)#深copy,copy的数据完全独立
#列表的循环
names5 = ['1','2','3','4','5']
for i in names5:
    print(i) #挨个全打印

#跳着打印
print(names5[0:-1:2]) #从开始到结尾间隔2打印
print(names5[::2]) #和上一句结果一样,python列表调用中0和-1可以省略不写

7. 元组

元组和列表差不多,也是存一组数,不过它一经创建变无法更改,所以又叫只读列表。

# -*- coding:utf-8 -*-
# Author: Agent Xu

names = ('xq','sun')
#元组操作只有两种:count和index
print(names.count('xq'))
#1
print(names.index('xq'))
#0

明天会练习一个购物车程序。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值