编程中argument什么意思?一定要准确..

编程中argument什么意思?一定要准确..,第1张

argument 和parameter 一样,都是函数参数

parameter是指函数定义中参数,而argument指的是函数调用时的实际参数。

在调用有参函数时,主调函数和被调函数之间有数据传递关系。在主调函数中调用一个函数时,函数名后面括号中的参数称为“实际参数”(简称“实参”)。

实参可以是常量、变量或表达式, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。

扩展资料

数据传递:

在调用函数过程中,系统会把实参的值传递给被调用函数的形参。或者说,形参从实参得到一个值。该值在函数调用期间有效,可以参加该函数中的运算。

在调用函数过程中发生的实参与形参间的数据传递,常称为“虚实结合”。

函数参数值传递:

在值传递过程中,被调函数的形式参数作为被调函数的局部变量在栈中分配内存空间,主调函数的实际参数的值被复制并存入该内存空间,形成实际参数的一个副本。

值传递的特点是,被调函数对形式参数的任何 *** 作都不会影响主调函数中的实际参数变量。

参考资料来源:

百度百科——argument (编程语言)

python中的命令行解析最简单最原始的方法是使用sys.argv来实现,更高级的可以使用argparse这个模块。argparse从python

2.7开始被加入到标准库中,所以如果你的python版本还在2.7以下,那么需要先手动安装。

基本使用

import argparse

parser=argparse.ArgumentParser()

parser.add_argument("echo",help="echo the string")

args=parser.parse_args()

print args.echo

参数介绍

上面这个例子是最简单的一个使用例子,功能是把你的输入参数打印到屏幕 。不过对于基本的使用需求,这几行代码应该就已经够用,更加高级的用法可以参考官方文档。

下面介绍下例子代码。

1、导入argparse模块

2、创建解析器对象ArgumentParser,可以添加参数。

description:描述程序

parser=argparse.ArgumentParser(description="This is a example program ")

add_help:默认是True,可以设置False禁用

3、add_argument()方法,用来指定程序需要接受的命令参数

定位参数:

parser.add_argument("echo",help="echo the string")

可选参数:

parser.add_argument("--verbosity", help="increase output verbosity")

在执行程序的时候,定位参数必选,可选参数可选。

add_argument()常用的参数:

dest:如果提供dest,例如dest="a",那么可以通过args.a访问该参数

default:设置参数的默认值

action:参数出发的动作

store:保存参数,默认

store_const:保存一个被定义为参数规格一部分的值(常量),而不是一个来自参数解析而来的值。

store_ture/store_false:保存相应的布尔值

append:将值保存在一个列表中。

append_const:将一个定义在参数规格中的值(常量)保存在一个列表中。

count:参数出现的次数

parser.add_argument("-v", "--verbosity", action="count", default=0, help="increase output verbosity")

version:打印程序版本信息

type:把从命令行输入的结果转成设置的类型

choice:允许的参数值

parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], help="increase output verbosity")

help:参数命令的介绍

上代码:

我们从一个基本的程序开始(它什么也不做)

importargparse

parser =argparse.ArgumentParser()

parser.parse_args()

运行结果:

$ python prog.py

$ python prog.py --help

usage: prog.py [-h]

optional arguments:

-h, --help show this help message and exit

$ python prog.py --verbose

usage: prog.py [-h]

prog.py: error: unrecognized arguments: --verbose

$ python prog.py foo

usage: prog.py [-h]

prog.py: error: unrecognized arguments: foo

结果分析:

若不给参数而运行这个程序,将不会得到任何结果。

第二条命名显示了使用的argparse的好处,你什么也没做,却得到了一个很好的帮助信息。

我们无需人为设置--help参数,就能得到一个良好的帮助信息。但是若给其他参数(比如foo)就会产生一个错误。

位置参数

首先,给一个例子:

importargparse

parser =argparse.ArgumentParser()

parser.add_argument("echo")

args =parser.parse_args()

print args.echo

运行结果:

$ python prog.py

usage: prog.py [-h] echoprog.py: error: the following arguments are required: echo

$ python prog.py --help

usage: prog.py [-h] echopositional arguments:

echooptional arguments:

-h, --help show this help message and exit

$ python prog.py foo

foo

结果分析:

这次,我们增加了一个add_argument()方法,用来设置程序可接受的命令行参数。

现在要运行程序,就必须设置一个参数。

parse_args()方法实际上从我们的命令行参数中返回了一些数据,在上面的例子中是echo

这个像“魔法”一样的过程,是argparse自动完成的。

尽管自动产生的帮助信息展示地很美观,但是我们仍然无法只根据echo这个参数知道它是做什么的。所以,我们增加了一些东西,使得它变得更有用。

importargparse

parser =argparse.ArgumentParser()

parser.add_argument("echo", help="echo the string you use here")

args =parser.parse_args()

print args.echo

运行结果:

$ python prog.py -h

usage: prog.py [-h] echopositional arguments:

echo echo the string you usehere

optional arguments:

-h, --help show this help message and exit

在此基础上,我们再多改变一点:(计算输入参数square的平方)

importargparse

parser =argparse.ArgumentParser()

parser.add_argument("square", help="display a square of a given number")

args =parser.parse_args()

print args.square**2

下面是运行结果:

$ python prog.py 4Traceback (most recent call last):

File "prog.py", line 5, in print args.square**2TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'

这个程序并不能正确运行,因为argparse会将输入当作字符串处理,所以我们需要设置它的类型:(type=int)

importargparse

parser =argparse.ArgumentParser()

parser.add_argument("square", help="display a square of a given number",

type=int)

args =parser.parse_args()

print args.square**2

下面是运行结果:

$ python prog.py 4

16

$ python prog.py four

usage: prog.py [-h] square

prog.py: error: argument square: invalid int value: 'four'

现在,这个程序能够顺利运行,而且能够处理一些错误输入

是指针转换错误吧,你传递的是汉字,要看LCD的驱动Write_lcd()是否支持处理汉字,一般LCD厂家提供的处理汉字和字符的驱动函数不一样

Write_lcd(0,1,"液") 传递给函数的是字符串的指针,但是函数原型Write_lcd(unsigned int x,unsigned int y,unsigned int word)定义的word是int 类型,也就是说Write_lcd()不支持指针和汉字。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11463804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存