python3函数的参数
函数的定义能简化代码的逻辑,对于函数的调用者来说,只需要知道如何正确的传递参数,以及知道函数将返回什么值就可以了,而函数内部的复杂逻辑被封装起来,调用者不必了解。
位置参数
调用函数时,传入实参的值按照位置顺序以此赋给形参。
def power(x, n):
s = 1
while( n ):
n = n - 1
s = s * x
return s
上面这个函数中的x和n就是位置参数。
默认参数
python的函数同时还允许你给函数的参数设置默认值,当调用者没有给出参数的值时自动使用默认值。设置默认参数时要注意,必选参数必须在默认参数之前。
def power(x, n = 2):
s = 1
while( n ):
n = n - 1
s = s * x
return s
注意:默认参数必须指向不可变对象,否则会发生不可预知的错误。
可变参数
在Python函数中还可以定义可变的参数,参数的个数可以是任意个,定义参数时,只需要在参数的前面加一个 * 符号即可。
def N(×num):
s = 1
for n in num:
s = s * n
return s A = N(1,2,3,4,5,6,7,8,9,10) #A = 3628800
关键字参数
python的关键字参数允许你传入任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。传入关键字参数的时候必须指定参数的名称(参数名由调用者自行取定),否则该参数会被认为是位置参数从而报错。
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw) preson("J",33,city = "Beaijing",job = "Engineer")
命名关键字参数
命名关键字参数:调用者传递参数必须给出参数名,而且参数名是函数定义者预先定义好的。
def person(name, age, *, city, job):
print(name, age, city, job) #如果函数的参数中有可变参数,那么后面的命名关键字参数就不需要 * 符号来定义了
def person(name, age, *args, city, job):
print(name, age, args,city, job)
总结:对于任意函数,都可以通过类似func(*args,**kw)的形式调用它,无论它的参数形式是怎样的。
python3函数的参数的更多相关文章
- 第六天python3 函数、参数及参数解构(一)
函数 作用:结构话编程对代码的最基本的封装,一般按照功能组织一段代码,封装的目的是为了复用,减少冗余代码,代码更加简洁.美观,可读易懂: 分类: 内建函数,如max() reversed()等 库函数 ...
- python3 函数的参数
函数的参数 形参(函数定义时) + 实参(函数调用时) 形参:形式参数 在函数的定义处定义的参数,比如def func(参数1, 参数2, 参数3...) 普通参数(位置参数), 默认参数,普通收集参 ...
- 第七天python3 函数、参数及参数解构(二)
函数参数 参数规则: 参数列表参数一般顺序是:普通参数<--缺省参数<--可变位置参数<--keyword-only参数(可带缺省值)<--可变关键字参数 def fn(x,y ...
- Python3学习(一)-基础、数据类型、变量、字符串和编码、list&tuple、if、for、while、dict、set、函数与参数
##廖雪峰py3笔记 ## '//'这是获得相除后的整数部分 ##a = 10//3 ##print (a) ## '/'获得相除后的结果,为浮点数,结果能整除也也是浮点数 ##b = 10/3 ## ...
- python3中匿名函数做参数,匿名函数做实参,eval关键字
一:说到匿名函数,大家都感到陌生又熟悉,今天我带大家了解一下py3中的匿名函数,以及匿名函数作为函数的参数的情况 主要通过以下实例来说明: 实例一: newarr =[33,44444,6222,88 ...
- python3 使用装饰器,及函数作为参数
#装饰import typesdef shucai(n): print('蔬菜价格7') if type(n)==types.FunctionType: return n()+7 return n+7 ...
- python3函数
一.python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.可以自己创建函数,这被叫做用户自定义函数. 1.定义函数规则 函 ...
- Python进阶-函数默认参数
Python进阶-函数默认参数 写在前面 如非特别说明,下文均基于Python3 一.默认参数 python为了简化函数的调用,提供了默认参数机制: def pow(x, n = 2): r = 1 ...
- Python3 函数 一
什么是函数? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal ...
随机推荐
- c++输入输出,保留几位小数
#include <iomanip> //头文件 //第一种写法 cout<<setiosflags(ios::); //第二种写法 cout.setf(ios::fixed) ...
- 《手把手教你构建自己的 Linux 系统》学习笔记(10)
目录 /etc/fstab 文件的作用是什么? Linux 内核的图形化启动是怎么回事? Linux 系统中的文件名是否以大小写来进行区别? 「GRUB 中无法找到硬盘」怎么解决? 「GRUB 及配置 ...
- go 面向对象
结构体 创建结构体变量和访问结构体字段 package main import "fmt" //创建结构体变量和访问结构体字段 type Person struct { Name ...
- python——面向对象基础(2),烤地瓜
"""Date:2020.2.9 测试案例:烤地瓜需求分析1.烤的时间和对应的地瓜状态:2.烤制过程步骤: 1.定义类, 地瓜属性,状态,烤的时间,调料 2.定义方法,怎 ...
- .net全栈开发-c#面向对象与工控自动化分拣上位机
一.前言 开始做了两年web.期间也整了一段时间winform.后来做了两年工控上位机,也就是做工控这两年发现机器跟面向对象真是如此贴切,也是我从处理数据和流程的思维转变为面向对象思维的开始.这对我后 ...
- Java 8 函数式编程
今天打开Oracle Java官网一看,Java已经更新到 13 了 https://www.oracle.com/technetwork/java/javase/jdk-relnotes-index ...
- Spring学习笔记-面向切面(AOP)-04
什么是面向切面编程 先大概了解一下部分术语 横切关注点:软件开发中,散布于多出的功能称为横切关注点(cross-cutting concern),简单的可以描述为可以影响应用多处的功能,比如日志.安全 ...
- Windows10开发环境搭建
开发环境基本介绍:(是以刚重装过系统的电脑进行介绍的,电脑刚装完的操作见其他的文档) Eclipse环境搭建: 1. 下载JDK (本例以JDK13.0.1为例) 2. 配置环境变量(主要是JAVA_ ...
- P4883 mzf的考验[平衡树]
P4883 mzf的考验 维护一种数据结构 支持区间翻转 区间异或 区间求和- 显然 fhq treap 区间异或显然是拆位 ~~然后复杂度*20~~ 第一次先遍历一下整棵树 pushup 一下 就可 ...
- php外挂python脚本抓取ajax数据
之前我写过一遍php外挂python脚本处理视频的文章.今天和大家分享下php外挂python实现输入关键字搜索的脚本 首先我们先来分析一波网站: http://www.dzdpw.com/s.php ...