python基本语法笔记_Python复习笔记—基本语法

3年前用过Python,现在忘的差不多了,现在项目又用到它了,重新拾起来,记录笔记以方便以后的重拾。

1. Python脚本

脚本提示符:

#! /usr/bin/env python

2. 语言基础

2.1 Numbers

i. Python的整数相除是向上取整

>>> 7/3

2

>>> 7/-3

-3

ii. 复数用(real+imagj),或complex(real, imag)创建

2.2 Strings

i. 单引号(')和双引号(")均可表示字符串

ii. 多行可以用三个引号(""")标识开始和结束

iii. 常量字符串前加r表示raw字符串,内容将不会转义

>>> rawstring = r'raw string \n \t \r keeps'

>>> print rawstring

raw string \n \t \r keeps

iv. 字符串可以用加号(+)连接(常量字符串之间可以省略),且可以重复(*)

>>> repeat = 'I' ' Love' * 3 + ' Python'

>>> print repeat

I LoveI LoveI Love Python

v. 字符串切割(slice)

字符串可以被任意切割,如果范围不正确或超过范围返回空字符串,但下标访问超过范围会抛异常

>>> helloworld = 'hello world'

>>>

>>> helloworld[5:]

' world'

>>> helloworld[6]

'w'

>>>

>>> helloworld[6:]

'world'

>>> helloworld[3:5]

'lo'

>>> helloworld[-1]

'd'

>>> helloworld[-2:3]

''

>>> helloworld[:-6]

'hello'

>>> helloworld[-0]

'h'

>>> helloworld[30:]

''

>>> helloworld[1:100]

'ello world'

>>> helloworld[6:2]

''

>>> helloworld[30]

Traceback (most recent call last):

File "", line 1, in

helloworld[30]

IndexError: string index out of range

2.3 Lists

i. Python的List的元素可以不为不同类型

>>> lista = ['egg', 'hurt', 2, 3.14]

>>> lista

['egg', 'hurt', 2, 3.14]

ii. List可以像字符串一样随意切割,重复,下标访问

>>> lista[0:2] + ['very'] * 2

['egg', 'hurt', 'very', 'very']

>>> lista[3]

3.14

iii. List的替换、插入、赋值、清空

>>> lista

['egg', 'hurt', 2, 3.14]

>>>

>>> lista[0:2]=['foo', 1.72] # replacement

>>> lista

['foo', 1.72, 2, 3.14]

>>> lista[0] = [] #add list as an element

>>> lista

[[], 1.72, 2, 3.14]

>>> lista[0:1] = [] #clear elements between 0 and 1

>>> lista

[1.72, 2, 3.14]

>>> lista[1:1] = ['sec', 'third'] #insert two elements at index 1

>>> lista

[1.72, 'sec', 'third', 2, 3.14]

>>> lista[:0] = lista #make a copy of itself

>>> lista

[1.72, 'sec', 'third', 2, 3.14, 1.72, 'sec', 'third', 2, 3.14]

>>> lista[:] = [] #clear

>>> lista

[]

>>> len(lista)

0

2.4 控制流

i. if...elif..else

>>> def whatx(x) :

if x > 0 :

print 'positive'

elif x == 0 :

print 'zero'

else :

print 'negative'

>>> whatx(-3)

negative

ii. for...in

>>> for i in [1, 2, 3, 4, 5] :

print i,

1 2 3 4 5

和其他语言一样在循环的时候添加删除元素是不安全的,Python可以隐式的拷贝一个List

>>> odds = [1, 3, 4, 7]

>>> for i in odds[:] : #make a slice copy of entire list

if (0 == i % 2) :

odds.remove(i)

>>> odds

[1, 3, 7]

iii. Range,可指定起始,步长

>>> range(5)

[0, 1, 2, 3, 4]

>>> range(2, 10)

[2, 3, 4, 5, 6, 7, 8, 9]

>>> range(3, 15, 3)

[3, 6, 9, 12]

>>> range(-5, -30, -5)

[-5, -10, -15, -20, -25]

iv. Pass占位符

Pass什么都不做,只是让语法通过,

>>> class Non :

pass # minimal class for indicate a status

>>> def foo() :

pass # remember implement this

>>>

v. 赋值

Python可以一次给多个变量赋值

>>> x, y, z = 1, 5, 7

>>> x

1

>>> y

5

>>> z

7

vi. == 和is

==相当于equals,而is确定是否是同一对象。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-07-06 16:10

浏览 2456

评论

  • 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、付费专栏及课程。

余额充值