美文网首页python热爱者Python新世界
一篇文章让你掌握python函数参数的各种用法

一篇文章让你掌握python函数参数的各种用法

作者: 48e0a32026ae | 来源:发表于2018-12-16 11:41 被阅读1次

python的函数参数类型比较丰富,而且用法相对比较复杂,今天我们介绍几种简单常用的。

当然在学习Python的道路上肯定会困难,没有好的学习资料,怎么去学习呢?

学习Python中有不明白推荐加入交流群

                号:960410445

                群里有志同道合的小伙伴,互帮互助,

                群里有不错的视频学习教程和PDF!

1、位置参数

位置参数最简单了,就是按照位置关系一一对应就好了,也是我们最最常用的,但是要注意的是各个参数必须按顺序对应,不多说,看下面这段代码就好了。

#位置参数,严格按照参数的顺序来读取

def locationParams(m,n):

print('第一个参数为:'+m)

print('第二个参数为:'+n)

locationParams('源码来自公众号','谭某人')

第一个参数为:源码来自公众号

第二个参数为:谭某人

2、默认参数

默认参数及在函数的定义的时候就给了个默认值,在函数调用的时候可以不传这个默认参数,比如我们要计算

m-n 之间的正整数之和,我们可以分别给定 m 和 n 两个默认值 1 和

100,这样我们再调用该函数的时候即使不传任何参数,该函数也会使用默认值来计算 1-100 之间的正整数之和。

在使用默认参数的时候要特别注意的一点是,默认参数必须要指向不可变对象,比如数组、字典这些都是可变对象,是不能被用作默认参数的,至于为什么,这里不细说了,大家先记住就好,看下面这个例子。

#默认参数,注意不能使用list或dict等作为默认参数

def defaultParams(m=1,n=100):

sum = 0

for i in range(m,n+1):

sum += i

print(sum)

return sum

#如果使用list数组来作为默认参数,多次调用函数的返回值会发生变化,在使用过程要特别注意

def defaultParamsTemp(list=[]):

list.append(9)

print(list)

return list

defaultParams(1,3)

defaultParamsTemp()

defaultParamsTemp()

defaultParamsTemp()

6

[9]

[9, 9]

[9, 9, 9]

3、可变参数

可变参数是指参数的个数是可变化的,可以是

0 个,可以是 1 个,也可以是多个,可变参数在定义的时候用符号 * 表示,而且在函数被调用的时候参数会被组装成一个 tuple (类似

list 数组的一种基本数据类型),比如我们要实现一个计算多个数字的平方和,多个数字即可以被当成一个可变参数传过去,具体看下面的代码。

#可变参数

def variableParams(*params):

print(params) #可变参数会被组装成一个tuple

sum = 0

for i in params:

sum += i*i

print(sum)

return sum

list = [2,4]

variableParams(2,4)

variableParams(list[0],list[1]) #如果已经存在了一个list数组,我们可以使用数组中单个元素作为可变参数传入

variableParams(*list) #为了简化上面的参数调用方式,可以使用*来把参数当做可变参数传入

(2, 4)

20

(2, 4)

20

(2, 4)

20

4、关键字参数

关键字参数和可变参数类似,参数的个数都是可变的,所以也常被称作可变关键字参数,但是和可变参数的区别在于关键字参数在调用的时候会被组装成一个字典

dict ,而且参数是带参数名的,关键字参数在定义的时候用两个符号 ** 表示,和可变参数差不多,看下下面的具体代码就行。

#关键字参数

def keyWordParams(**params):

print(params) #关键字参数会被组装成一个字典dict

dict = {'a':6,'b':3}

keyWordParams(a=6,b=3)

keyWordParams(**dict) #如果已经存在了一个dict,可以使用**来把参数当做关键字参数传入

{'a': 6, 'b': 3}

{'a': 6, 'b': 3}

5、其实还有一种命名关键字参数,由于用起来稍微复杂些,这里暂且不做介绍了,有兴趣的可以自行去了解下。

既然有这么多种参数类型,那么当这些参数被混合使用的时候是怎么的呢?

首先记住一个大原则,就是参数的顺序原则:位置参数、默认参数、可变参数、命名关键字参数、关键字参数,在定义函数的时候一定要严格按照这个顺序来定义函数参数,否则都不能 python 正确解析,再一个就是定义函数的时候尽量避免多个参数类型混合使用,这样对函数的调用可读性和理解性非常差,实际开发中通常用到一到两种参数类型混合使用就差不多了。

#参数混合使用

def mergeParams(name,age,city='北京',*year,**detail):

print('姓名:'+name)

print('年龄:'+str(age))

print('城市:'+city)

for i in year:

print('年份:'+str(i))

print('其他:',detail)

year = [2017,2018]

detail = {'sex':'man','interset':'coding'}

mergeParams('谭某人',20)

mergeParams('谭某人',20,'中国',*year,**detail)

姓名:谭某人

年龄:20

城市:北京

其他: {}

姓名:谭某人

年龄:20

城市:中国

年份:2017

年份:2018

其他: {'sex': 'man', 'interset': 'coding'}

相关文章

  • 一篇文章让你掌握python函数参数的各种用法

    python的函数参数类型比较丰富,而且用法相对比较复杂,今天我们介绍几种简单常用的。 当然在学习Python的道...

  • Python中的*args和**kwargs用法

    用法 Python的参数有位置参数和关键字参数之分.位置参数之间有顺序之分.在函数定义或者函数调用时,各种参数之间...

  • Python | 函数编程的基础知识介绍

    函数基础知识 掌握自定义函数的基本语法规范和调用方法/掌握函数的各种参数的使用及调用规则 1.Python函数 ●...

  • Python-2.函数

    本章包含内容: 初识函数 构造函数 参数 设计自己的函数 一、初识函数 经过第一章,其实你早已经掌握了函数的用法1...

  • python 装饰器简单使用

    首先装饰器写法 “@ + 函数名”在执行函数上方 python函数中的参数args和*kwargs的含义和用法 在...

  • 函数的参数

    今天偶然想到了看到一篇文章是讲参数的,忽然忘记了python中参数的种类了,就复习一下python函数定义非常简单...

  • python iter函数用法

    iter函数用法简述 Python 3中关于iter(object[, sentinel)]方法有两个参数。 使用...

  • Python函数参数

    本章将介绍函数中参数的用法,更多内容请参考:Python学习指南 定义函数的时候,我们把参数的名字和位置确定下来,...

  • 2018-06-30 Python File

    python with as的用法 Python open() 函数

  • python requests使用

    参考python爬虫---requests库的用法 基本的get请求: 各种请求方式: 带参数、头部、代理

网友评论

    本文标题:一篇文章让你掌握python函数参数的各种用法

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