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学习笔记:函数参数的更多相关文章

  1. Python学习笔记 - 函数参数

    >>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...

  2. 04 python学习笔记-函数、函数参数和返回值(四)

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print(),我们也可以自己创建函数,这叫做用户自定 ...

  3. Python学习之函数参数

    上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时 ...

  4. python学习day10 函数Ⅱ(参数&作用域)

    函数Ⅱ(参数&作用域) 知识小结: py2与py3的区别 逻辑运算()>not>and>or 字符串翻转切片翻转 is与==区别 git相关 数据类型判断 操作系统:cent ...

  5. Python学习笔记—函数

    函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73 ...

  6. python学习笔记-函数与可变长参数

    一.函数 1. def test(x): y=x+1 return yprint(test) #这是打印函数在内存中的地址 过程:就是没有返回值的函数 在python中过程也是函数,就算没哟返回值,也 ...

  7. Python学习笔记 — 函数

    函数是对程序逻辑进行结构化或过程化的一种编程方法.函数具有两个方面的意义:1)将代码分块,易于管理和阅读:2)最大化代码复用和最小化代码冗余,节省空间,有助于保持一致性. 1. 函数定义 Python ...

  8. Python学习笔记-函数基础

    函数基础 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 为什么使用函数:减少重复代码.使程序变的可扩展使程序变得易维护 1.定义一个函数 #定 ...

  9. Python学习笔记之参数解析

    python提供了两种方法进行命令行的参数解析,分别是getopt和optparse类中的模块OptionParser,下面分别详细了解这两个模块: 1.getopt模块 首先复习C语言的命令行解析: ...

  10. python学习笔记 可变参数关键字参数**kw相关学习

    在Python中可以定义可变参数,顾名思义,可变参数就是传入参数是可变的.可以是任意个,以一个简单的数学编程为例,计算 sum = a * a + b * b + .....z * z 函数定义可以如 ...

随机推荐

  1. Django - 安装Ckeditor

    1. Ckedior.js CKEDITOR.editorConfig = function( config ) { // config.filebrowserUploadUrl="/blo ...

  2. Oracle10g RAC 关闭及启动

    情况1: 保养数据库及操作系统,服务器,需要关闭DB(所有实例),OS 及Server . a. 首先停止Oracle10g 环境 $ lsnrctl stop (每个节点上停止监听,也可以用srvc ...

  3. 【Raspberry Pi】crontab 定时任务

    在linux上做定时任务一般用crond 两种方法上文已列,但昨天写的crond命令却一直都没有运行,上网查,有说是环境变量的,也有说是时间问题的,都改过,但还没有效. 今天再次认真读了一遍cront ...

  4. ext布局问题之tab panel内的gridpanel内容数据变多,出现滚动条

    1)解决之道: 1.修改tabPanel var tabs= new Ext.TabPanel({ border: false, region:'center', id:'center', activ ...

  5. AderTemplate

    http://www.cnblogs.com/kwklover/archive/2007/07/12/815509.html 概述 AderTemplate是一个小型的模板引擎.无论是拿来直接使用还是 ...

  6. Django项目实战 - 搜索功能(转)

    首先,前端已实现搜索功能页面, 我们直接写后台逻辑: Q()可以实现 逻辑或的判断,   name_ _ icontains 表示 name字段包含搜索的内容,i表示忽略大小写. from djang ...

  7. 修改MyEclipse内存

    Window --->   preferrences-->installed JREs :点击JDK修改argument为:-Xms512m -Xmx1024m -XX:PermSize= ...

  8. Hibernate中持久化类与持久化对象

    1.JavaBean类 JavaBean类是实体类,必须一下属性,private修饰的成员属性,public修饰的getter与setter访问方法,public修饰的空参构造器,实现Serializ ...

  9. box-sizing与calc()与flex

    1,Syntax: /* Keyword values */ box-sizing: content-box; box-sizing: border-box; /* Global values */ ...

  10. HDU4267(2012年长春站)

    这道题真的是好题,让我对线段树有了全新的认识,至少让我真正感受到了线段树的神奇. 题意是就是线段树区间更新,单点询问的问题,不过这个题好就好在它的区间更新的点并不连续! adding c to eac ...