目录
基础知识
- 入x=input(“提示的信息”) / 输出print(“输出的信息”)
- 采用代码缩进和冒号 : 来区分代码块直接的层次
冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束
例子:
a=1
if a==1:
print(“正确”) # 缩进4个空白占位
else: # 与if对齐
print(“错误”) # 缩进4个空白占位
补充:要求属于同一作用域中的各行代码,它们的缩进量必须一致 - 运算符
** 幂运算符
// 进行除法运算后向下取整
成员运算符:in、not in
身份运算符:is、is not
id()函数:获取变量地址 - 数据类型:Number(int\float\complex复数)、String、List、Tuple元组、Set、Dictionary
Set集合:使用大括号 {} 或者 set() 函数创建,无序,不可重复,元素可变
注意:创建空集合必须使用set()函数
添加元素:add();添加更多的元素update();移出元素remove() - 一行末尾+ “\”:换行
- type()函数:获取任何对象的数据类型
- 生成随机数:
import random #导入random模块
print(random.randrange(1,11)) #随机生成一个1到10之间的随机数 - pass 语句不做任何事情,一般用做站位语句,是为了保持程序结构的完整性
- 命名风格:函数名:FristFunctionName();变量名:first_value_name
字符串
常用操作
常用方法
列表
常用方法
len、append、remove、max\min\sort
count、index、insert、reverse、clear、copy、pop
使用 for 循环对列表进行遍历
字典
基本格式
dict={ “key0”:”value0”,
“key1”:”value1”
…}
元组
元组的创建方式和列表一样,只不过用的是 (),列表用的是 [],元组中的元素是不可改变的。元组可用作字典的键,也可以作为集合的元素,而列表则永远都不能当做字典键使用
e.g.
常用方法
- dict.keys():所有键 / dict.values():所有值 / dict.itms:所有键值对
- 添加\更新key对应的值:dict [key]=”value”
- key值是否存在:bool=”key” in dict
- 删除键值对:del dict[“key”]
- 键值对数:len(dict)
循环
for循环
基本格式
i从5到9
elif = else if
while循环
基本格式
字符串格式化
打印动态信息,使用format对字符串进行格式化
0/1:第1/2个参数
保留两位小数
函数
格式
def function(a,b):
# 定义函数的代码
# 定义函数的代码
return a+b
调用
function(a,b)
python模块
引入:(第三种不推荐)
部分模块介绍:
- glob:提供了一个函数用于从目录通配符搜索中生成文件列表
- os:提供了许多与操作系统交互的函数,例如创建、移动和删除文件和目录,以及访问环境变量等
- shutil:高级的文件,文件夹,压缩包处理模块
- setuptools:Python distutils增强版的集合,帮助更简单的创建和分发Python包
- typing:提供静态类型检查
- time 模块:time 模块提供了处理时间的函数,例如获取当前时间、格式化日期和时间、计时等。
其他补充:
- torch:包含了多维张量的数据结构以及基于其上的多种数学操作。另外,它也提供了多种工具,其中一些可以更有效地对张量和任意类型进行序列化。具体包括pytorch张量的生成,以及运算、切片、连接等操作,还包括神经网络中经常使用的激活函数,比如sigmoid、relu、tanh,还提供了与numpy的交互操作
- opencv:图像视频数据处理的库
- yolo:目标检测的算法
- pytorch:实现yolo的框架
类
定义属性与方法
class student:
def __init__(self,name,id):
self.name=name
self.id=id
self.grade={"chinese":0,"math":0,"english":0 }
def setGrade(self,course,grade):
if course in self.grade:
self.grade[course]=grade
def printGrade(self):
print(f"studentName:{self.name}(id:{self.id})的成绩为:")
for course in self.grade:
print(f"{course}:{self.grade[course]}")
chen=student("小陈","1191002005")
chen.printGrade()
继承
class Employee:
def __init__(self,name,id):
self.name=name
self.id=id
def printInfo(self):
print(f"员工姓名:{self.name},工号:{self.id}")
class FullTimeEmployee(Employee):
def __init__(self,name,id,monthSalary):
super.__init__(name,id)
self.monthltSalary=monthSalary
文件
读文件
read方法
与for循环结合
关闭文件
写文件
w:写入模式;a:附加模式;r+:覆盖式读写;a+:添加式读写
异常处理
捕捉异常
测试
assert你认为true的语句
若语句为false会产生AssertionError报错
常用的python单元测试库:unittest
Jupyter Notebook相关
Jupyter notebook:编译器
-
启动:cmd窗口输入jupyter notebook,浏览器中输入http://localhost:8888/tree(使用时cmd窗口不关闭)
-
单元格状态切换:esc(蓝竖线,选中状态)/ enter(绿竖线,编辑状态)
-
两个模式:markdown,code;切换:选中单元格状态下,M与Y
-
单元的增:上方A下方B;删:双击D;复制C;剪切X;粘贴V;撤销Z
-
参考文档:help() \ -? \ shift+tab
-
运行:ctrl+enter(运行本单元,选中当前单元)
shift+enter:运行本单元,选中下一个单元
alt+enter:运行本单元,在下面插入一个单元 -
运行外部python文件:%run XXX.py,相当于把整个文件的资源加载到jupyter nootbook中
-
运行计时:
%:单行代码;%%多行代码
time:代码运行一次;timeit:代码运行多次取平均 -
查看当前会话中所有变量与函数:
%who:快速显示名称;%whos:详细信息;%who_ls:返回字符串列表 -
执行Linux指令
e c h o / echo/ echo/pwd/ l s / ls/ ls/mkdir
Mac Linux:用!(Windows:用% ) -
查看魔法指令:lsmagic
-
IPython输入输出历史
“_”:表示上一个输出
“_2”:表示Out[2] -
可视化工具:Matplotlib、seaborn、Excel、POWERBI、Tableau、SPSS
Numpy
导入:import numpy as np
创建array:np.array(),e.g. np.array([1,2,3])
OpenCV
导入:import cv2