Python基础(函数)

函数的使用是为了封装需要频繁使用的代码,避免重复编写。

一、函数的定义格式

def 函数名(参数):

函数代码

二、函数的参数

1、普通参数

函数取得的参数是你提供给函数的值,这样函数就可以利用这些值 做 一些事情。这些参数就像变量一样,只不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。

函数中的参数名称为形参 而提供给函数调用的值称为实参。

#!/usr/bin/env python

def printmax(a,b): #定义一个函数printmax(a,b),括号中的a和b为形参。

if a > b:

print a,‘is max‘

else:

print b,‘is max‘

printmax(5,4)

x = 51

y = 10

printmax(x,y) #括号中的x,y为实参,实参x的值赋给形参a,实参y的值赋给形参b

执行结果

5 is max

51 is max

2、默认参数

对于一些函数,你可能希望它的一些参数是 可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。

只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。

#!/usr/bin/env python

def say(message,time = 1): #定义time的默认值是1

print message * time

say(‘Hello‘)

say(‘World‘,2)

执行结果

Hello

WorldWorld

3、动态参数

当要使函数接收元组或字典形式的参数的时候,有一种特殊的方法,它分别使用*和**前缀。这种方法在函数需要获取可变数量的参数的时候特别有用。

def func(*arg): 参数的值可以是任意个(单值或元组或列表)。默认会把所有的参数组成一个元组,如果参数本身就是一个序列(元组或列表),可以使用加*号的方式来避免内部构造元组。

>>> def fun(*arg):

...     print arg

>>> fun(1,2,3)

(1, 2, 3)

>>> li=(1,2,3)

>>> fun(li) #传入参数是一个元组

((1, 2, 3),) #传入的整个元组参数变成新元组的一个元素

>>> fun(*li) #加*号

(1, 2, 3) #传入的元组参数不重构

def func2(**arg): 参数的值可以是任意个(格式必须都为key=value)。默认会把所有的参数组成一个字典,如果参数本身就是一个字典,可以使用加**号的方式来避免内部构造元组。

fun2(k1=123,k2=234)

{‘k2‘: 234, ‘k1‘: 123}

>>> dic={‘k2‘: 234, ‘k1‘: 123}

>>> fun2(**dic)

{‘k2‘: 234, ‘k1‘: 123}

def func(*args,**kwargs): 参数可以混用,表示可以接受单值、元组、列表、字典格式的参数。

三、lambda表达式

lambda表达式是一个简单的函数速写,实现简单的逻辑,并且自动return结果。

func = lambda arg1,arg2:arg1+arg2

等于

def func(arg1,arg2):

return arg1+arg2

四、内置函数

map(): 遍历序列,对序列中每个元素进行操作,最终获取新的序列

例:两个列表元素相加

>>> l=[1,2,3]

>>> l2=[4,5,6]

>>> func=lambda a1,a2:a1+a2

>>> map(func,l,l2)

[5, 7, 9]

filter(): 对于序列中的元素进行筛选,最终获取符合条件的序列

>>> li=[11,22,33]

>>> print filter(lambda a:a>11,li)

[22, 33]

reduce(): 对序列中的元素进行累计操作。最终获取新的序列

>>> li=[11,22,33]

>>> print reduce(lambda a1,a2:a1+a2,li)

66

时间: 2024-11-06 23:23:47

Python基础(函数)的相关文章

python基础——函数对象和闭包

关于函数对象和闭包 闭包(closure)是函数式编程的重要的语法结构.不同的语言实现闭包的方式不同.Python以函数对象为基础,为闭包这一语法结构提供支持的 (我们在特殊方法与多范式中,已经多次看到Python使用对象来实现一些特殊的语法).Python一切皆对象,函数这一语法结构也是一个对象.在函数对象中,我们像使用一个普通对象一样使用函数对象,比如更改函数对象的名字,或者将函数对象作为参数进行传递. 一.函数对象: 1.函数可以当参数传递 示例: #把函数当成参数传递 def foo()

