day3-python的函数及参数

函数式编程最重要的是增强代码的重用性和可读性


1

2

3

4

def 函数名(参数):

    ...

    函数体

    ...


函数的定义主要有如下要点:

  • def:表示函数的关键字
  • 函数名:函数的名称,日后根据函数名调用函数
  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
  • 参数:为函数体提供数据
  • 返回值:当函数执行完毕后,可以给调用者返回数据。

以上要点中,比较重要有参数和返回值:

1、返回值

函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

def 发送短信():

     

    发送短信的代码...

 

    if 发送成功:

        return True

    else:

        return False

 

 

while True:

     

    # 每次执行发送短信函数,都会将返回值自动赋值给result

    # 之后,可以根据result来写日志,或重发等操作

 

    result = 发送短信()

    if result == False:

        记录日志,短信发送失败...


2.参数

函数的有三中不同的参数:

  • 普通参数
  • 默认参数
  • 动态参数


普通参数:

普通参数的传递并没有个数和数据类型的限制,可以传递字符串,数字,列表和字典。也不限定个数,需要注意的是:函数需要多少参数,调用的时候就要按照它定义时的顺序和数据类型传递过去。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

def argtest(name,age,fruit_lst,hobby_dic):

     print ‘Hello,me name is %s,i\‘m %d year\‘s old‘%(name,age)

     print ‘My favorite fruits are : %s‘%‘.‘.join(fruit_lst)

     print ‘My hobbies:‘ 5     for hobby in hobby_dic:

     print ‘\t%s‘%hobby_dic[hobby]

     lst = [‘www‘,‘biyao‘,‘com‘]

     dic = {‘hobby one‘:‘read‘,‘hobby two‘:‘sport‘}

     argtest(‘Bruce‘,18,lst,dic)

输出内容:

Hello,me name is Bruce,i‘m 18 year‘s old

My favorite fruits are : www.biayo.com

My hobbies:

 read

 sport

默认参数:
默认参数是给参数加上一个默认的值,但我们调用函数的时候,如果传递了这个参数,那么使用我们传递过来的值;如果不传则使用默认的值,默认参数可以有多个,但是必须放在所有参数的最后。当我们有多个默认参数的时候,调用函数的时候可以使用参数名指定其中的某一个参数,以保证参数能准确的传递给被调用的函数。


1

2

3

4

5

6

7

8

9

10

def argvtest(argv1,argv2 = ‘aaa‘,argv3 = ‘bbb‘):

    print ‘argv1:‘,argv1

    print ‘argv2:‘,argv2

    print ‘argv3:‘,argv3

    argvtest(‘a1‘,argv3 = ‘a2‘)

输出的内容:

argv1: a1

argv2: aaa

argv3: a2

?

动态参数:
def func(*args) 接受多个参数,内部自动构造元组,序列前加*,避免内部构造元组
def func(**kwargs) 接收多个参数,内部自动构造字典,序列前加**,直接传递字典
def func(*args,**kwargs):接受多个参数,既可以自动构造元组,又可以自动构造字典。

下图从左至右展示了自动构造元组,自动构造字典及前两者综合的参数传递方式:

来源: http://www.cnblogs.com/Eva-J/p/4963028.html

来自为知笔记(Wiz)

时间: 2024-11-03 21:39:01

day3-python的函数及参数的相关文章

python 中函数的参数

一.python中的函数参数形式 python中函数一般有四种表现形式: 1.def function(arg1, arg2, arg3...) 这种是python中最常见的一中函数参数定义形式,函数参数之间用逗号分隔,调用的时候的参数必须与定义的时候相同,且参数顺序与形参一一对应. ? 1 2 3 4 5 6 7 8 9 def myfunction(a, b):     print a,b #正确调用 myfunction(3,7) #错误调用 myfunction(3) myfunctio

python把函数作为参数

python把函数作为参数 在2.1小节中,我们讲了高阶函数的概念,并编写了一个简单的高阶函数: def add(x,y,f): return f(x)+f(y)print add(-5,9,abs) >>> 14 根据函数的定义,函数执行的代码实际上是: abs(-5) + abs(9) 由于参数 x, y 和 f 都可以任意传入,如果 f 传入其他函数,就可以得到不同的返回值. 任务 利用add(x,y,f)函数,计算: 计算平方根可以用函数: >>> math.s

python进阶一(函数式编程)【2-1 python把函数作为参数】

2-1 python把函数作为参数 1 def add(x, y, f): 2 return f(x) + f(y) 如果传入abs作为参数f的值: 1 add(-5, 9, abs) 根据函数的定义,函数执行的代码实际上是: 1 abs(-5) + abs(9) 由于参数 x, y 和 f 都可以任意传入,如果 f 传入其他函数,就可以得到不同的返回值. 任务 利用add(x,y,f)函数,计算: 1 import math 2 3 def add(x , y , f): 4 return f

python之函数的参数

定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解. Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码. 位置参数 我们先写一个计算x2的函数: def power(x): return x * x 对于powe

C/C++ Python的函数默认参数

发现C/C++  Python的函数可以使用默认参数,来减少传参时候的参数个数. 但是:这样的默认参数最好是不变对象! #include <stdio.h> #include <string.h> void func_1(int id, char s[], char city[] = "Bejing") { printf("%d, %s, %s",id, s, city); } int main() { func_1(1, "李金旭

python学习——函数的参数

定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解. Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码. 位置参数 我们先写一个计算x2的函数: def power(x): return x * x 对于powe

python定义函数以及参数检查

(转自廖雪峰网站) 函数定义 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回. 我们以自定义一个求绝对值的my_abs函数为例: def my_abs(x): if x >= 0: return x else: return -x 请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回.因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑. 如果没有re

Python中函数的参数-arguments

归纳起来,Python中函数的定义形式和调用形式主要有如下几种形式: # 函数的定义形式 def func(name) # 匹配positional参数或者keyword参数 def func(name=value) # 如果不传,有默认参数 def func(*name) # 将额外的positional参数转换成一个tuple,然后赋给name def func(**name) # 将额外的keyword参数转换成一个dictionary,然后赋给name def func(*other,

day11.python的函数及参数

函数式编程最重要的是增强代码的重用性和可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算,如:发送邮件.计算出 [11,22,38,888,2]中的最大数等... 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 以上要点中,比较重要有参数和返回值: 1.返回值 函数是一个功能块,该功能到底执行成功与否,需要通过返

python的函数及参数

函数式编程最重要的是增强代码的重用性和可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算,如:发送邮件.计算出 [11,22,38,888,2]中的最大数等... 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 以上要点中,比较重要有参数和返回值: 1.返回值 函数是一个功能块,该功能到底执行成功与否,需要通过返