资讯专栏INFORMATION COLUMN

奇技淫巧第二期

Rocture / 2947人阅读

摘要:因为产生的顺序是先比较第一位,再比较第二位,并且没有很好的解决办法。这种语法的限制是,需要保证异常从属与异常。两个异常都将显示。

这个系利的初衷是回顾琐碎知识点,但后来发现更实用的地方在于,csdn的blink不能进行检索。汇总后,发在文章里,知识点可以被检索到。

C++

1
C++中cout的使用, iomanip库可以控制C++的输出
https://blog.csdn.net/qq_35481167/article/details/82792103
c++ i++和++i的区别
i++:先引用,后增加
++i:先增加,后引用
所以cout< cout<<++i< 上面链接里有一个很好的例子
2
自动初始化局部变量和全局变量

3
1、打开与VS2013相关的文件,然后选择需要批量注释的代码。 2、同时按住键盘上的“ Ctrl + K + C”以实现快速批处理注释。 3、返回主界面,发现快速批注操作已在vs2013中完成。 [此外,您可以通过“ Ctrl + K + U”组合键快速批量取消注释]
4
使用Cmake编译文件
第一步:安装gcc,配置环境变量:https://blog.csdn.net/LinusZhao1018/article/details/82152960
第二步:执行cmake命令:https://zhuanlan.zhihu.com/p/59161370
期间遇到了没有生成Makefile的问题,更换编译器为gnu即可解决:https://blog.csdn.net/weixin_42660446/article/details/119650036
5
关于C++ vector的一些程序:

#include #includeint main(){    std::cout << "Hello World!/n";    std::vector<int> name;    for (int i = 1; i <= 5; i++)    {        name.push_back(i);    }    name.insert(name.begin(), -1);    name.pop_back();    name.erase(name.end() - 2, name.end());    for (int i = 0; i < name.size(); i++)    {        std::cout << name[i] << std::endl;    }}

6
cout不换行输出:

for (int i = 0; i < name.size(); i++){    std::cout << name[i] << " ";}

换行输出:

for (int i = 0; i < name.size(); i++){    std::cout << name[i] << std::endl;}

7
c++ for each循环
https://www.bilibili.com/read/cv8039359/
8
C++构造二维数组快捷方法:

int m[2][2] = { 1,1,2,2 };

9
【C++】cmdline —— 轻量级的C++命令行解析库
https://blog.csdn.net/xiaohui_hubei/article/details/40479811

Linux

1
linux 添加环境变量
export xxx
比如:
KMP_DUPLICATE_LIB_OK=TRUE

Python

1
from glob import glob
print(glob(r’I:/dummy_test_folder*’))

glob类似os.listdir()
2
yield使用策略:①放在for循环里②使用时当做列表
3
两种创建task_work_folder的方式
for item in os.listdir(path_raw_xyz_):
addon_list_str = item.split(’.’)[0]
lazy_mkdir(os.path.join(path_cooked_xyz_, addon_list_str))
这种方式顺序读取原文件夹的每一个文件,以该文件的名称命名。
for idx, item in enumerate(os.listdir(path_raw_xyz_)):
lazy_mkdir(os.path.join(path_cooked_xyz_, str(idx)))
这种方式使用enumerate函数,无法保证新建文件夹的名称和里面xyz文件的名称相同。
因为os.listdir产生的顺序是先比较第一位,再比较第二位,并且没有很好的解决办法。
4
pycharm实用技巧:
选中代码行
alt+ctrl+l
自动调节代码间距,十分方便!!!!!!!!!
5
dpdispatcher中的几个path
一种简易的,可行的方式是把
local_root, work_base设为相同的
task_work_path是该文件夹下面的各个子文件夹
remote_root是在线运行的文件夹,可以为空,存放临时文件
6
https://www.cnblogs.com/qi-yuan-008/p/12708901.html
python异常处理语句try…except…
原链接中提到,通用异常可以和特定异常混用,经过测试,异常符合特定异常标准时,通用异常不再启用

num = [9,7,0,1,4,"16"]for x in num:    try:         print (1/x)    except ZeroDivisionError:        print("error:0做除数!")   #特定异常和Exception混合使用    except Exception as e:        print("the Exception is:",e)print(" ---finished!!--- ")

