首页 > 编程语言 >python函数的位置参数和关键字参数

python函数的位置参数和关键字参数

时间:2023-06-06 21:58:26浏览次数:42  
标签:传参 name python age 关键字 参数 sum

基本类型:

(1) 位置参数 (positional):  传参时不带"变量名=", 顺序不可变,  需要按照函数定义时参数的顺序进行传参.

(2) 关键字参数(keyword): 使用key=value形式传参,  传参时前面加上"变量名=", 顺序可变, 可以不按照函数定时参数的顺序进行传参.

(3) 可变位置参数(*args):  接收到的所有按照位置参数方式传递进来的参数, 是一个元组类型.

def getsum(*num) :
    sum = 0
    for n in num :
        sum = sum + n * n
    return sum

如果已经有一个list或者tuple,要调用一个可变参数怎么办?可以这样做:

>>> nums = [1, 2, 3]
>>> calc(*nums)
14

 

(4) 可变关键字参数(**kw):  接收到的所有按照关键字参数方式传递进来的参数, 是一个字典类型.

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)

 

>>> person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'}
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}

 

标签:传参,name,python,age,关键字,参数,sum
From: https://www.cnblogs.com/Avicii2018/p/17372894.html

相关文章

  • Jmeter-请求参数类型
    1. 请求参数类型为:application/x-www-form-urlencoded格式在JMeter界面中的参数选项页直接添加参数,发送Post请求的时候,就发送的是x-www-form-urlencoded格式的数据。它是Post提交的默认格式.      请求发送后,可以在查看结果树中,看到请求头和请求......
  • python-日记模块模板
    1"""2logging配置3"""45#定义三种日志输出格式开始6standard_format='[%(asctime)s][%(threadName)s:%(thread)d][task_id:%(name)s][%(filename)s:%(lineno)d]'\7'[%(levelname)s][%(message)s]......
  • 实验6 turtle绘图与python库应用编程体验
    实验任务1task1_1fromturtleimport*defmoveto(x,y):'''画笔移动到坐标(x,y)处'''penup()goto(x,y)pendown()defdraw(n,size=100):'''绘制边长为size的正n边形'''for......
  • c++关于 左右值 和 左右值引用 及 函数参数(万能引用,引用折叠,forward完美转发)
    左右值和左右值引用是有区别的。左右值是指对变量类别的区分,左值是有地址的值,可以长期存在;而右值是将亡值,是临时量,没有名字。而左右值引用是指变量的类型,如int&,int&&等,下面举一个例子:voidfunc(int&p){cout<<"&p"<<endl;return;}voidfunc(int&&p){......
  • python笔记
    python官方文档6.6的代码:frommaiximportcamera,mjpg,displayimportsocket#host_name='192.168.4.1'shuzu=bytearray(57600)#bytes是不能被修改的#s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#地址簇:AF_INET(IPv4)类型:SOCK_STREAM(使用TCP传输控......
  • python opencv GaussianBlur
    pythonopencvGaussianBlur importcv2#Loadtheimageimg=cv2.imread('20230222100736979.jpg')#ApplyaGaussianblurwithakernelsizeof5x5blur=cv2.GaussianBlur(img,(5,5),0)#Displaytheoriginalandblurredimagessidebysi......
  • Python正则表达式学习(5)——re.findall()
    re.findall(pattern,string,flags=0)返回字符串中模式的所有非重叠匹配,作为字符串列表。字符串从左到右扫描,并按照找到的顺序返回匹配项。如果模式中存在一个或多个组,则返回组的列表;如果模式有多个组,这将是一个元组的列表。结果中包含空匹配,除非他们触及另一个匹配的开始。In[1......
  • Python正则表达式学习(4)——re.match() 和 re.search()
    Python提供了基于正则表达式的两种不同的原始操作:re.match()仅在字符串的开头检查匹配,只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none。re.search()检查字符串中任何位置的匹配例如:In[2]:re.match("c","absdbdfskdvc")In[3]:re.search("c","a......
  • 基于《PythonCookbook》的学习(3)——利用 Shell 通配符做字符串匹配
    fnmatch模块提供了fnmatch()和fnmatchcase()两个函数可以使用通配符模式对文本进行匹配fnmatch所完成的匹配操作有点介乎于加单的字符串方法和全功能的正则表达式之间。感觉蛮鸡肋的…:(......
  • Python正则表达式学习(3)——re.compile()
    re.compile(pattern,flags=0)将正则表达式pattern编译为正则表达式对象,可用于使用其match()和search()方法进行匹配。顺序:prog=re.compile(pattern)result=prog.match(string)等价于:result=re.match(pattern,string)但是当单个程序中的表达式被多次使用时,使用re.comp......