美文网首页
Python(三) 函数

Python(三) 函数

作者: 晓看云 | 来源:发表于2019-05-20 16:06 被阅读0次

目录 

1.函数

2.函数的定义规则

3.无参参数

4.有参参数

5.函数返回值

6.Pass&文档字符串

7.函数

8.lambda函数

9.常用函数

10.

一、函数

    1、函数:重用的程序段,允许给一块语句一个名称

    2、调用函数:在程序的任何地方使用这个名称,任意多次运行这个语句块

    3、内建函数:例如len和range

    4、通过改变函数的参数,可以最大程度的复用代码

二、函数的定义规则

    1、 def: 函数代码块以def关键字开头,后接函数表示符名和圆括号( );

    2、形参&实参:任何传入实参和形参必须放在圆括号中,圆括号中写的是形参;

    3、首行:函数的第一行语句可以选择性地使用文档字符串--用于存放函数说明;

    4、函数内容以冒号起始,并且函数体要有缩进;

    5、return[expression]结束函数,选择性返回一个值给调用者.不带表达式的return相当于返回None;

三、无参参数:无传入函数

   def sayHello( ):

        print 'Hello World!'

    sayHello( )

四、有参函数

    Python中的调用函数,使用的形参分如下几类:

    必备参数、命名参数、缺省参数、不定长参数

1.必备参数

(1)传递指定个数的必备参数

 f:def info(name,age,tel):

         print "name:"+name+",age:"+str(age)+",tel:"+tel

     info('jack',20,'13567867878')

(2)传不可变对象

一切皆对象,这里说的不可变对象指那些不可改变的数据类型,比如字符串、数字等.

(3)传可变对象

    Python传参相当于传值和传引用的一种综合.

     如果函数收到的是一个可变对象(比如字典或者列表)的参数,这个时候就是通过传"引用"来传递的参数。(其实,这种归根结底传的也是值,只不过是指向内存空间地址的值)

     如果函数收到的是一个不可变对象(比如数字、字符或者元组)的参数,这个时候就是通过"传值"来传递度对象,如果想改变原变量的值。可以将这些变量申明为全局变量。

    默认参数,必须指向不变对象。

    默认参数,函数应该检查参数类型

2.命名参数

    传参时命名参数必须在非命名参数的后面,否则就会报SyntaxError:non-keyword arg after keyword arg的错误。

3.缺省参数

    注意默认值必须要放到没有默认值参数的最后面,否则会报错。这因为赋给形参的值是根据位置而赋值的。

    某个函数有许多参数,其中也有多个默认参数值,而你只想指定其中的一部分,那么可通过命名来为这些参数赋值,此方式被称为关键参数赋值,使用名字进行赋值,而不是位置进行赋值。

4.不定长参数

五.函数返回值

1.函数返回值

    函数完成计算后,可以返回一个值或一个对象,函数执行完毕也没有return语句时,自动 return None.

2.函数返回多个值

Def func(a,b):

    Return a,b

Print func(10,20)

六.Pass&文档字符串

1.Pass

    在函数或者类中,使用Pass语句,表示一个空的语句块,仅作为占位,执行后并没有任何效果,可以用于定义待开发的函数和类。

    Def someFunction( ):

                pass

2.文档字符串

    DocStrings是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。

七.函数

1.raw_input和input函数的区别

    Input( )支持用户输入数字或者表达式,不支持输入字符串.返回的是数字类型的数值。而raw_input( )捕获的是最原始的输入,也就是返回的是一个字符串。

2.使用元组作为函数的参数

3.使用字典作为函数的参数

4.同时使用*和**的函数参数

八、lambda函数 匿名函数

(1)lambda语句被用来创建新的函数对象,并且在运行时返回它们。

(2)Python使用lambda关键字来创建匿名函数。这种函数得名于省略了用def声明函数的标准步骤

(3)lambda只是一个表达式,函数体比def简单的多。

(4)lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

(5)lambda函数拥有自己的名字空间,且不能访问自由参数列表之外全局名字空间里的参数。

