中企动力 > 头条 > python中函数参数

网站性能检测评分

注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。

python中函数参数

python学习笔记(七)-函数相关(非常重要) 行业视频课程

img

强壮的

关注

函数可以将固定的功能逻辑进行整合结构的方法,可以将部分代码块进行隔离,

提高程序的复用性,从而提高程序的开发效率。

函数返回值

默认情况下,函数不会输出数据,而是将数据值返回给调用的变量。

如果没有return,函数默认返回None

示例一

写一个函数,给2个参数,返回2个参数的和,test_fun_1.py

def fun1(x,y):

return x+y

a=fun1(2,3)

print(a)

运行结果为

进阶学习

刚才的示例中,参数是固定的,如果我们需要在执行程序的时候指定参数值的话,就可以提高程序的灵活性,下面我们要将示例一进行调整,可以实现在命令行中给定参数,从而实现调用函数进行计算的功能。

这里我们先学习一下python中的一个标准库sys,在里面引用argv来实现参数的调用。

这里我们先做一个测试程序来了解程序是如何接收参数的。

我们先做一个程序test_argv.py 内容如下

#!/usr/bin/env python3

import sys

print("看看我接收到的参数:")

print(sys.argv)

运行一下程序,后面跟几个参数,看看效果

python3 test_argv.py abc dec 123

看到运行结果了吗?这里我来解释一下

首先程序后面跟了3个参数,分别是 abc def 和123

程序打印出来的结果是一个列表,

列表的第一个值是程序本身的文件名 (表示为arg[0])

列表的第二个值是第一个参数 (表示为arg[1])

列表的第三个值是第二个参数 (表示为arg[2])

以上讲的内容都看懂了吗?

好了,根据刚才我们掌握的内容,现在我们要对示例一的代码进行改进,从而实现通过程序外部对参数的传递功能。

#这里需要注意的是,程序传递过来的是字符串,需要转换成整数才可以

i=int(sys.argv[1])

j=int(sys.argv[2])

a=fun1(i,j)

运行一下,看看效果

5加7的结果是12,说明程序是有效的。

总结一下,通过本文,我们可以掌握了python函数的使用方法及python外部参数的调用方法。

3分钟带你设计自己的Python函数 营销视频课程

img

白玉

关注

本期笔记内容综述

Python模块的调用

Python的函数设计

零碎时间Python入门

1.Python模块的调用

Python模块介绍

模块介绍

模块的调用

模块的调用

模块调用的常用方式

模块的调用&重命名

模块的通用模式

模块通用模式

2.Python函数自定义方法

函数自定义方法介绍

选自

自定义函数的完整格式

def 函数名(参数列表):

缩进

缩进 return '返回值'

其中关键字def,参数列表的圆括号( )和冒号必不可少;

意味着没有参数的时候,包括参数的圆括号必须写上;

圆括号后面必须有冒号,而冒号下一行需四行缩进;

参数列表值和返回值,甚至return都可以没有;

调用函数的方法:只要函数名加上圆括号带上参数即可。

函数定义

代码运行[1]

代码运行结果

代码运行[2]

代码运行结果[2]

以一个问题结尾

问题所在

问题1:将movies列表的信息提取结果如下:

结果展示

问题2:如果movies列表内容继续增加一层该如何办?

问题3:[58]的代码好像有一部分都是重复的,该如何缩减呢?

下期笔记预告:解决函数的迭代问题

好了,本期笔记分享内容到此结束,茄子暂别。祝愿生活愉快!

Python函数学习之参数列表解包 营销视频课程

img

压抑感

关注

The reverse situation occurs when the arguments are already in a list or tuple but need to be unpacked for a function call requiring separate positional arguments. For instance, the built-in range() function expects separate start and stop arguments. If they are not available separately, write the function call with the *-operator to unpack the arguments out of a list or tuple:当参数已经在列表或元组中时,相反的情况发生,但需要为需要单独位置参数的函数调用解包。例如,内置的Range()函数需要单独的开始和停止参数。如果它们单独不可用,则用*-运算符编写函数调用,以从列表或元组中解开参数:

>>> list(range(3, 6)) # normal call with separate arguments

[3, 4, 5]

>>> args = [3, 6]

>>> list(range(*args)) # call with arguments unpacked from a list

[3, 4, 5]

In the same fashion, dictionaries can deliver keyword arguments with the **-operator:以同样的方式,字典可以用**运算符传递关键字参数 即**-操作符来解包参数:

>>> def parrot(voltage, state='a stiff', action='voom'):

... print("-- This parrot wouldn't", action, end=' ')

... print("if you put", voltage, "volts through it.", end=' ')

... print("E's", state, "!")

...

>>> d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}

>>>parrot(**d)

-- This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !

python之函数默认参数及注意点 营销视频课程

img

应翠

关注

前言

在python中,函数的参数有多种类型,有默认参数、可变参数、关键字参数、命名关键字参数等,本文主要深入讲解默认参数。对于默认参数,其实在功能上就是为了简化函数调用。

默认参数

1、格式

2、说明及注意点

a. 在使用缺省参数后,对于函数的必填参数必须在前,默认参数在后。

b. 默认参数在一个函数中可以有多个。

c. 当一个函数中的某个参数的改动不大,就可以考虑将这个参数设置为默认参数,比如说一个人的民族,这种参数就可以设置为缺省参数。

案例a

小总结:从上图可以看出,对于num2这个参数如果你要传入的参数是100,则可传可不传,都是可以的。这个也是默认参数给我们带来的方便之处。

python中print语句

结论:其实在python中的print语句就是采用了缺省参数。

使用可变类型作为缺省参数

1、代码举例

结论:上图中的程序运行结果是[10],[20], 但是实际上结果是[10],[10,20]。问题的原因主要在于scores的类型是一个列表,本身是一个可变类型,那么对于列表的append方法添加元素的时候并不会对socres进行重新创建一个新的列表,那么也就是说,你两次append元素,其实都是对同一个列表进行操作。

总结

对于默认参数,如果是不可变类型,那么多次对函数的调用是没有问题的。

对于默认参数,如果是可变参数,那么对于参数的传递,就要特别考虑结果是正确性,所以对于这种情况,就必须在调用函数的时候就要重新初始化一次列表。

Python函数学习之参数列表解包 企业视频课程

img

尤哲瀚

关注

The reverse situation occurs when the arguments are already in a list or tuple but need to be unpacked for a function call requiring separate positional arguments. For instance, the built-in range() function expects separate start and stop arguments. If they are not available separately, write the function call with the *-operator to unpack the arguments out of a list or tuple:当参数已经在列表或元组中时,相反的情况发生,但需要为需要单独位置参数的函数调用解包。例如,内置的Range()函数需要单独的开始和停止参数。如果它们单独不可用,则用*-运算符编写函数调用,以从列表或元组中解开参数:

>>> list(range(3, 6)) # normal call with separate arguments

[3, 4, 5]

>>> args = [3, 6]

>>> list(range(*args)) # call with arguments unpacked from a list

[3, 4, 5]

In the same fashion, dictionaries can deliver keyword arguments with the **-operator:以同样的方式,字典可以用**运算符传递关键字参数 即**-操作符来解包参数:

>>> def parrot(voltage, state='a stiff', action='voom'):

... print("-- This parrot wouldn't", action, end=' ')

... print("if you put", voltage, "volts through it.", end=' ')

... print("E's", state, "!")

...

>>> d = {"voltage": "four million", "state": "bleedin' demised", "action": "VOOM"}

>>>parrot(**d)

-- This parrot wouldn't VOOM if you put four million volts through it. E's bleedin' demised !

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP