Python函数之简单总结

函数的定义

Python的函数定义使用关键字def,如定义一个返回绝对值的函数my_abs


1

2

3

4

5


def my_abs(x):

    if x>=0:

        return x

    else:

        return -x

函数调用

参数错误

如果在调用函数时,传给函数的参数增多或减少,python解释器都会检查出来

TypeError:提示my_abs()只需一个参数,但是调用时给了两个

虽然python解释器能检查到参数个数的变化,但当给函数一个非法类型的参数时,就无法准确检测到

解释器虽然给出了错误,但是没有定义具体是哪种错误

参数类型检查

python提供了内置函数isinstance()来判断参数的数据类型


1

2

3

4

5

6

7


def my_abs(x):

    if not isinstance(x, (intfloat)):

        raise TypeError(‘wrong type......‘)

    if x >= 0:

        return x

    else:

        return -x

改写了my_abs函数后,如果传参不是int或float类型,则会报错并给出错误信息‘wrong type‘

函数的参数

python的函数定义虽然相对简单,但是参数种类非常灵活。如正常的必须参数,还有默认参数、可变参数以及关键字参数

位置参数

即必须参数,在传参时按照函数定义的顺序赋给函数


1

2

3

4

5

6


def power(x, n):

    = 1

    while n > 0:

        = - 1

        = * x

    return s

定义一个函数power()来求x的n次方,在调用时根据函数定义的顺序传参。不同的位置顺序得到不同的结果

默认参数

同其他编程语言一样,python在定义函数时可通过设置默认参数来避免因某些参数没有传入而导致的错误

如power(x, n),如果没有传入参数n则会引起错误

解释器提示power()缺少一个必须的参数n。来使用默认参数来改进一下power函数


1

2

3

4

5

6


def power(x, n=2):

    = 1

    while n > 0:

        = - 1

        = * x

    return s

两种形式的函数调用都能正常运行,这正是因为默认函数的作用。当参数都给全时,函数按照给定的参数进行运算;当参数n未传入时,函数按照设置的默认参数进行运算

可变参数

可变参数即参数的个数是可变的,在定义函数时,无需一个一个的给定


1

2

3

4

5


def add(*numbers):

    sum = 0

    for in numbers:

        sum = sum + n

    return sum

定义一个add函数用来计算参数的和

通过可变参数,我们可以传入任意个参数来调用函数进行运算

关键字参数

不同于可变参数,关键字参数允许传入0或任意个含参数名的参数,这些关键字参数在函数内部自动组合成dict


1

2


def student(name, age, **args):

    print(‘name: ‘, name, ‘age: ‘, age, ‘other: ‘, args)

**args:代表传入的是关键字参数

命名关键字参数

上述student函数可以接收除name,age外的任意参数,但是如果需要限制接收的参数就要用到命名关键字参数

假设对于student信息还只需要一个city信息,可以改写student函数如下


1

2


def student(name, age, *, city):

    print(name, age, city)

运行结果如下

命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错

函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了,如


1

2


def student(name, age, *args, city):

    print(name, age, args, city)

  

时间: 2024-11-04 20:32:04

Python函数之简单总结的相关文章

python内置函数的简单使用和介绍

"""内置函数的简单使用和介绍参考链接:https://docs.python.org/3/library/functions.html """1.abs() # 绝对值""" n = abs(-10) print (n) # 10 """2.all() # 全为真,输出Ture , 则输出Flaseany() # 只要有真,输出Ture,则输出Flase 0,None,"&q

python简单学------------python函数

如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数 函数定义和调用 <1>定义函数 定义函数的格式如下: def 函数名(): 代码 demo: # 定义一个函数,能够完成打印信息的功能 def printInfo(): print '------------------------------------' print ' 人生苦短,我用Python' print '------------------------

浅析python函数

慢慢的开始进入状态啦,被明老师说我什么都不会后我觉得是该反思下自己这个学期的学习了,虽然我对实验没有很大的兴趣,但是既然名老师要求我开始做实验,我就跟着小丹师姐好好学学,用Tanger师兄的话来说就是:做实验有利于你理解生物信息学数据处理的原理,也许有一天,未来做生物信息的学弟学妹会看到这段话,就像我在码迷上看到free_mao的博文一样,生物信息还是基于生物的,生物原理必须要理解,不然和做计算机有什么区别呢?以前对书本的知识不够重视,语言的学习进度很缓慢,现在希望能分享一些学习心得体会给大家,

python之simplejson,Python版的简单、 快速、 可扩展 JSON 编码器/解码器

python之simplejson,Python版的简单. 快速. 可扩展 JSON 编码器/解码器 simplejson Python版的简单. 快速. 可扩展 JSON 编码器/解码器 编码基本的 Python 对象层次结构: import simplejson as json print json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) print json.dumps("\"foo\bar") print json

python函数

python函数学习 1. 概述: 函数是重用的程序段,用关键字def来定义,可以任意多次地运行这个语句块,被称为调用函数.Python提供了许多内建函数,比如print(),也可以自己创建函数,这被叫做用户自定义函数,函数能提高应用的模块性,和代码的重复利用率. 2.函数语法: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明. 函数内容以冒号起

Python 函数对象 命名空间与作用域 闭包函数 装饰器 迭代器 内置函数

一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First-Class Object)呢? 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的. 1.函数身为一个对象,拥有对象模型的三个通用属性:id.类型.和值.

如何用python写一个简单的find命令

对一个运维来说可能会经常去查找目录下的一些文件是否存在,最常用的就是find命令,它不仅可以查找文件也可以查找目录,find命令用法 查找文件 [[email protected] opt]# find /usr/ -type f -name df /usr/bin/df 查找目录 [[email protected] opt]# find /usr/ -type d -name python /usr/share/gcc-4.8.2/python 现在就讲一些如何用python实现这个简单功能

Python 3.X 调用多线程C模块,并在C模块中回调python函数的示例

由于最近在做一个C++面向Python的API封装项目,因此需要用到C扩展Python的相关知识.在此进行简要的总结. 此篇示例分为三部分.第一部分展示了如何用C在Windows中进行多线程编程:第二部分将第一部分的示例进行扩展,展示了如何在python中调用多线程的C模块:第三部分扩展了第二部分,增加了在C模块的线程中回调python的演示. 本文所用的环境为:64位Win7 + python 3.4 x86 + vs2010 一.windows下的C语言多线程程序 windows下多线程编程

《Python入门》第一个Python Web程序——简单的Web服务器

上一篇讲了<Python入门>Windows 7下Python Web开发环境搭建笔记,接下来讲一下Python语言Web服务的具体实现:第一个Python Web程序--简单的Web服务器. 与其它Web后端语言不同,Python语言需要自己编写Web服务器. 如果你使用一些现有的框架的话,可以省略这一步: 如果你使用Python CGI编程的话,也可以省略这一步: 用Python建立最简单的web服务器 利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录