python 可变参数 关键字参数_python函数参数(可变参数tuple和关键字参数list)

2023年1月26日10:25:26

1.变量可以指向函数 2.函数名其实就是指向函数的变量 3.高阶函数:能接收函数做参数的函数 4.函数的参数可以接收变量 5.一个函数可以接收另一个函数作为参数 python函数 1.系统库提供的内部函数 2.第三方提供的函数 3.自定义函数 1.系统库函数 字符函数库(),数字函数库(),网络编程库(urllib2) >>>help(str) 字符串帮助可获得系统中的字符串函数们(同理其他函数) >>>help(str.islower) s.islower() //判断字符串s是否为小写 s.replace(old,new,count) import math #数学库 >>>value=math.sin(3.14/6) >>>math.pi #为派 >>>val = math.sin(math.pi/6) >>>print val 0.5 >>>help(math) #查看math库 >>>math.pow(3,4) # 3的4次方 或者 >>>3**4 #也是代表 3的4次方 这两种方法一个是调用math库,另一个是调用本身的定义 import os >>>os.getcwd() #获得当前的工作路径 >>>help(os.getcwd) os.listdir() #列出指定路径下面的文件 网络函数库 >>>import socket >>>baiduip = socket.gethostbyname('www.baidu.com') //获得ip >>>print baiduip 函数返回多个值 可以 return a,b,c,d >>>sum1,multi,plus,pow = functionaaa(2,10) #函数一起返回,变量一起接收 ,返回的是一个 tuple 元祖 函数可设定默认值但默认值一定写在形参的右侧 函数 有 必选参数,默认参数,可变参数,关键字参数等 当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数 定义默认参数要牢记一点:默认参数必须指向不变对象! 可变参数:就是传人的参数个数是可变的,可以是0个,1个,或者任意个。 例如 算一组数字的平方和,根本不知道有几个数字,可以考虑将其放置一个list或者tuple传进来。 def calc(numbers): sum=0 for n in numbers: sum = sum + n*n return sum 如果利用可变参数,调用函数就可以简单了,把函数参数改成可变参数: def calc(*numbers): sum = 0 for n in numbers: sum = sum + n*n return sum def(1,2,3,4,5) #而不需要list和tuple啦 定义可变参数和定义list和tuple参数相比,仅仅在参数前面加了一个*号,看着像C/C++指针一样,但在函数内部,参数numbers接收到的是一个tuple,因此函数内部代码完全不用变。 如果本身已经定义了一个list或者tuple,故传入参数时仅仅在你的list和tuple前加一个*号,就可以传参数啦 def calc(*number): sum = 0 for n in number: sum = sum + n*n return sum print calc(1,2,3,4,5) a=[1,2,3,4,5] print calc(*a) 区别在于调用的时候是否加上 * ,如果是list或者tuple,调用时候加*,否则就直接传参数即可。 关键字参数与可变参数区别在于: 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict 就仅仅是 tuple和dict的区别 def person(name, age, **kw): print 'name:', name, 'age:', age, 'other:', kw >>> person('Jack', 24, **kw) name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'} 可变参数既可以直接传入:func(1, 2, 3),又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3)); 关键字参数既可以直接传入:func(a=1, b=2),又可以先组装dict,再通过**kw传入:func(**{'a': 1, 'b': 2})。 使用*args和**kw是Python的习惯写法,当然也可以用其他参数名,但最好使用习惯用法。

  • 作者:weixin_39586353
  • 原文链接:https://blog.csdn.net/weixin_39586353/article/details/110050950
    更新时间:2023年1月26日10:25:26 ,共 1817 字。