PyTorch笔记(1):基础

一:class / __init__

  • class类包含:

类的属性:类中所涉及的变量

类的方法:类中函数

  • __init__函数(方法)

1.首先说一下,带有两个下划线开头的函数是声明该属性为私有,不能在类地外部被使用或直接访问。

2.init函数(方法)支持带参数的类的初始化 ,也可为声明该类的属性

3.init函数(方法)的第一个参数必须是 self(self为习惯用法,也可以用别的名字),后续参数则可 以自由指定,和定义函数没有任何区别。

  • super( xxxx, self).__init__()

这是对继承自父类的属性进行初始化。而且是用父类的初始化方法来初始化继承的属性。

也就是说,子类继承了父类的所有属性和方法,父类属性自然会用父类方法来进行初始化。

当然,如果初始化的逻辑与父类的不同,不使用父类的方法,自己重新初始化也是可以的。

详细参见:1. __init__(self),self,super,继承杂谈 – CSDN博客

2. Python类中super()和__init__()的区别_Linux编程_Linux公社-Linux系统门户网站

3. Python中:self和__init__的含义 + 为何要有self和__init__

二:Python命令行解析argparse

  • 1、简介:

argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块。argparse模块的作用是用于解析命令行参数,例如python parseTest.py input.txt output.txt –user=name –port=8080。

  • 2、使用步骤:

1:import argparse

2:parser = argparse.ArgumentParser()

3:parser.add_argument()

4:parser.parse_args()

解释:首先导入该模块;然后创建一个解析对象;然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项;最后调用parse_args()方法进行解析;解析成功之后即可使用,下面简单说明一下步骤2和3。

  • 3、方法ArgumentParser(prog=None, usage=None,description=None, epilog=None, parents=[],formatter_class=argparse.HelpFormatter, prefix_chars=’-‘,fromfile_prefix_chars=None, argument_default=None,conflict_handler=’error’, add_help=True)

这些参数都有默认值,当调用parser.print_help()或者运行程序时由于参数不正确(此时python解释器其实也是调用了pring_help()方法)时,会打印这些描述信息,一般只需要传递description参数,如上。

  • 4、方法add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])

其中:

name or flags:命令行参数名或者选项,如上面的address或者-p,–port.其中命令行参数如果没给定,且没有设置defualt,则出错。但是如果是选项的话,则设置为None

nargs:命令行参数的个数,一般使用通配符表示,其中,’?’表示只用一个,’*’表示0到多个,’+’表示至少一个

default:默认值

type:参数的类型,默认是字符串string类型,还有float、int等类型

help:和ArgumentParser方法中的参数作用相似,出现的场合也一致

    原文作者:思行
    原文地址: https://zhuanlan.zhihu.com/p/29763421
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