python基础-函数_递归_内置函数

一 数学定义的函数与python中的函数 二 为何使用函数 背景提要 三 函数和过程 四 函数参数 五 局部变量与全局变量 六 前向引用之'函数即变量' 七 嵌套函数 八 递归 九 匿名函数 十 函数式编程 十一 内置函数 十二 本节作业 一.数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因变量,y是x的函数.自变量x的取值范围叫做这个函数的定义域

Python 全栈开发四 python基础 函数

一.函数的基本语法和特性 函数的定义 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的.函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. python中函数的分类 内置函数 自定义函数 特性: 减少重复代码 使程序有更好的扩展性 让程序更容易维护 定义一个函数 你可以定义一个由自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆

python基础函数、方法

python的函数和方法,通过def 定义: 函数的特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 函数和方法的区别:函数有返回值.方法没有 语法定义: def sayhi():#函数名 print("Hello, I'm nobody!") sayhi() #调用函数 可以带参数 #下面这段代码 a,b = 5,8 c = a**b print(c) #改成用函数写 def calc(x,y): res = x**y return res #返回函数执行结果 c = cal

Python基础函数、递归、内置函数

一.数学定义中的函数与Python中的函数 初中数学定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定值,y都有唯一确定的值与之对应,那么我们就把x称为自变量,把y称为因变量,与是x的函数.自变量x的取值范围叫做这个函数的定义域. 例如:y=2*x python中函数的定义:函数是逻辑结构化和过程化的一种编程方法. # Python中函数定义方法 def test(x): "the function definitions" x+=1 return x def

python基础 函数定义 返回值 参数

函数定义 1 #python中函数定义.def函数定义的关键字,fun1函数名,x为函数的形参可以有多个,多个之间用“,”隔开:return 函数返回值的关键字,python中return可以是非必要 2 def fun1(x): 3 x += 1 4 return x 函数返回值 1 # 函数返回值可以有多个,之间使用“’”分隔,返回值讲多个值组成的元组进行返回. 当无return时python会隐式return “None”,如果只返回一个值就返回这个值本身 2 def fun2(x, y)

Python基础(函数部分)-day04

写在前面 上课第四天,打卡: 加勒比海盗今天上映:端午节公司发的粽子很有范! 一.函数的基本概念 - 函数是什么?  函数,就是一个'锤子',一个具有特定功能的'锤子',使用者可以在适当的时候使用这个'锤子',而不用再去从头做一个'锤子':即可以直接拿来使用: 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. - 不使用函数会有什么问题? 1.组织结构不清晰,可读性差: 2.代码冗余: 3.无法统一管理且维护难度大: - 函数的分类

python基础-------函数

一 为何要有函数?不加区分地将所有功能的代码垒到一起, 问题是: 代码可读性差 代码冗余 代码可扩展差 如何解决?函数即工具,事先准备工具的过程是定义函数,拿来就用指的就是函数调用 结论:函数使用必须是:先定义,后调用 二:函数的分类 1.内置函数:built-in 2.自定义函数: def 函数名(参数1,参数2,...): '''注释''' 函数体 三:函数的返回值 返回值:可以返回任意类型没有return:Nonereturn value: valuereturn val1,val2,va

python 基础--函数

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

Python基础函数

函数命名规则: 与变量一样,参考python的官方推荐的命名格式:function_name.小写+下划线 必备参数:必须传参数,可以在调用时赋值. 默认参数:参数可传可不传.不传参,就是默认值:传了参就覆盖.参数名要相同!(例如:step是个默认参数) 可选参数:中括号表示.(例如之前:[,stop]就是可选) 传入参数的是元组,没传入参数是空元组. 关键字参数:定义的时候跟必备参数样子长得一样.使用关键字参数调用函数时,参数的顺序可以与声明时的不一样,Python解释器能用参数名匹配参数值.