Python小白的工作总结

工作中遇到一些由于python代码不规范导致的问题,在此记录--。

1.判断语句or条件语句尽量不用if ~else,用numpy的np.where(),np.where有两种用法,

1.np.where(condition,x,y) 当where内有三个参数时,第一个参数表示条件,当条件成立时where方法返回x,当条件不成立时where返回y

2.np.where(condition) 当where内只有一个参数时,那个参数表示条件,当条件成立时,where返回的是每个符合condition条件元素的坐标,返回的是以元组的形式。

np.where的多条件判断:

多条件时condition,&表示与,|表示或,假如我们,利用A的数据的有效范围[0, 2000]进行判识,100为可使用,0 为不可使用。

np.where((A >= 0) & (A <= 2000), 100, 0)

2.定义结构体

在数据格式已知的情况下,首先对他逐个字节进行结构体定义,方便后续直接调用其中的结构和变量,比先逐字节读取到package,再按位置索引寻找有效信息的方法好。

3.条件过滤和筛选

用== 判断加[ * ]的形式直接筛选出符合条件的数据和其中的变量。

4.np.c_用于按列合并,要求数组的第一维是相同的。

5.用np.diff求导时会导致与原始数据相比维数-1,用np.gradient()可避免。

6.调试代码时,用import pdb,然后在想要调试的位置加入

pdb.set_trace(),这样代码运行到这个以后就会暂停,多用n和q,直接print(),这样print就不用提前写在代码里了。

7.插值时,用np的interp函数报错了,最后换了scipy的interp1d避免,同时增加了fill_value='extrapolate'避免了内插超过范围的问题。

8.缩进与作用域

python没有大括号的概念,严格执行缩进的逻辑执行代码,所有缩进一格 的同属于一个作用域。所有的模块和方法可以顶格写,只写一个main,然后顺序执行。如果有些参数没有传出来或者后续不可调用就要检查下是不是缩进的问题,或者在合适的位置进行global声明。

相关推荐
小陈工2 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
H Journey2 小时前
C++之 CMake、CMakeLists.txt、Makefile
开发语言·c++·makefile·cmake
A__tao6 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢6 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
lly2024066 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨6 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9996 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4946 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n7 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨7 小时前
python扫码登录dy
开发语言·python