7
装包的时候报错
Traceback (most recent call last):
File “setup.py”, line 16, in
readme = f.read()
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x8b in position 241: illegal multibyte sequence
这种问题可以通过修改setup.py里面的一句话解决

8
raise和raise…from的区别
python在处理异常的时候引入了raise…from,可以显示异常间的上下文关系,方便后续debug。这种语法的限制是,raise xxx from yyy需要保证yyy异常从属与xxx异常。两个异常都将显示。
此外可以用raise…from None只显示粗放的异常(虽然不明白这样做有什么意义)
https://www.cnblogs.com/qixidi/p/10160614.html

9
python二维列表,索引单个元素只能类似C语言那样,整两个[ ]
把二维列表转化为ndarray类型的变量以后,可以用一个[ ]进行索引
因为列表数据结构一直是一维的,只能先用[ ]索引一次,再用[ ]索引一次
而经过array转化以后变成了二维的数据结构,可以直接索引

10
训练神经网络,loss接连为空,可能的原因是输入数据有空、梯度爆炸、数据未归一化、网络结构不合理

11
https://www.cnblogs.com/changbaishan/p/8454511.html
python自动输出百分数,安装下面范式即可

print(f"{a:%}")

12
使用cmd命令打开Jupiter文件夹
https://jingyan.baidu.com/article/7f41ecec78b8cb593d095ca8.html
13
使用df.to_excel(‘xxx.xlsx’)可将pandas里的DataFrame对象存进Excel里
https://blog.csdn.net/weixin_43952650/article/details/89296710
保存python列表数据到Excel
①列表和列表名构成字典{‘列表名’:列表变量}
②字典转为DataFrame
③利用pandas预处理一下数据(这一步可以不用要)
④df.to_excel即可
14
使用os.symlink创建软链接

15
python glob.glob使用
返回满足要求的文件

