python学习笔记:函数参数
1. 位置参数:一般的参数
2. 默认参数:
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
参数里有默认赋值,调用时用power(5)就是平方,如果power(5, 3)就是立方了
如果有多个默认参数,调用时前面用默认参数,后面不是用默认参数,则需要在调用语句中写出“参数名 = 参数值”,比如下面这个情况
def enroll(name, gender, age=6, city='Beijing'):
print('name:', name)
print('gender:', gender)
print('age:', age)
print('city:', city)
enroll('bob','M',7)这样没有参数名是可以的,city就是用默认参数'beijing',age没有用,enroll('sary','F','hangzhou')这样是错误的,因为'hangzhou'不是age,是city,因此需要这样使用:enroll('sary','F',city='hangzhou'),这样age=6, city='hangzhou'
3. 可变参数
def calc(numbers)
sum = 0
for n in numbers:
sum = sum + n * n
return sum
如果使用上面这个代码,对于一个list或者tuple输入值,比如[1,2,3],调用的时候需要这么写:calc([1,2,3])或者calc((1, 2, 3)),很麻烦
所以可变参数需要在numbers前加*
def calc(*numbers)
sum = 0
for n in numbers:
sum = sum + n * n
return sum
这样就可以这样调用了:calc(1, 2, 3)。
对于nums = [1, 2, 3]这个list时,如果用上面这个可变参数,则不能写成calc(nums),需要写成calc(nums[0], nums[1], nums[2])或者calc(*nums)
4. 关键字参数
def person(name, age, **kw)
print('name: ’, name, 'age: ', age, 'other: ', kw)
**kw是一个dict,调用语句为person('jackson', 30, gender='M', city='beijing')后,结果为name: jackson age:30 other:{'gender' : 'M', 'city' : 'beijing'}
对于extra = {'gender' : 'M', 'city' : 'beijing'}这种已经定义好的dict,可以这么调用:person('jackson', 30, **extra)
5. 命名关键字参数
这个感觉用处不大
python学习笔记:函数参数的更多相关文章
- Python学习笔记 - 函数参数
>>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...
- 04 python学习笔记-函数、函数参数和返回值(四)
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print(),我们也可以自己创建函数,这叫做用户自定 ...
- Python学习之函数参数
上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时 ...
- python学习day10 函数Ⅱ(参数&作用域)
函数Ⅱ(参数&作用域) 知识小结: py2与py3的区别 逻辑运算()>not>and>or 字符串翻转切片翻转 is与==区别 git相关 数据类型判断 操作系统:cent ...
- Python学习笔记—函数
函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73 ...
- python学习笔记-函数与可变长参数
一.函数 1. def test(x): y=x+1 return yprint(test) #这是打印函数在内存中的地址 过程:就是没有返回值的函数 在python中过程也是函数,就算没哟返回值,也 ...
- Python学习笔记 — 函数
函数是对程序逻辑进行结构化或过程化的一种编程方法.函数具有两个方面的意义:1)将代码分块,易于管理和阅读:2)最大化代码复用和最小化代码冗余,节省空间,有助于保持一致性. 1. 函数定义 Python ...
- Python学习笔记-函数基础
函数基础 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 为什么使用函数:减少重复代码.使程序变的可扩展使程序变得易维护 1.定义一个函数 #定 ...
- Python学习笔记之参数解析
python提供了两种方法进行命令行的参数解析,分别是getopt和optparse类中的模块OptionParser,下面分别详细了解这两个模块: 1.getopt模块 首先复习C语言的命令行解析: ...
- python学习笔记 可变参数关键字参数**kw相关学习
在Python中可以定义可变参数,顾名思义,可变参数就是传入参数是可变的.可以是任意个,以一个简单的数学编程为例,计算 sum = a * a + b * b + .....z * z 函数定义可以如 ...
随机推荐
- Hadoop2的HA安装(high availability):nfs+zookeeper
前面介绍过hadoop的简单安装和FA安装,在这里将介绍几种hadoop2中HA(高可用性)安装,HA技术使hadoop不再存在单点namenode的故障. 先来第一种:nfs+zookeeper H ...
- 用MathType编辑带点星号的流程
在数学中,在进行问题描述的同时,可能也会使用到一些文本符号,比如带点星号.这些符号嵌入在公式中,就需要在MathType数学公式编辑器中来编辑,而不是在文档中编辑.而对于公式编辑器来说,编辑一些常用的 ...
- NLM非局部均值算法相关
NLM原文: 基于图像分割的非局部均值去噪算法 基于图像分割的非局部均值去噪算法_百度文库 https://wenku.baidu.com/view/6a51abdfcd22bcd126fff705c ...
- Python中xlrd和xlwt模块使用方法 (python对excel文件的操作)
本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装xlrd和xlwt模块 xlrd和xlwt模块不是 ...
- 怎样開始学习ADF和Jdeveroper 11g
先给一些资料能够帮助刚開始学习的人開始学习ADF和Jdeveloper11g 1.首先毫无疑问,你要懂java语言. 能够看看Thinking In Java, 或者原来sun的网上的一些文档Sun' ...
- manacher算法处理最长的回文子串(二)
在上篇<manacher算法处理最长的回文子串(一)>解释了manacher算法的原理,接着给该算法,该程序在leetcode的最长回文子串中通过.首先manacher算法维护3个变量.一 ...
- Django - 环境搭建、url、视图、模板、标签、过滤器
(一).简介 简介就不多说了,网上的内容一大堆.总结来说,django是走大而全的路线,写项目超级快,几乎什么都为你考虑到了,你就乖乖照着它的格式来写就行了. 这里来一些基本认知: web应用框架(w ...
- 关于Z序的总结
//转自:http://blog.csdn.net/flowshell/article/details/4797917 Z 序:一个重叠窗口的堆,每个窗口在Z 序中 都有唯一一个位置.一个窗口的Z 序 ...
- Less-@import 导入选项
//@import 导入选项 --@import 可以至于任何你需要导入的地方 在标准的CSS,@import在规则必须先于所有其他类型的规则.但Less.js不关心 example: .test() ...
- MySQL主从不一致修复
场景: 线上正在服务的库由于紧急主从切换导致主从不一致,报错信息如下: Last_Error: Coordinator stopped because there were error(s) in t ...