(6)虽然lambda函数看起来只能写一行,却不等于C或C++的内联函数,后者额目的是调用函数时不占用栈内存从而增加运行效率

(7)像if或for或print等语句不能用于lambda中

(8)lambda函数不能共享给别的程序调用,def定义的函数可以

Demo

    g=lambda x:x+1        def g(x):

                                             Return x+1

    Print g(1)

    Print g(2)

九、常用函数

1.repr函数

repr函数用来取得对象的规范字符串表示。反引号(也成转换符)可以

按值传递,不可变元素

2.type函数 求证变量类型

3.map函数

将每个列表或者字符串都执行某个函数

Map无法处理seq长度不一致,对应位置操作数类型不一致的情况,这两种情况都会报类型错误。

4.fiter函数

Fiter( )函数可以对序列做过滤处理,就是说可以使用一个自动的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最终一次性返回过滤后的结果。

5.reduce函数

6.递归打印Fibonacci函数

7.Exec( )和eval( )的区别?

Exec( ) 有时可能会需要动态地创造Python代码,然后将其作为语句或作为表达式去执行。

exec语句用来执行存储在字符串或者文本中有效的Python语句。

Eval( )用来计算存储在字符串中的有效Python表达式,并返回计算结果。

Exec( )和eval( )都可以动态的执行存储在字符串或文本中的有效的Python语句没有返回值,而eval有返回值

7.range和xrange的区别?

range会直接生成一个list对象

xrange则不会直接生成一个list,而是每次调用返回其中的一个值[xrange返回的是一个生成器]

十.重载&函数引用

   1.Python函数为何没有重载?

(1)可变参数类型

(2)可变参数个数

    当两个函数除了参数类型和参数个数不同之外,其功能是完全相同的,此时才使用函数重载。如果两个函数的功能其实不同,那么不应当使用重载,而应当使用一个名字不同的函数。

情况一:函数功能相同,但是参数类型不同,Python如何处理?

    Python接受任何类型的函数,如果函数的功能相同,那么不同的参数类型在python中很可能是相同的代码,没有必要做成两个不同的函数。所以,根本不需要处理。

情况二:函数功能相同,但是参数个数不同,Python如何处理?

    缺省函数,对于缺少的参数设为缺省函数即可解决问题。

完成相同的功能。注意,在大多数时候有eval(repr(object))==object

2.函数的引用?

Demo1:引用函数

a =abs

Print a(-1)

Demo2:函数参数可以是函数

Def func(f):

    Print f(-1)

Func(abs)

相关文章

  • python strip()函数 去空格\n\r\t函数的用法

    python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括...

  • python--math模块

    Python Math 函数 必须 import math(算术函数,三角函数,双曲函数,幂函数和对数函数,复数...

  • python函数(三)

    内置函数 type()查看函数类型 int()整型 float()浮点型 star()字符串 max()最大值 m...

  • python函数(三)

    1、lambda匿名函数 可以快速定义单行的最小函数,可以用于任何地方 语法:lambda x,y:x*y(amb...

  • Python(三) 函数

    目录 1.函数 2.函数的定义规则 3.无参参数 4.有参参数 5.函数返回值 6.Pass&文档字符串 7.函数...

  • Python从入门到精通

    Python语法的三个阶段 Python基础语法函数是编程 Python进阶语法面向对象编程 Python高级语法...

  • wangyanhua--python2

    基本函数的使用 匿名函数 常用系统高阶函数 高阶函数 常用系统高阶函数 Python递归 安装第三方库 三国小说人...

  • Python - 2017/01/28-函数

    调用python内置函数 函数名(参数) 即可调用python内置函数 help(函数名) 返回python对于函...

  • Python获取网页里全部网址

    python读入写出python常用的读取文件函数有三种read()、readline()、readlines()...

  • python

    一、python基本变量 二、函数 三、文件I/O

网友评论

      本文标题:Python(三) 函数

      本文链接:https://www.haomeiwen.com/subject/ctikzqtx.html