自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (1)
  • 收藏
  • 关注

原创 如何划分类/单一职权原则SRP

类有且只有一个原因需要修改它,这样的才是一个结构简洁的类。

2024-09-10 11:08:53 410

原创 python的子类和父类/子类的__init__()方法

需要根据子类和父类的实际含义:先确定子类和父类中的属性/方法,哪些需要继承,哪些又有所不同,来确定子类是否需要__init()__以及__init__()的内容,以及在继承关系中和父类在方法上的区别。1. 凡是子类在属性上和父类是有所区别的(子类部分属性和父类不同/子类的属性和父类完全不一样,总之就是和父类属性有区别),那么子类就需要有自己的__init__()方法,来说明自己的属性。(子类和父类属性完全不同也是可以的,有时候子类就像继承父类的方法呢,那么可以形成一种继承关系)

2024-08-30 10:57:41 427

原创 python 函数的参数/位置参数/关键字参数

*kwargs: 关键字参数,以字典形式存储。既以字典形式存储,那么在调用函数时必须以关键字形式给出定义,也就是给出明确的键值对。3. **kwargs此类型的可变参数,赋予实参时必须同时给出关键字和参数值,也就是以键值对形式给出。4.只要参数全部以关键字形式给出参数,无关参数在函数定义中的位置,顺序随便怎么写。如果是关键字参数和位置参数混合的,位置参数按照函数的定义是的参数顺序,关键字参数。*args:以tuple形式存储。2.不能对同一个参数多次赋予实参。

2024-08-29 11:17:15 383

转载 python数据可视化——如何选择合适的视图

按照需要体现的内容确定合类型的视图。

2024-08-28 09:36:01 146

原创 关于多参数/排列组合的结果分配

