美文网首页
不会就记系列之 Python 与 Pytorch

不会就记系列之 Python 与 Pytorch

作者: oneoverzero | 来源:发表于2020-03-04 11:52 被阅读0次

Python 部分

001. Python 中 sys.argv[] 的用法

sys.argv[] 存储的是一个列表:

  • 其中 sys.argv[0] 指代的是运行的程序代码本身。例如当运行 python train.py 时,sys.argv[0] 就等于 train.py (数据类型为 str );
  • sys.argv[1] 开始,存储的都是额外的命令行参数。例如当运行 python train.py aaa bbb 时,sys.argv[1] 等于 aaasys.argv[2] 等于 bbb

参考: https://www.cnblogs.com/aland-1415/p/6613449.html

002. scipy.misc.imread() 函数
003. copy()deepcopy()

参考: https://www.cnblogs.com/Richardzhu/p/4723750.html

Python 对象之间的赋值类似于 C 语言中的指针:b = a 是将指针 b 指向了指针 a 所指的内容。例如:

a = [1, 2, 3, 4, ['x', 'y']]
b = a # 将指针b指向指针a所指的内容
print(b)
# 输出:[1, 2, 3, 4, ['x', 'y']]

copy.copy() 是浅拷贝,它拷贝的是父对象的内容以及父对象内部子对象的指针。这也就意味着,拷贝出来的内容不会随原父对象内容的改变而改变,但会随原子对象内容的改变而改变。例如:

import copy
a = [1, 2, 3, 4, ['x', 'y']]
b = copy.copy(a)
print('浅拷贝同时拷贝父对象和子对象:{}'.format(b))
a.append(5)
print('它会免疫父对象内容的改变:{}'.format(b))
a[4].append('z')
print('但会受到子对象内容的影响:{}'.format(b))

输出如下:

浅拷贝同时拷贝父对象和子对象:[1, 2, 3, 4, ['x', 'y']]
它会免疫父对象内容的改变:[1, 2, 3, 4, ['x', 'y']]
但会受到子对象内容的影响:[1, 2, 3, 4, ['x', 'y', 'z']]

copy.deepcopy() 是深拷贝,它拷贝的是父对象的内容以及子对象的内容。因此,深拷贝既不会随父对象内容的改变而改变,也不会随子对象内容的改变而改变。例如:

import copy
a = [1, 2, 3, 4, ['x', 'y']]
b = copy.deepcopy(a)
print('深拷贝同时拷贝父对象和子对象:{}'.format(b))
a.append(5)
print('它既可以免疫父对象内容的改变:{}'.format(b))
a[4].append('z')
print('但又可以免疫子对象内容的改变:{}'.format(b))

输出如下:

深拷贝同时拷贝父对象和子对象:[1, 2, 3, 4, ['x', 'y']]
它既可以免疫父对象内容的改变:[1, 2, 3, 4, ['x', 'y']]
但又可以免疫子对象内容的改变:[1, 2, 3, 4, ['x', 'y']]

004. 安装 SciPy

SciPy 官网: https://scipy.org/install.html

使用如下命令安装:

python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose

005. defaultdict

collections.defaultdict 是提供了默认值的字典:defaultdict 会为每个未知的 key 分配一个初始的 value ,从而即使直接从 defaultdict 中取键对应的值,也不会报错。而用默认的 dict 时,如果事先不为键分配一个初始值,则直接根据键取值会报错。

参考: https://www.jianshu.com/p/26df28b3bfc8

006. split() 函数

详见: https://www.cnblogs.com/hjhsysu/p/5700347.html

007. 如何将一个字符串分解成单个的字符

参考: https://blog.csdn.net/qq_29750277/article/details/82023347

使用 list 即可。例如:

x = 'abc'
y = list(x)
print(y)

输出:['a', 'b', 'c']

上述字符串可以直接使用 sort 函数:

a = 'cba'
y = sorted(a)
print(str(y))

输出:['a', 'b', 'c']

008. 解决 TypeError: unhashable type: 'list'

参考: https://blog.csdn.net/you_are_my_dream/article/details/61616646

字典的 key 不能是 listdict 这种 unhashable 类型的,可以使用 tupletuple 是可哈希的)。



Pytorch 部分

相关文章

网友评论

      本文标题:不会就记系列之 Python 与 Pytorch

      本文链接:https://www.haomeiwen.com/subject/yprmlhtx.html