16
https://zhuanlan.zhihu.com/p/264331630
python argparser.Argumentparser()模块
首先建立一个parser对象,然后确定该对象从命令行读取哪些参数
执行:从命令行读取参数,赋值给实例化的parser对象
调用该对象。
17
列表的内置函数extend()可以实现两个列表的拼接
注:python列表都是零维的,不用担心维度的问题
+=也可以实现同样的功能
18
python中的int型可表示的数字理论上是无限大的(只要电脑内存够大),不用担心溢出
https://www.zhihu.com/question/65014572
原因如下:
https://segmentfault.com/a/1190000015284473
简单说就是大整数被切块储存在数组里面,因此长度是动态的
19
10进制转任意(小于36)进制方法
def baseN(num, b):
return ((num == 0) and “0”) or (baseN(num // b, b).lstrip(“0”) + “0123456789abcdefghijklmnopqrstuvwxyz”[num % b])
20
and or运算符

21
dataframe添加数据,可以向列表一样简单
https://zhuanlan.zhihu.com/p/257083060
22
os.path.isdir()和os.path.isfile()使用时一定要注意,参数应该是绝对路径!!!!!!不能是相对路径。
错了,可以是相对路径,但二者要在同一目录里

if os.path.isfile(r"/vasp/123.txt"):    print("1")#不可以if os.path.isfile(r"vasp/123.txt"):    print("1")#可以if os.path.isfile(r"../123.txt"):    print("1")#可以if os.path.isfile(r"/../123.txt"):    print("1")#可以

源码修改纪录

1
修改dpdata源码记录:
把’orig’键删掉即可正常运行
multisystem里面有’orig’,需要删掉

2
dpdispatcher修改实录
run_submission脚本修改
增加了两个try…except…语句
ssh_context脚本中的download函数
修改check_exists为Ture
mark_failure为False
3
monty
serialization.py
修改实录:
为了保证正常编解码,79行插入encoding=‘UTF-8’

SQL

1
SQL四种语言:DDL,DML,DCL,TCL
https://www.cnblogs.com/henryhappier/archive/2010/07/05/1771295.html

1
内存基础知识:
位 bit B是数据传输的基本单位,是最小一级的信息单位
1字节(Byte)=8位(bit)
1KB( Kilobyte,千字节)=1024B
1MB( Megabyte,兆字节)=1024KB
1GB( Gigabyte,吉字节,千兆)=1024MB
1TB( Trillionbyte,万亿字节,太字节)=1024GB
1PB( Petabyte,千万亿字节,拍字节)=1024TB
C语言中:
char 1个字节
int 4个字节
long 8个字节
float 4个字节 6~7位有效数字(默认显示6位)
double 8个字节 15~16位有效数字(默认显示6位)
字长由计算机系统决定,以位为单位,常见的有32位和64位
指计算机一次性可以处理的位数
2
python各类型变量所占内存
import sys

print(sys.getsizeof(1))
print(sys.getsizeof(1.00000000))
print(sys.getsizeof(“111111”))
print(sys.getsizeof(“1”))
print(isinstance(1,int))

输出:28,24,50,55,True
3
左右操作数、目标数

4
windows系统下文件命名是有限制的,最多255个字符(算上上级目录)

5
Typora没有公式自动补全功能,可以方便地打公式
6
体心立方 body-centered cubic (bcc)
面心立方 face-centered cubic (fcc)
密排六方 hexagonal closepacked structure (hcp)
简单立方 simple cubic (sc)
金刚石结构 金刚石立方晶体结构 (diamond cubic lattice structure) (diamond) (四面体)
7
json文件编写时注意事项
记录一下json文件编写时遇到的bug
json.decoder.JSONDecodeError: Expecting value: line 69 column 25 (char 2657)
本来接收数字的地方,给了字符串
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 15 column 5 (char 557)
键值和键都要用双引号括起来
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x9c in position 1206: illegal multibyte sequence
load json文件时要注意unicode

latex

自动编译有问题,手动编译可以解决问题。
π输入时要加包,和公式符号美元
关键词不区分大小写
中文编译用xelatex
纯英文:pdflatex biblatex pdflatex pdflatex
含中文:xelatex biblatex xelatex xelatex

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/121143.html

相关文章

  • 智东西公开课 | 虹软带你读懂人脸识别商用那些事【二期

    摘要:月日,人脸识别商用线上公开课第二期即将开启。潘海波老师负责虹软视觉开放平台的开放平台架构与技术落地,从事智能安防与互联网技术架构多年,具有丰富的一线研发经验,对人工智能云计算大数据等技术应用有深厚积累,堪称业内人脸识别商用的顶级专家。 继虹软与智东西合作的第一期线上公开课《人脸识别技术的商业落地及挑战》结束后,好评如潮,偌大一个直播间涌入了超过7000名听众,各类提问与留言也达到600...

    WilsonLiu95 评论0 收藏0
  • 每周前端开源推荐二期

    摘要:每周前端开源推荐第二期是一个可自行部署的,类似我的忍不住发了个广告捂脸后端即服务是将后端的一些逻辑抽样出来变成一种服务,以便多平台共同使用。 每周前端开源推荐第二期 strongloop/loopback LoopBack is an open source backend for your mobile apps. Connect to multiple data sour...

    Crazy_Coder 评论0 收藏0
  • 每周前端开源推荐二期

    摘要:每周前端开源推荐第二期是一个可自行部署的,类似我的忍不住发了个广告捂脸后端即服务是将后端的一些逻辑抽样出来变成一种服务,以便多平台共同使用。 每周前端开源推荐第二期 strongloop/loopback LoopBack is an open source backend for your mobile apps. Connect to multiple data sour...

    szysky 评论0 收藏0
  • 每周前端开源推荐二期

    摘要:每周前端开源推荐第二期是一个可自行部署的,类似我的忍不住发了个广告捂脸后端即服务是将后端的一些逻辑抽样出来变成一种服务,以便多平台共同使用。 每周前端开源推荐第二期 strongloop/loopback LoopBack is an open source backend for your mobile apps. Connect to multiple data sour...

    hoohack 评论0 收藏0
  • 好雨云帮开发者大赛二期:「Beego」

    摘要:许式伟七牛云存储社区发起人语言专家,著有语言编程。年创办七牛云存储,成功打造了全新的公有云存储服务。合作伙伴好雨及有权取消侵权作品参赛资格,并保留追究权利。 用最拿手的语言和框架,在很棒棒的severless架构PaaS平台上做沉浸式DevOps流开发,轻松抱得大奖归! [好雨云帮开发者大赛「第二期」:Beego]剧情已写好,就差有创意、有技术、有天赋、有实力的你来参加! Progra...

    tracy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<