采用权重的方法,比如危险程度用本车车速+他车车速+1/相对距离*系数的方式,将这个结果作为每个组合的危险值,然后根据危险值的大小进行分组,根据不同的分组结果给出是否危险的判断结果。有多个参数,这些参数形成一系列的组合,需要根据不同参数的取值情况给每种组合一个判断结果作为规则。比如,参数是本车速度,他车速度,相对距离,需要分配的规则为:危险/不危险。一套代码,能够对输入值的数据大小进行分组((可规定组数)当参数很多的时候,组合太多,难以处理。

2024-08-27 11:32:42 228

原创 python 类中的属性的初始化

(1)所以说尽量不要把有输入数据和没有输入数据做成两种方案,因为如果这两种方案中所处理的属性是不一样多的,很容易就造成属性的值的混乱,不管输入有没有数据,都用同一套方案进行处理。特别是对于当输入数据有变化(有输入/无输入)的情况下,有些属性不会进行更新的情况,这样可能会导致某些属性的值会停留在没有被更新的状态,而是被之前的值覆盖。(2)特别是对于属o性这种,要做好初始化(其实个人感觉如果上一步做好了,每都能根据输入数据的不同把所有的属性刷新一遍的话,其实初始化好像也不需要太多)

2024-08-26 16:35:59 275

原创 python import 模块/包

import : 错!module不是package,点前面应该是package。包:一个包含有__init__.py的文件夹,叫做一个包,里面放了一些模块(.py文件):一个以.py结尾的文件。模块里包含了我们的一些全局变量/函数的定义/类的定义等。from import import

2024-08-19 11:31:05 340

原创 Git的一些简单使用

git的目的就是:及时的检测更改,就是为了让你能够把不同版本的代码及时的保存提交,所以git status也只会对可能会影响此结果的事情进行提示,比如可能要提交的文件的修改才会在git status中显示,或者虽然是被提交的文件,但是如果没有修改后再次add,也不会再git status中显示。将会生成一个.git文件夹(如果没有发现,说明这个文件夹被隐藏了,但还是存在的)都提交上去之后,显示working tree clean,也就是没有什么待提交的了。6.把某个版本的从git仓库中拉下来,

2024-08-02 10:43:49 750

转载 python 的私有属性和私有方法的理解

伪私有,通过变换名字来使其无法访问,其实换个名字可以试试,看看能否调用到私有属性或者私有方法。

2024-08-01 14:10:37 42

原创 python list和array(np.array, array.array)在内存中的不同

(2)列表:其中存储的是元素的引用,其引用指向的元素在内存中不一定是连续的,所以list可以很方便的扩展元素。(但是list中元素的引用在内存中好像是连续的,list能扩张内存的引用可能和python的一些管理机制有关,知道list比较方便扩张元素,而且是在原来list上进行扩张的就可以了)但是在 array.array 中,所有元素的类型必须一致,只能存储“数”,也就是数字类的。可以理解为,数组的内存分布是一次性完成的,确定了之后不能再更改,因为不确定再向后连续扩展内存会不会覆盖新需要的内存的有效数据。

2024-08-01 10:26:36 563

原创 python 可迭代对象

比如list()对象就是__iter__ 和__getitem__方法都有,说明既可以用for循环迭代其中的元素,并且其中的元素也可以用index取到,是有序的。set()对象只有__iter__方法,说明set()对象只能用for循环去进行遍历,但是其内部的元素实际上是无序的。对象的方法中如果有__iter__ 或者__getitem__: 则该对象是可迭代的对象iterable,__getitem__:可以用index进行迭代,可迭代对象中的元素是有序的。__iter__:可使用for循环进行迭代。

2024-07-31 21:16:15 294

原创 代码中如果需要存储上一次的数据和最新的结果做对比

(2)compare_current_result_and_last_result() # 如果是第一帧,可以设置一个if,因为相对第一帧来说,没有last_result。(3)save_current_result_as_last_result() # 将当前的结果存储为last_result,然后循环这三步,可以比较不同帧之间的结果。以上三步其实相当于:(1)得到当前的 ->(2)新旧比较 -> (3)存储当前的为last -> (1)得到当前的 -> (2) -> (3) -> ··· -> 循环。

2024-07-31 13:19:19 187

原创 python 装饰器及使用场景

总的来说,装饰器的作用是:当定义一个函数的时候,通过在其上面加上@装饰器,在不改变其原本定义的代码的基础上,能够改变(通常是增加)函数的作用。@装饰器 def func() 和 def func(),在调用的时候都是func(), 但实际上两个func()的作用已经是不同的了。上面这种用装饰器的效果和下面这种是一样的,两个圈起来的是等价的,只是写法不一样,用@装饰器函数 更简洁一些。现在了解到的,可以用在打印日志,或者打印一些被装饰的func相关的信息等,可见链接里的例子。

2024-07-30 16:16:10 381

原创 python 类方法 静态方法 实例化方法

比如类的方法可以像下面这样用,相当于直接调用类的方法去创建一个类的对象,这样在def __init__中不需要加上一些预处理,相当于在这个类的方法中直接处理好__init__中需要的一些属性,然后在__init__中直接放需要的属性就可以。实例化方法,主要是用在一些工具类中,于self和cls都没有关系,没有默认参数,相当于比较好的把写在外面的def function都放在一个类中,用在工具类中。类的方法和静态方法都不需要创建类的实例化对象,实例化方法需要创建类的实例化对象。类的方法和实例化方法。

2024-07-30 13:57:11 192

原创 【杂】一些coding时的记录/代码解耦/程序结构

类的设计不要大而全,降低代码耦合度。做什么事情就主要做什么事情,不要引入太多的功能。 如果代码中数据格式有更改,可以考虑设计一个中间层,做好新老接口的变化。 单一职责原则。高内聚会让代码更加松耦合,而实现高内聚的重要指导原则就是单一职责原则。模块或者类的职责设计得单一,而不是大而全,那依赖它的类和它依赖的类就会比较少,代码耦合也就相应的降低了 确定好接口。不要大而全,要小而专。 如果需要有依赖关系的类,尽量只依赖必要的接口。 设计代码的时候,注意当代码发生可能的变化的时候,是否会牵一发而动全身.

2024-07-30 13:25:54 237

原创 python中list的深拷贝和浅拷贝

【代码】python中list的深拷贝和浅拷贝。

2024-07-29 16:29:49 254

原创 python 逐行分析代码运行时间 LineProfiler

使用LineProfiler,可显示每行代码的运行时间,以及时间占比,也可分析总的运行时间,。然后,确定需要分析的代码。

2024-02-19 16:30:10 770

原创 spyder 对 lambda 函数的调试

【代码】spyder 对 lambda 函数的调试。

2024-01-23 12:13:55 440

原创 Error: Spyder was unable to retrieve the value depends on how module is imported

python interpreter所在的环境中没有安装spyder,也就是当前打开的spyder界面并不是安装在当前环境中的spyder。在当前环境中安装spyder,如何安装见下方链接,注意。

2023-12-12 10:14:25 867

原创 python try-except

在try的部分中,当遇到第一个Error,就跳转到except中寻找对应类型的error,后续代码不再执行,如果try中有多个Error,注意顺序。以下程序可用于查看try-except的运行顺序。相比于直接raise ValueError,使用try-except可以使程序在发生异常后仍然能够运行。

2023-12-05 21:37:26 491

原创 python import 顺序以及自动实现import 顺序更改

我们推荐所有的模块在 Python 模块的开头部分导入。核心风格: import 语句的模块顺序。使用isort实现import的自动排序。1. Python 标准库模块。2. Python 第三方模块。可实现import的自动排序。3. 应用程序自定义模块。1.安装isort库。

2023-12-05 20:34:03 1102

原创 DataFrame和Series的索引

因为不同情况下要合并的df的数量不一样啊,直接放会引起混乱,从如何方便使用函数的角度想想,一般都是放在一个整体中的,除非有那种明确的,这个函数的作用就是支队固定个数的参数进行操作,那样才有可能是相对“随意”的方式,因为在别处固定了。这个相当于df的数据来源是一个具有多个元素的列表,也就是这是一个词典列表,对于多个词典列表组成的df:如下,就是这么处理的:注意,这里没有把key对应的value再展开。df的数据来源有多种,可以从列表,词典,集合,数组等,只要有符合要求的数据,都可以创建df。

2023-11-12 14:06:57 279

原创 关于程序的tips记录

1.对于“规则”类的部分,可以做成配置文件放在外面,这样方便直接在文件外读取,更改规则,而不用到代码中进行。2.对于计算的准确度不高的数值,可以给一个带宽,适当的给该值一个容差。

2023-10-12 11:44:56 113 3

原创 Python中的函数传参

python传参

2023-05-26 17:31:58 195 1

原创 conda install 新版本没有作用 与 Spyder调试

spyder调试

2023-05-26 16:54:19 265

原创 Python—子类对父类的继承&子类新增属性,方法,类的方法

内容是记录在OneNote中的,不太方便导入到CSDN中,就用截图来说明吧。里面记录了一些父类、子类、类的属性和方法的内容。

2023-05-19 23:18:24 1069

原创 结构体数组、结构体指针、结构体二级指针

结构体指针、结构体指针数组

2023-01-17 15:21:44 433

原创 结构体二级指针、空指针、野指针

结构体指针

2023-01-16 14:22:02 811

原创 break、switch、continue

循环中的break与continue

2023-01-06 17:22:22 569

原创 多线程、进程、mutex

线程、锁

2023-01-05 16:57:28 121

原创 数组名、&数组名、指针;函数指针

数组名与&数组名

2023-01-04 11:30:19 210

原创 指针与数组作为sizeof() 与 strlen()的“参数“

sizeof与strlen

2022-10-28 11:35:30 384

原创 结构体中有指针成员的逐层malloc 与 free

malloc 和 free

2022-09-07 16:55:29 2266

原创 C语言-多线程-线程执行函数、互斥锁\线程函数malloc与free

多线程

2022-09-06 09:29:16 1356

原创 二级指针/传值、传址

二级指针/传值、传地址

2022-08-20 17:38:53 376

原创 V2X消息层——MAP信息的解读

C-V2X

2022-08-17 15:25:24 1914

原创 二级指针的简单理解

二级指针

2022-08-09 16:12:26 409

原创 结构体指针一定要进行初始化,指针也要进行初始化

C语言

2022-07-01 15:05:41 1795

原创 通过malloc和指针,用传址的方式更改实参的值

C语言

2022-06-30 16:38:45 319

转载 关于指针的一些问题

C语言

2022-06-30 15:27:02 603

YDT 3400-2018 基于LTE的车联网无线通信技术 总体技术要求.pdf

YD/T 3400-2018 基于LTE的车联网无线通信技术总体技术要求PDF文档

2021-07-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除