python 函数

函数的定义

函数最重要的目的是方便我们重复使用相同的一段程序。

将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。

创建函数

def 函数名 (参数列表) 
函数体

例如:

def sum1(a,b):
c = a + b
return c
e=1
f=2
print (sum1(e,f))

首先def 是定义函数名 sum1是函数名 
括号中的a, b是函数的参数,是对函数的输入。参数可以有多个,也可以完全没有(但括号要保留)。 
c = a + b 函数体的内部运算 
return c # 返回c的值,也就是输出的功能。Python的函数允许不返回值,也就是不用return。 
print (sum1(e,f)) 调用函数并进行打印

形参和实参

形参:虚拟变量,在定义函数和函数体的时候使用形参。目的是在函数调用时接收实参,实参个数、类型要与形参一一对应。 
实参:调用函数时传给函数的参数。可以是常量、变量、表达式、函数。

def print_twice(bruce): 
print bruce 
print bruce #python 函数返回值可以用return 
这个函数的作用是:在调用的时候会把实参的值,给形参bruce,并将其输出2次。

默认参数

定义函数时,设定默认参数。当调用函数时,缺省参数如果没有值传入,则使用默认参数设定的值。

def a(x = []):
    print(id(x))
    x.append(1)
    print(x)
    print(id(x))
b=[1,2,3]
a(b)
2157718614216
[1, 2, 3, 1]
2157718614216

不定长参数

def it(*args):
    print(args,type(args))
b={‘a‘:‘1‘,‘b‘:‘[1,2,3]‘}
it(b)
({‘a‘: ‘1‘, ‘b‘: ‘[1,2,3]‘},) <class ‘tuple‘>

两个**动态参数

def it(**kargs):
    print(kargs,type(kargs))
b={‘a‘:‘1‘,‘b‘:‘[1,2,3]‘}
it(c=b,d=b)
{‘c‘: {‘a‘: ‘1‘, ‘b‘: ‘[1,2,3]‘}, ‘d‘: {‘a‘: ‘1‘, ‘b‘: ‘[1,2,3]‘}} <class ‘dict‘>

一个的动态参数会将输入转换成元组 
两个*
的动态参数会将输入转换成字典,传参的时候要‘k‘:‘v‘的方式传输。

注意区别

def show(*arg,**xukq):
    print(arg,type(arg))
    print(xukq,type(xukq))
l = [1,2,3]
d = {‘a‘:‘333‘,‘b‘:‘iteemo‘}
show(*l,d)
输出:
(1, 2, 3, {‘a‘: ‘333‘, ‘b‘: ‘iteemo‘}) <class ‘tuple‘>
{} <class ‘dict‘>
def show(*arg,**xukq):
    print(arg,type(arg))
    print(xukq,type(xukq))
l = [1,2,3]
d = {‘a‘:‘333‘,‘b‘:‘iteemo‘}
show(l,d)
输出:
(1, 2, 3, {‘a‘: ‘333‘, ‘b‘: ‘iteemo‘}) <class ‘tuple‘>
{} <class ‘dict‘>
def show(*arg,**xukq):
    print(arg,type(arg))
    print(xukq,type(xukq))
l = [1,2,3]
d = {‘a‘:‘333‘,‘b‘:‘iteemo‘}
show(*l,**d)
输出:
(1, 2, 3) <class ‘tuple‘>
{‘a‘: ‘333‘, ‘b‘: ‘iteemo‘} <class ‘dict‘>

return

return的作用:

(1)结束函数

(2)返回某个对象

注意点:

如果不加return,默认返回None。

如果return有个对象,那么会将多个对象封装成一个元组。

遇到return语句,就会停止执行并返回结果。

局部变量

你在函数定义中声明的变量,他们与在函数外使用的其它同名变量没有任何关系,即变量名称对函数来说是局部的。这叫变量的范围。所有变量都有它们被声明的块的范围,从名称定义的点开始。

x = 50
def func(x):
    print(‘x等于‘, x)
    x = 2
    print(‘局部变量x改变为‘, x)
func(x)
print(‘x一直是‘, x)
x等于 50
局部变量x改变为 2
x一直是 50

global 声明全局变量

x = 50
def func():
    global x
    print(‘x的值是‘, x)
    x = 2
    print(‘全局变量x改为‘, x)
func()
print(‘x的值是‘, x)
x的值是 50
全局变量x改为 2
x的值是 2

内置函数

lambda

lambda作为一个表达式,定义了一个匿名函数例子:

def funb(a):
    b = a + 1
    return b
c = funb(4)
print(c)
func = lambda a:a+1
ret =func(99)
print(ret)
5
100

map函数

它接收一个函数和一个 list,并通过把函数依次作用在 list 的每个元素上,得到一个新的 list 并返回。

>>> li = [1,2,3,4]
>>> new_li = map(lambda x:x*10,li)
>>> print(new_li)
[10, 20, 30, 40]
>>> li = [1,2,3,4]
>>> def funa(x):
...     return x*10
...
>>> new_li2 = map(funa,li)
>>> print(new_li2)
[10, 20, 30, 40]

filter

和map()类似,filter()也接收一个函数和一个list。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

>>> li = [1,2,3,4]
>>> def funb(x):
...     if x > 2:
...             return True
...     else:
...             return False
...
>>> new_li = filter(funb,li)
>>> print(new_li)
[3, 4]
时间: 2024-10-01 05:07:10

python 函数的相关文章

浅析python函数

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

python函数

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

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

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

Python 五、Python函数

一.函数概述 1.函数的基础概念 函数是python为了代码最大程度地重用和最小化代码冗余而提供的基础程序结构. 函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件 函数用于将相关功能打包并参数化 在python中可以创建4种函数: 全局函数:定义在模块中 局部函数:嵌套于其它函数中 lambda(匿名)函数:仅是一个表达式 方法:与特定数据类型关联的函数,并且只能与数据类型关联一起使用 函数和过程的联系:每个Python函数都有一个返回值,默认为None,也可以使用"return

六、Python函数

Python函数 一.函数 函数就是完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字 可以通过函数名在程序的不同的地方多次执行(这通常叫做函数调用),却不需要在所有地方都重复编写这些语句 自定义函数和预定义函数 函数作用:降低编程的难度.代码重用 当我们自己定义一个函数时,通常使用def语句 def 函数名(参数列表): #可以没有参数 函数体 #!/usr/bin/python a = int(raw_input("please enter a number:&quo

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的过程就是函数,因为在函数中如果没有显式return返回值的话,解释器会隐式地返回默认值None. 1.函数定义 def foo([argument-list]): "function_document_string" foo

Python函数信息

Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pass 2 3 >>> a=yes 4 >>> a.func_name 5 'yes' 6 >>> 2.获取函数的flags[后面有用,先说这个] [python docs]:The following flag bits are defined for c

Python函数以及函数式编程

本文和大家分享的主要是python 函数及函数式编程相关内容,一起来看看吧,希望对大家 学习python有所帮助. 函数基本语法及特性 定义 数学函数定义: 一般的,在一个变化过程中,如果有两个变量 x 和 y ,并且对于 x 的每一 个确定的值, y都有唯一确定的值与其对应,那么我们就把 x 称为自变量,把 y 称为因变 量, y 是 x 的函数.自变量 x 的取值范围叫做这个函数的定义域. 但编程中的「函数」概念,与数学中的函数是有很  同的  函数是逻辑结构化和过程化的一种编程方法 函数的