python学习笔记-函数与可变长参数
一、函数
1、
def test(x):
y=x+1
return y
print(test) #这是打印函数在内存中的地址
过程:就是没有返回值的函数
在python中过程也是函数,就算没哟返回值,也会返回个None
def test(x):
msg="hello"
print(msg,x)
return 1,2,3,'a',["steven","bob"],None t=test("jobs")
print(t) #打印返回的值,是一个元组:(1, 2, 3, 'a', ['steven', 'bob'], None)
总结:返回值个数=0,返回None
返回值=1,返回object
返回值>1,返回tuple
二、可变长参数
1、形参变量只有在被调用时才分配内存单元,调用结束后释放所分配的内存单元,因此。形参只有在函数内部有效
2、实参可以是常量,变量,表达式,函数等。无论是何种类型的量,在进行函数调用的时候,他们必须有确定的值。
def add(x,y,z):
res=x+y+z
print(res) add(a,b,c)
x,y,z是形参,a,b,c是实参
3、位置参数和关键字参数
位置参数必须一一对应,缺一行不行多一行也不行
add(1,2,3)
关键字参数必须一一对应,缺一行不行多一行也不行
add(y=3,x=2,z=8)
如果混合的方式,关键字参数必须在位置参数的右侧
add(1,y=3,4) #报错
add(1,3,y=4) #报错
add(1,3,z=4)
add(1,3,z=4,y=3) #报错
add(1,z=2,y=9)
4、默认参数
def add(x,y,z=5):
res=x+y+z
print(res)
5、参数组:**字典,*列表
I、*列表
def test(x,*args):
print(x)
print(args)
print(args[2]) test(3,4,5,6,7,8,9) # 相当于把后面的多个实参当成一个元组传给形参
结果:

def test(x,*args):
#print(x)
print(args) test(3,[4,5,6,7]) #结果为:([4, 5, 6, 7],)
test(3,*[4,5,6,7]) #结果为:(4, 5, 6, 7),和test(3,4,5,6,7)一样
test(3) #结果为()
II、**字典
def test(x,**kwargs):
#print(x)
print(kwargs) test(1,a=3,b=4,c=5)
test(1,a=3,b=4,c=5,c=5) #报错,一个参数不能传两个值
III、混合的用法
def test(x,*args,**kwargs):
#print(x)
print(args)
print(kwargs) test(1,10,11,12,13,a=30,b=40,c=50)
test(1,*[10,11,12,13],**{"a":30,"b":40,"c":50}) #写法2
结果:

python学习笔记-函数与可变长参数的更多相关文章
- python基础语法5 函数定义,可变长参数
函数 1.什么是函数 函数就是一种工具. 可以重复调用 2.为什么要用函数 1.防止代码冗(rong)余 2.代码的可读性差 3.怎么用函数 1.定义函数-->制造工具 2.调用函数--> ...
- 04 python学习笔记-函数、函数参数和返回值(四)
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print(),我们也可以自己创建函数,这叫做用户自定 ...
- Python学习笔记 - 函数参数
>>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...
- Python学习笔记 — 函数
函数是对程序逻辑进行结构化或过程化的一种编程方法.函数具有两个方面的意义:1)将代码分块,易于管理和阅读:2)最大化代码复用和最小化代码冗余,节省空间,有助于保持一致性. 1. 函数定义 Python ...
- Python学习笔记—函数
函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73 ...
- Python学习笔记---形式参数(parameter)和实际参数(argument)
def mydemo(name): '函数定义过程中的name是叫形参' #因为它只是一个形式,表示占据一个参数位置 print('传递进来的' + name + '叫做实参,因为它是具体的参数值!' ...
- Python学习笔记-函数基础
函数基础 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 为什么使用函数:减少重复代码.使程序变的可扩展使程序变得易维护 1.定义一个函数 #定 ...
- day14 Python函数之可变长参数
函数参数 1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元.因此,形参只在函数内部有效.函数调用结束返回主调用函数后则不能再使用该形参变量 2.实参可以是常量.变量.表 ...
- python学习笔记 函数
形式: def function(a,b,c=0,*args,**kw)#a,b必选参数,*args可变参数,**kw关键字参数 1.函数的返回值可以是多个参数.多个参数时,实际上返回的是一个tupl ...
随机推荐
- 吴裕雄--天生自然C++语言学习笔记:C++ 日期 & 时间
C++ 标准库没有提供所谓的日期类型.C++ 继承了 C 语言用于日期和时间操作的结构和函数.为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件. 有四 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-share
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- spring源码 RootBeanDefinition类的根接口AttributeAccessor
/** * Interface defining a generic contract for attaching and accessing metadata * to/from arbitrary ...
- linux系统pid的最大值研究
内核源码探查 通过对linux内核源码的追踪,可以看到对pid最大值的限定最终集中到include/linux/threads.h文件中的PID_MAX_DEFAULT上了,代码如下: /* * Th ...
- python scipy库
三.假定正态分布,求解1倍标准差和0.5倍标准差的概率? 二.求解多元线性或非线性方程组解 一.求解3元一次方程 1.学习资料 https://github.com/lijin-THU/notes- ...
- mini2440 裸机程序,下载到nand 里面,复制到 sdram 中不运行
按照韦东山的视频中 sdram的裸机代码,写了一份,通过 minitools 下载到 0x30000000,然后烧录到 nand中,接过不能正常运行. 尝试过多种方法后,只有一种解决方法,就是不要用 ...
- CentOS7.7安装python3.8.2与pip20
1.安装第三方库 # yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-deve ...
- spring boot rest 接口集成 spring security(2) - JWT配置
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- 201771010123汪慧和《面向对象程序设计Java》第十三周实验总结
一.理论部分 1.GUI为用户提供交互式的图形化操作界面. (1)提供了程序的外观和感觉.(2)程序利用图形用户界面接受用户的输入,向用户输出程序运行的结果. 2.Java有专门的类库生成各种标准图 ...
- POJ - 3279 Fliptile(反转---开关问题)
题意:有一个M*N的网格,有黑有白,反转使全部变为白色,求最小反转步数情况下的每个格子的反转次数,若最小步数有多个,则输出字典序最小的情况.解不存在,输出IMPOSSIBLE. 分析: 1.枚举第一行 ...