python笔记04函数

加了星号(*)的变量args会存放所有未命名的变量参数,args为元组;而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典。

>>> def fun(a, b, *args, **kwargs):
...     """可变参数演示示例"""
...     print "a =", a
...     print "b =", b
...     print "args =", args
...     print "kwargs: "
...     for key, value in kwargs.items():
...         print key, "=", value
...
>>> fun(1, 2, 3, 4, 5, m=6, n=7, p=8)  # 注意传递的参数对应
a = 1
b = 2
args = (3, 4, 5)
kwargs:
p = 8
m = 6
n = 7
>>>
>>>
>>>
>>> c = (3, 4, 5)
>>> d = {"m":6, "n":7, "p":8}
>>> fun(1, 2, *c, **d)    # 注意元组与字典的传参方式
a = 1
b = 2
args = (3, 4, 5)
kwargs:
p = 8
m = 6
n = 7

2.阶乘  递归函数


对于简单的函数,也存在一种简便的表示方式,即:lambda表达式

# ###################### 普通函数 ######################

# 定义函数(普通方式)

def func(arg):

    return arg + 1

 

# 执行函数

result = func(123)

 

# ###################### lambda ######################

 

# 定义函数(lambda表达式)

my_lambda = lambda arg : arg + 1

 

# 执行函数

result = my_lambda(123)



原文地址:https://www.cnblogs.com/xubing111/p/8965215.html

时间: 2024-11-01 11:45:21

python笔记04函数的相关文章

Python进阶04 函数的参数对应

Python进阶04 函数的参数对应 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经接触过函数(function)的参数(arguments)传递.当时我们根据位置,传递对应的参数.我们将接触更多的参数传递方式. 回忆一下位置传递: def f(a,b,c): return a+b+c print(f(1,2,3)) 在调用f时,1,2,3根据位置分别传递给了a,b,c. 关键字传递 有些情况下,用位置传递会感觉比较

python笔记4 - 函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这被叫做用户自定义函数. 定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明. 函数

python笔记--自定义函数

函数 函数是把一些负载的代码封装起来,需要的时候直接调用,重复利用提高效率并且能够简化程序的结构. 1.语法 定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数.冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. def functionName(parms1, parms2, ...):     code block     return expression 2.函数的定义与调用 #定义函数 >>> def func1():         pri

python笔记04:字典

4.1 字典的使用 字典:通过名字来引用值的数据结构,又称为映射 字典中的值并没有特殊的顺序,但是都存储在一个特定的键下 字典提供的功能:快速查找特定键值对应关系 某些情况下,字典比列表更好用一些,比如: 1.标识一个游戏期盼的状态,每个键都是由坐标值组成的元组 2.存储文件修改时间,用文件名作为键 3.数字电话.地址簿 问题:为什么用字符串而不用整数来表示电话号码? 为了防止产生误识别 4.2 创建和使用字典 phonebook = {'Alice':1567,'Beth':'3657','C

[python 笔记3]函数(方法?)

1.定义 python函数以关键字def标识 def test(name): print 'hello %s'%(name) name=raw_input('please input your name: ') test(name) PS:在python中代码块以缩紧的方式进行标识,所以缩进对齐的语句为一个代码块,这比像C++\java使用{}进行标识的方法方便不少,但是也对一些代码对齐不规范的同学带来一些麻烦 def 函数名(参数列表): 函数体 2.参数列表 python在函数中的参数与C+

MIT公开课:计算机科学及编程导论 Python 笔记4 函数分解抽象与递归

Lecture4:Decomposition and abstraction through functions:introduction to recursion 函数分解抽象与递归 Functions 函数 block up into modules 分解为模块 suppress detail 忽略细节 create "new primitives" 创建原语的思考方式 w3school Python函数 #example code for finding square roots

Python进阶04函数的参数对应

我们已经接触过函数(function)的参数(arguments)传递.当时我们根据位置,传递对应的参数.我们将接触更多的 参数传递方式. 回忆一下位置传递: def f(a,b,c): return a+b+c print(f(1,2,3)) 在调用f时,1,2,3 根据位置分别传递了 a,b,c 关键字传递 有些情况下,用位置传递会感觉比较死板.关键字(keyword)传递是根据每个参数的名字传递参数.关键字并不用遵守 位置的对应关系,依然沿用上面f的定义,要该调用方式: print(f(c

python笔记-lambda函数、sorted函数、map函数

1.lambda函数:又称匿名函数,示例如下: def f(x): return x**2 print f(4)  #16 g = lambda x:x**2 print g(4)  #16 2.map函数 print map(lambda x:x**2,range(10)) #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] 3.sorted函数 dict = {9:2,4:3,6:9,'a':'test','e':'fff','*':'$'} print sorted

python笔记006——函数

函数基础 计算字符串中某字符个数 1 def countsubstring(s,ch): #s和ch为形参 2 c=0 3 i=0 4 while i<len(s): 5 if s[i]==ch: 6 c +=1 7 i +=1 8 print(c) 9 str='wujiadongjiangruisuirsuiuigjsjsiuisldjsjeuiui' 10 m=‘i’ 11 countsubstring(s,m) #调用函数传入的参数str和m为实参 计算子串sub个数 1 def cou